|
@@ -0,0 +1,587 @@
|
|
|
+package models
|
|
|
+
|
|
|
+import (
|
|
|
+ "bytes"
|
|
|
+ "fmt"
|
|
|
+ "github.com/jinzhu/gorm"
|
|
|
+ "gopkg"
|
|
|
+ "lzyd-user-api/common"
|
|
|
+ "math/rand"
|
|
|
+ "strconv"
|
|
|
+ "time"
|
|
|
+)
|
|
|
+
|
|
|
+/**
|
|
|
+修改用户信息请求参数
|
|
|
+*/
|
|
|
+type UpdateProfileReq struct {
|
|
|
+ UserId string `json:"user_id"` // 用户代码
|
|
|
+ UserName string `json:"username"` // 会员昵称
|
|
|
+ Birthday string `json:"birthday"` // 生日
|
|
|
+ Height int `json:"height,omitempty"` // 用户身高
|
|
|
+ Weight int `json:"weight,omitempty"` // 用户体重
|
|
|
+ Gender int `json:"gender,omitempty"` // 性别
|
|
|
+ Area string `json:"area"` // 地区
|
|
|
+ UserAvatar string `json:"user_avatar"` // 地区
|
|
|
+}
|
|
|
+
|
|
|
+type UserRelationResp struct {
|
|
|
+ AttentionUserId string `json:"attention_user_id" gorm:"column:attention_user_id"`
|
|
|
+}
|
|
|
+
|
|
|
+type TaskList struct {
|
|
|
+ TaskId string `json:"task_id" gorm:"column:task_id"`
|
|
|
+}
|
|
|
+
|
|
|
+/**
|
|
|
+修改用户头像请求参数
|
|
|
+*/
|
|
|
+type UpdateAvatarReq struct {
|
|
|
+ UserId string `json:"user_id"` // 用户代码
|
|
|
+ UserAvatar string `json:"user_avatar"` // 头像
|
|
|
+}
|
|
|
+
|
|
|
+/**
|
|
|
+上传身份证图片请求参数
|
|
|
+*/
|
|
|
+type EditCardReq struct {
|
|
|
+ UserCode string `json:"user_code"` // 用户代码
|
|
|
+ CardId string `json:"card_id"` // 身份证号码
|
|
|
+ CardFront string `json:"card_front"` // 身份证正面照
|
|
|
+ CardBack string `json:"card_back"` // 身份证反面照
|
|
|
+}
|
|
|
+
|
|
|
+/**
|
|
|
+修改用户密码请求参数
|
|
|
+*/
|
|
|
+type UpdatePwdReq struct {
|
|
|
+ UserCode string `json:"user_code"` // 用户代码
|
|
|
+ OldPwd string `json:"old_pwd"` // 旧密码
|
|
|
+ NewPwd string `json:"new_pwd"` // 新密码
|
|
|
+}
|
|
|
+
|
|
|
+/**
|
|
|
+修改绑定手机号请求参数
|
|
|
+*/
|
|
|
+type UpdateMobileReq struct {
|
|
|
+ UserCode string `json:"user_code"` // 用户代码
|
|
|
+ OldMobile string `json:"old_mobile"` // 旧的手机号码
|
|
|
+ NewMobile string `json:"new_mobile"` // 需要绑定的手机号
|
|
|
+ ValidCode string `json:"valid_code"` // 手机验证码
|
|
|
+}
|
|
|
+
|
|
|
+/**
|
|
|
+验证手机号请求参数
|
|
|
+*/
|
|
|
+type ValidMobileReq struct {
|
|
|
+ Mobile string `json:"mobile"` // 手机号码
|
|
|
+ ValidCode string `json:"valid_code"` // 手机验证码
|
|
|
+}
|
|
|
+
|
|
|
+
|
|
|
+type YuedongCode struct {
|
|
|
+ YuedongId string `gorm:"yuedong_id:id;" json:"yuedong_id"` // 悦动id
|
|
|
+}
|
|
|
+
|
|
|
+/**
|
|
|
+获取黑白名单请求参数
|
|
|
+*/
|
|
|
+type GetBlackListReq struct {
|
|
|
+ UserId string `json:"user_id"` // 用户ID
|
|
|
+ Type int `json:"type"` // 类型
|
|
|
+}
|
|
|
+
|
|
|
+/**
|
|
|
+绑定微信请求参数
|
|
|
+*/
|
|
|
+type BindOpenIdReq struct {
|
|
|
+ UserId string `json:"user_id"` // 用户代码
|
|
|
+ OpenID string `json:"open_id"` // 微信号码
|
|
|
+ BindType int `json:"bind_type"` // 绑定类型(10=微信,11=QQ,12=微博)
|
|
|
+}
|
|
|
+
|
|
|
+/**
|
|
|
+获取黑名单列表
|
|
|
+*/
|
|
|
+type BlackListReq struct {
|
|
|
+ UserId string `json:"user_id"` // 用户代码
|
|
|
+ UserAvatar string `json:"user_avatar"` // 用户头像
|
|
|
+ Username string `json:"username"` // 用户昵称
|
|
|
+ FansNum int `json:"fans_num"` // 用户粉丝数
|
|
|
+ VideosNum int `json:"videos_num"` // 用户粉丝数
|
|
|
+}
|
|
|
+
|
|
|
+/**
|
|
|
+获取黑名单列表
|
|
|
+*/
|
|
|
+type VideoListReq struct {
|
|
|
+ UserId string `json:"user_id"` // 用户代码
|
|
|
+}
|
|
|
+
|
|
|
+/**
|
|
|
+获取黑名单信息
|
|
|
+*/
|
|
|
+type BlackListResp struct {
|
|
|
+ UserId string `json:"user_code"` // 用户代码
|
|
|
+ UserAvatar string `json:"user_avatar"` // 用户头像
|
|
|
+ UserName string `json:"user_name"` // 用户昵称
|
|
|
+}
|
|
|
+
|
|
|
+/**
|
|
|
+客户信息
|
|
|
+*/
|
|
|
+type UserResp struct {
|
|
|
+ Id int64 `gorm:"column:id;primary_key;auto_increment" json:"id"` //自增ID
|
|
|
+ UserId string `gorm:"column:user_id" json:"user_id"` //用户ID
|
|
|
+ UserName string `gorm:"column:username" json:"username"` //昵称
|
|
|
+ Password string `gorm:"column:password" json:"password"`//密码
|
|
|
+ RealName string `gorm:"column:real_name" json:"real_name"`//真实姓名
|
|
|
+ UserAvatar string `gorm:"column:user_avatar" json:"user_avatar"`//头像
|
|
|
+ MobilePhone string `gorm:"column:mobile_phone" json:"mobile_phone"`//手机号
|
|
|
+ Gender int `gorm:"column:gender" json:"gender"`//性别
|
|
|
+ Height int `gorm:"column:hieght" json:"height"`//身高
|
|
|
+ Weight int `gorm:"column:weight" json:"weight"`//体重
|
|
|
+ Birthday string `gorm:"column:birthday" json:"birthday"`//生日
|
|
|
+ Address string `gorm:"column:address" json:"address"`//详细地址
|
|
|
+ Area string `gorm:"column:area" json:"area"`//地区
|
|
|
+ QrCode string `gorm:"column:qr_code" json:"qr_code"` //二维码
|
|
|
+ UserGrade string `gorm:"column:user_grade" json:"user_grade"`//排位赛等级
|
|
|
+ LoginTime string `gorm:"column:login_time" json:"login_time"`//登录时间
|
|
|
+ RegisterTime string `gorm:"column:register_time" json:"register_time"`//注册时间
|
|
|
+ LikeNum int64 `gorm:"column:like_num" json:"like_num"`//点赞数
|
|
|
+ FansNum int64 `gorm:"column:fans_num" json:"fans_num"`//粉丝数
|
|
|
+ AttenNum int64 `gorm:"column:atten_num" json:"atten_num"`//关注数
|
|
|
+ TotalDistance int `gorm:"column:total_distance" json:"total_distance"`//总公里数
|
|
|
+ TimesMarathon int `gorm:"column:times_marathon" json:"times_marathon"`//马拉松场次
|
|
|
+ TimesQualifier int `gorm:"column:times_qualifier" json:"times_qualifier"`//排位赛场次
|
|
|
+ CreateTime string `gorm:"column:create_time" json:"create_time"`//创建时间
|
|
|
+ UpdateTime string `gorm:"column:update_time" json:"update_time"`//更新时间
|
|
|
+ IsDelete int64 `gorm:"column:is_delete" json:"is_delete"`//是否删除
|
|
|
+ Status int64 `gorm:"column:status" json:"status"`//账号状态
|
|
|
+ UserPoint int64 `gorm:"column:user_point" json:"user_point"`//积分
|
|
|
+ Role int64 `gorm:"column:role" json:"role"`//账号类型
|
|
|
+ UserMoney int64 `gorm:"column:user_money" json:"user_money"`//账号余额
|
|
|
+ LoginType int64 `gorm:"column:login_type" json:"login_type"`//登录方式
|
|
|
+ AppId string `gorm:"column:app_id" json:"app_id"`//appid
|
|
|
+}
|
|
|
+
|
|
|
+type UserUpload struct {
|
|
|
+ UserName string `gorm:"column:username" json:"username"` //昵称
|
|
|
+ UserAvatar string `gorm:"column:user_avatar" json:"user_avatar"`//头像
|
|
|
+ Gender int `gorm:"column:gender" json:"gender"`//性别
|
|
|
+ Height int `gorm:"column:hieght" json:"height"`//身高
|
|
|
+ Weight int `gorm:"column:weight" json:"weight"`//体重
|
|
|
+ Birthday string `gorm:"column:birthday" json:"birthday"`//生日
|
|
|
+ Area string `gorm:"column:area" json:"area"`//地区
|
|
|
+}
|
|
|
+
|
|
|
+/// 用于插入user_info表中的数据
|
|
|
+type UserInfo struct {
|
|
|
+ Id int64 `gorm:"column:id;primary_key;auto_increment" json:"id"` //自增ID
|
|
|
+ UserId string `gorm:"column:user_id" json:"user_id"` //用户ID
|
|
|
+ YuedongId string `gorm:"column:yuedong_id" json:"yuedong_id"` //用户ID
|
|
|
+ UserName string `gorm:"column:username" json:"username"` //昵称
|
|
|
+ Password string `gorm:"column:password" json:"password"`//密码
|
|
|
+ RealName string `gorm:"column:real_name" json:"real_name"`//真实姓名
|
|
|
+ UserAvatar string `gorm:"column:user_avatar" json:"user_avatar"`//头像
|
|
|
+ MobilePhone string `gorm:"column:mobile_phone" json:"mobile_phone"`//手机号
|
|
|
+ Gender int `gorm:"column:gender" json:"gender"`//性别
|
|
|
+ Height int `gorm:"column:height" json:"height"`//身高
|
|
|
+ Weight int `gorm:"column:weight" json:"weight"`//体重
|
|
|
+ Birthday string `gorm:"column:birthday" json:"birthday"`//生日
|
|
|
+ Address string `gorm:"column:address" json:"address"`//详细地址
|
|
|
+ Area string `gorm:"column:area" json:"area"`//地区
|
|
|
+ QrCode string `gorm:"column:qr_code" json:"qr_code"` //二维码
|
|
|
+ UserGrade string `gorm:"column:user_grade" json:"user_grade"`//排位赛等级
|
|
|
+ LoginTime string `gorm:"column:login_time" json:"login_time"`//登录时间
|
|
|
+ RegisterTime string `gorm:"column:register_time" json:"register_time"`//注册时间
|
|
|
+ LikeNum int64 `gorm:"column:like_num" json:"like_num"`//点赞数
|
|
|
+ FansNum int64 `gorm:"column:fans_num" json:"fans_num"`//粉丝数
|
|
|
+ AttenNum int64 `gorm:"column:atten_num" json:"atten_num"`//关注数
|
|
|
+ TotalDistance int `gorm:"column:total_distance" json:"total_distance"`//总公里数
|
|
|
+ TimesMarathon int `gorm:"column:times_marathon" json:"times_marathon"`//马拉松场次
|
|
|
+ TimesQualifier int `gorm:"column:times_qualifier" json:"times_qualifier"`//排位赛场次
|
|
|
+ CreateTime string `gorm:"column:create_time" json:"create_time"`//创建时间
|
|
|
+ UpdateTime string `gorm:"column:update_time" json:"update_time"`//更新时间
|
|
|
+ IsDelete int64 `gorm:"column:is_delete" json:"is_delete"`//是否删除
|
|
|
+ Status int64 `gorm:"column:status" json:"status"`//账号状态
|
|
|
+ UserPoint int64 `gorm:"column:user_point" json:"user_point"`//积分
|
|
|
+ Role int64 `gorm:"column:role" json:"role"`//账号类型
|
|
|
+ UserMoney int64 `gorm:"column:user_money" json:"user_money"`//账号余额
|
|
|
+ LoginType int64 `gorm:"column:login_type" json:"login_type"`//登录方式
|
|
|
+ AppId string `gorm:"column:app_id" json:"app_id"`//appid
|
|
|
+ AttentionUserId string `gorm:"column:attention_user_id" json:"attention_user_id"`//attention_user_id
|
|
|
+}
|
|
|
+
|
|
|
+type TotalDistances struct {
|
|
|
+ TotalDistance int `gorm:"column:course" json:"course"`//总公里数
|
|
|
+ MarathonId string `gorm:"column:marathon_id" json:"marathon_id"`//总马拉松数
|
|
|
+ QualifyingId string `gorm:"column:qualifying_id" json:"qualifying_id"`//总排位赛数
|
|
|
+}
|
|
|
+
|
|
|
+func (u UserInfo) ToResp() *UserResp {
|
|
|
+ return &UserResp{
|
|
|
+ Id: u.Id,
|
|
|
+ UserId: u.UserId,
|
|
|
+ UserName: u.UserName,
|
|
|
+ RealName: u.RealName,
|
|
|
+ UserAvatar: u.UserAvatar,
|
|
|
+ MobilePhone: u.MobilePhone,
|
|
|
+ Gender: u.Gender,
|
|
|
+ Height: u.Height,
|
|
|
+ Weight: u.Weight,
|
|
|
+ Birthday: u.Birthday,
|
|
|
+ Address: u.Address,
|
|
|
+ Area: u.Area,
|
|
|
+ QrCode: u.QrCode,
|
|
|
+ UserGrade: u.UserGrade,
|
|
|
+ LoginTime: u.LoginTime,
|
|
|
+ RegisterTime: u.RegisterTime,
|
|
|
+ LikeNum: u.LikeNum,
|
|
|
+ FansNum: u.FansNum,
|
|
|
+ AttenNum: u.AttenNum,
|
|
|
+ TotalDistance: u.TotalDistance,
|
|
|
+ TimesMarathon: u.TimesMarathon,
|
|
|
+ TimesQualifier: u.TimesQualifier,
|
|
|
+ CreateTime: u.CreateTime,
|
|
|
+ UpdateTime: u.UpdateTime,
|
|
|
+ IsDelete: u.IsDelete,
|
|
|
+ Status: u.Status,
|
|
|
+ UserPoint: u.UserPoint,
|
|
|
+ Role: u.Role,
|
|
|
+ UserMoney: u.UserMoney,
|
|
|
+ LoginType: u.LoginType,
|
|
|
+ AppId: u.AppId,
|
|
|
+ }
|
|
|
+}
|
|
|
+
|
|
|
+/**
|
|
|
+赛事订单列表
|
|
|
+*/
|
|
|
+type Competition struct {
|
|
|
+ MarathonId string `json:"marathon_id"` // 马拉松id
|
|
|
+ //UserId string `json:"user_id"` // 用户id
|
|
|
+ Name string `json:"name"` // 用户id
|
|
|
+ RecvMan string `json:"recv_man"` // 收件人名称
|
|
|
+ DealStatus int `json:"deal_status"` // 订单状态
|
|
|
+ PostNumber string `json:"post_number"` // 快递单号
|
|
|
+ PostCompany string `json:"post_company"` // 快递公司名称
|
|
|
+ RecvPhone string `json:"recv_phone"` // 收件人手机号
|
|
|
+ PayMoney float64 `json:"pay_money"` // 支付金额
|
|
|
+ DealSn string `json:"deal_sn"` // 订单id
|
|
|
+ List []CompetitionGoodsList `json:"list"`
|
|
|
+}
|
|
|
+
|
|
|
+/**
|
|
|
+赛事订单商品
|
|
|
+*/
|
|
|
+type CompetitionGoodsList struct {
|
|
|
+ PkgName string `json:"pkg_name"` // 商品名称
|
|
|
+ SpecId string `json:"spec_id"` // 商品名称
|
|
|
+ Amout int `json:"amout"` // 数量
|
|
|
+ Spec string `json:"spec"` // 规格
|
|
|
+ Price float64 `json:"price"` // 商品价格
|
|
|
+ Cover string `json:"cover"` // 商品图片
|
|
|
+}
|
|
|
+
|
|
|
+/**
|
|
|
+排位赛列表
|
|
|
+*/
|
|
|
+type QualifyingList struct {
|
|
|
+ First int `json:"first"`
|
|
|
+ TopThree int `json:"top_three"`
|
|
|
+ Average int `json:"average"`
|
|
|
+ TenAverage int `json:"ten_average"`
|
|
|
+ List []QualifyingResp `json:"list"`
|
|
|
+}
|
|
|
+
|
|
|
+type QualifyingResp struct {
|
|
|
+ QualifyingId string `json:"qualifying_id"` // 排位赛id
|
|
|
+ UserId string `json:"user_id"` // 用户id
|
|
|
+ Rank string `json:"rank"` // 赛事排名
|
|
|
+ Name string `json:"name"` // 赛事名称
|
|
|
+ UpdateAt string `json:"update_at"` // 赛事更新时间
|
|
|
+}
|
|
|
+
|
|
|
+type UploadBaseReq struct {
|
|
|
+ Base64 string `json:"base64"` // base64字符串
|
|
|
+ MapBase string `json:"map_base"` // mapBase64
|
|
|
+ UserId string `json:"user_id"` // 用户id
|
|
|
+ TaskId string `json:"task_id"` // 任务id
|
|
|
+}
|
|
|
+
|
|
|
+type UploadBaseErr struct {
|
|
|
+ MapUrl string `json:"map_url"` // base64字符串
|
|
|
+ MapBase string `json:"map_base"` // mapBase64
|
|
|
+ UserId string `json:"user_id"` // 用户id
|
|
|
+ TaskId string `json:"task_id"` // 任务id
|
|
|
+}
|
|
|
+
|
|
|
+type UploadBaseResp struct {
|
|
|
+ Url string `json:"url"` // 返回的图片url
|
|
|
+}
|
|
|
+
|
|
|
+/**
|
|
|
+[Mysql]获取黑名单列表
|
|
|
+*/
|
|
|
+func (u BlackListReq) BlackToResp() interface{} {
|
|
|
+ return &BlackListResp{
|
|
|
+ UserId: u.UserId,
|
|
|
+ UserName: u.Username,
|
|
|
+ UserAvatar: u.UserAvatar,
|
|
|
+ }
|
|
|
+}
|
|
|
+
|
|
|
+/**
|
|
|
+[Mysql]修改用户密码
|
|
|
+*/
|
|
|
+func (u *UserInfo) UpdatePwd(db *gorm.DB) error {
|
|
|
+ sql := "UPDATE lzyd_user SET password = ? WHERE user_code = ? AND user_status IN (1, 4)"
|
|
|
+ err := db.Exec(sql, u.Password, u.UserId).Error
|
|
|
+ return err
|
|
|
+}
|
|
|
+
|
|
|
+/**
|
|
|
+[Mysql]修改用户头像
|
|
|
+*/
|
|
|
+func (u *UserInfo) UpdateAvatar(db *gorm.DB) error {
|
|
|
+ // 修改用户头像
|
|
|
+ sql := "UPDATE lzyd_user SET avatar = ? WHERE user_code = ? AND user_status IN (1, 4)"
|
|
|
+ err := db.Exec(sql, u.UserAvatar, u.UserId).Error
|
|
|
+ if err != nil {
|
|
|
+ common.LogInfo(fmt.Sprintf("Update lzyd_user error : %s", err.Error()))
|
|
|
+ return err
|
|
|
+ }
|
|
|
+ return nil
|
|
|
+}
|
|
|
+
|
|
|
+/**
|
|
|
+修改用户身份证正反面照片
|
|
|
+*/
|
|
|
+//func (u *UserInfo) UpdateCard(db *gorm.DB) error {
|
|
|
+// sql := "UPDATE lzyd_user SET card_id = ?, card_front = ?, card_backend = ? WHERE user_code = ? AND user_status IN (1, 4)"
|
|
|
+// return db.Exec(sql, u.CardId, u.CardFront, u.CardBack, u.UserCode).Error
|
|
|
+//}
|
|
|
+
|
|
|
+/**
|
|
|
+[Mysql]修改用户资料
|
|
|
+*/
|
|
|
+func (u *UserInfo) UpdateProfile(db *gorm.DB) error {
|
|
|
+ // 修改用户信息
|
|
|
+ var model UserUpload
|
|
|
+ sqlUser := "select username,gender,birthday,user_avatar,area,height,weight from lzyd_user where user_id = ?"
|
|
|
+ common.DB.Raw(sqlUser, u.UserId).First(&model)
|
|
|
+ //fmt.Println("你输入的是:", u)
|
|
|
+ //fmt.Println("你输入的是:", model)
|
|
|
+ var sqlBuf bytes.Buffer
|
|
|
+ sqlBuf.WriteString("UPDATE lzyd_user SET ")
|
|
|
+ if len(u.UserName) > 0 {
|
|
|
+ sqlBuf.WriteString("username='" + u.UserName + "',")
|
|
|
+ }else {
|
|
|
+ sqlBuf.WriteString("username='" + model.UserName + "',")
|
|
|
+ }
|
|
|
+
|
|
|
+ if u.Gender > 0 {
|
|
|
+ sqlBuf.WriteString("gender=" + strconv.Itoa(u.Gender) + ",")
|
|
|
+ }else {
|
|
|
+ sqlBuf.WriteString("gender=" + strconv.Itoa(model.Gender) + ",")
|
|
|
+ }
|
|
|
+
|
|
|
+
|
|
|
+ if len(u.Birthday) > 0 {
|
|
|
+ sqlBuf.WriteString("birthday='" + u.Birthday + "',")
|
|
|
+ }else {
|
|
|
+ sqlBuf.WriteString("birthday='" + model.Birthday + "',")
|
|
|
+ }
|
|
|
+
|
|
|
+ if len(u.UserAvatar) > 0 {
|
|
|
+ sqlBuf.WriteString("user_avatar='" + u.UserAvatar + "',")
|
|
|
+ }else {
|
|
|
+ sqlBuf.WriteString("user_avatar='" + model.UserAvatar + "',")
|
|
|
+ }
|
|
|
+
|
|
|
+ if len(u.Area) > 0 {
|
|
|
+ sqlBuf.WriteString("area='" + u.Area + "',")
|
|
|
+ }else {
|
|
|
+ sqlBuf.WriteString("area='" + model.Area + "',")
|
|
|
+ }
|
|
|
+
|
|
|
+ if u.Height > 0 {
|
|
|
+ sqlBuf.WriteString("height=" + strconv.Itoa(u.Height) + ",")
|
|
|
+ }else {
|
|
|
+ sqlBuf.WriteString("height=" + strconv.Itoa(model.Height) + ",")
|
|
|
+ }
|
|
|
+
|
|
|
+ if u.Weight > 0 {
|
|
|
+ sqlBuf.WriteString("weight=" + strconv.Itoa(u.Weight))
|
|
|
+ }else {
|
|
|
+ sqlBuf.WriteString("weight=" + strconv.Itoa(model.Weight))
|
|
|
+ }
|
|
|
+
|
|
|
+ sqlBuf.WriteString(" WHERE user_id = ?")
|
|
|
+ err := db.Exec(sqlBuf.String(), u.UserId).Error
|
|
|
+ //fmt.Println("你输入的是:", err,u.UserId,sqlBuf.String())
|
|
|
+ if err != nil {
|
|
|
+ common.LogInfo(fmt.Sprintf("Update lzyd_user error : %s", err.Error()))
|
|
|
+ return err
|
|
|
+ }
|
|
|
+ return nil
|
|
|
+}
|
|
|
+
|
|
|
+func CreateCaptcha() string {
|
|
|
+ return "1" + fmt.Sprintf("%08v", rand.New(rand.NewSource(time.Now().UnixNano())).Int31n(100000000))
|
|
|
+}
|
|
|
+
|
|
|
+func YueDongId(randomNum string) bool {
|
|
|
+ var yuedongCode YuedongCode
|
|
|
+ yuedongId:= randomNum
|
|
|
+ yuedongIdSql := "SELECT yuedong_id from lzyd_user WHERE yuedong_id = ?"
|
|
|
+ common.DB.Raw(yuedongIdSql,yuedongId).Find(&yuedongCode)
|
|
|
+ //common.db.Raw(yuedongIdSql,yuedongId).Find(&yuedongCode)
|
|
|
+ //fmt.Println(111,randomNum,len(yuedongCode.YuedongId))
|
|
|
+ if len(yuedongCode.YuedongId) == 0 {
|
|
|
+ return true
|
|
|
+ }else {
|
|
|
+ return false
|
|
|
+ }
|
|
|
+}
|
|
|
+
|
|
|
+/**
|
|
|
+[Mysql]修改已实名认证
|
|
|
+*/
|
|
|
+func (u *UserInfo) UpdateIsValid(db *gorm.DB) error {
|
|
|
+ sql := "UPDATE lzyd_user SET realname_valid = 1 WHERE user_code = ? AND user_status IN (1, 4)"
|
|
|
+ err := db.Exec(sql, u.UserId).Error
|
|
|
+ if err != nil {
|
|
|
+ common.LogInfo(fmt.Sprintf("Update user_status error : %s", err.Error()))
|
|
|
+ return err
|
|
|
+ }
|
|
|
+ return nil
|
|
|
+}
|
|
|
+
|
|
|
+/**
|
|
|
+[Mysql]绑定手机号
|
|
|
+*/
|
|
|
+func (u *UserInfo) BindMobile(db *gorm.DB) error {
|
|
|
+ sql := "UPDATE lzyd_user SET mobile_phone = ? WHERE user_id = ? AND status IN (1, 4)"
|
|
|
+ return db.Exec(sql, u.MobilePhone, u.UserId).Error
|
|
|
+}
|
|
|
+
|
|
|
+/**
|
|
|
+[Mysql]删除指定账号
|
|
|
+*/
|
|
|
+func (u *UserInfo) Rem(db *gorm.DB) error {
|
|
|
+ sql := "UPDATE lzyd_user SET status = 3 WHERE user_id = ?"
|
|
|
+ return db.Exec(sql, u.UserId).Error
|
|
|
+}
|
|
|
+
|
|
|
+/**
|
|
|
+[Mysql]注册用户信息
|
|
|
+*/
|
|
|
+func (cus *UserInfo) Register(db *gorm.DB) error {
|
|
|
+ fmt.Println(cus)
|
|
|
+ now := time.Now()
|
|
|
+
|
|
|
+ var (
|
|
|
+ insertLoginSql string
|
|
|
+ insertInfoSql string
|
|
|
+ insertLoginErr error
|
|
|
+ insertInfoErr error
|
|
|
+ )
|
|
|
+
|
|
|
+ yuedongId := CreateCaptcha()
|
|
|
+ yueDongerr := YueDongId(yuedongId)
|
|
|
+ //fmt.Println(111,yueDongerr)
|
|
|
+ if yueDongerr == false {
|
|
|
+ yuedongId = CreateCaptcha()
|
|
|
+ yueDongerr = YueDongId(CreateCaptcha())
|
|
|
+ }
|
|
|
+ // 使用事务提交数据, 方便数据回滚
|
|
|
+ tx := db.Begin()
|
|
|
+ // 插入数据信息
|
|
|
+ insertInfoSql = "INSERT INTO lzyd_user(user_id, username, user_avatar, mobile_phone, gender, birthday, register_time, login_time, app_id,yuedong_id) VALUES (?,?,?,?,?,?,?,?,?,?)"
|
|
|
+ insertInfoErr = db.Exec(insertInfoSql, cus.UserId, cus.UserName, cus.UserAvatar, cus.MobilePhone, cus.Gender, cus.Birthday, now, now, cus.AppId,yuedongId).Error
|
|
|
+
|
|
|
+
|
|
|
+ // 插入登录信息
|
|
|
+ insertLoginSql = "INSERT INTO lzyd_user_login(user_id, mobile_phone, login_type, app_id, status) VALUES(?,?,?,?,?)"
|
|
|
+ insertLoginErr = db.Exec(insertLoginSql, cus.UserId, cus.MobilePhone, cus.LoginType, cus.AppId, 1).Error
|
|
|
+ //fmt.Println()
|
|
|
+ if insertLoginErr != nil || insertInfoErr != nil {
|
|
|
+ tx.Rollback()
|
|
|
+ //return errors.New(common.ErrorInfo[common.DbInsertErr])
|
|
|
+ }
|
|
|
+ tx.Commit()
|
|
|
+
|
|
|
+ return nil
|
|
|
+}
|
|
|
+
|
|
|
+/**
|
|
|
+[Mysql]登录用户信息
|
|
|
+*/
|
|
|
+func (cus *UserInfo) Login(db *gorm.DB) error {
|
|
|
+ //now := time.Now()
|
|
|
+ var (
|
|
|
+ insertLoginSql string
|
|
|
+ insertLoginErr error
|
|
|
+ insertInfoErr error
|
|
|
+ )
|
|
|
+ // 使用事务提交数据, 方便数据回滚
|
|
|
+ tx := db.Begin()
|
|
|
+
|
|
|
+ // 插入登录信息
|
|
|
+ insertLoginSql = "INSERT INTO lzyd_user_login(user_id, mobile_phone, login_type, app_id, status) VALUES(?,?,?,?,?)"
|
|
|
+ insertLoginErr = db.Exec(insertLoginSql, cus.UserId, cus.MobilePhone, cus.LoginType, cus.AppId, 1).Error
|
|
|
+
|
|
|
+
|
|
|
+ if insertLoginErr != nil || insertInfoErr != nil {
|
|
|
+ tx.Rollback()
|
|
|
+ //return errors.New(common.ErrorInfo[common.DbInsertErr])
|
|
|
+ }
|
|
|
+ tx.Commit()
|
|
|
+
|
|
|
+ return nil
|
|
|
+}
|
|
|
+
|
|
|
+/**
|
|
|
+[Mysql]运动图片存入数据库
|
|
|
+*/
|
|
|
+func (cus *UploadBaseErr) InsetMaps(db *gorm.DB,taskId string) error {
|
|
|
+ fmt.Println(cus)
|
|
|
+ now := time.Now()
|
|
|
+ var (
|
|
|
+ insertInfoSql string
|
|
|
+ insertInfoErr error
|
|
|
+ task_id TaskList
|
|
|
+ )
|
|
|
+
|
|
|
+ yuedongIdSql := "SELECT task_id from lzyd_user_maps WHERE task_id = ?"
|
|
|
+ common.DB.Raw(yuedongIdSql,taskId).First(&task_id)
|
|
|
+ fmt.Println(1111,task_id)
|
|
|
+ tx := db.Begin()
|
|
|
+ if len(task_id.TaskId) > 0 {
|
|
|
+
|
|
|
+
|
|
|
+ insertInfoSql = "UPDATE lzyd_user_maps SET map_url = ?,map_line_url =? WHERE task_id = ?"
|
|
|
+ insertInfoErr = db.Exec(insertInfoSql,cus.MapUrl,cus.MapBase,taskId ).Error
|
|
|
+ }else {
|
|
|
+ mapId := gopkg.GenUUID()
|
|
|
+ // 使用事务提交数据, 方便数据回滚
|
|
|
+
|
|
|
+
|
|
|
+ insertInfoSql = "INSERT INTO lzyd_user_maps(user_id, task_id, map_id,map_url,map_line_url, create_at, app_id) VALUES (?,?,?,?,?,?,?)"
|
|
|
+ insertInfoErr = db.Exec(insertInfoSql, cus.UserId, cus.TaskId, mapId, cus.MapUrl,cus.MapBase,now, "lzyd").Error
|
|
|
+ }
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+ if insertInfoErr != nil {
|
|
|
+ tx.Rollback()
|
|
|
+ //return errors.New(common.ErrorInfo[common.DbInsertErr])
|
|
|
+ }
|
|
|
+ return nil
|
|
|
+}
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|