user.go 19 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587
  1. package models
  2. import (
  3. "bytes"
  4. "fmt"
  5. "github.com/jinzhu/gorm"
  6. "gopkg"
  7. "lzyd-user-api/common"
  8. "math/rand"
  9. "strconv"
  10. "time"
  11. )
  12. /**
  13. 修改用户信息请求参数
  14. */
  15. type UpdateProfileReq struct {
  16. UserId string `json:"user_id"` // 用户代码
  17. UserName string `json:"username"` // 会员昵称
  18. Birthday string `json:"birthday"` // 生日
  19. Height int `json:"height,omitempty"` // 用户身高
  20. Weight int `json:"weight,omitempty"` // 用户体重
  21. Gender int `json:"gender,omitempty"` // 性别
  22. Area string `json:"area"` // 地区
  23. UserAvatar string `json:"user_avatar"` // 地区
  24. }
  25. type UserRelationResp struct {
  26. AttentionUserId string `json:"attention_user_id" gorm:"column:attention_user_id"`
  27. }
  28. type TaskList struct {
  29. TaskId string `json:"task_id" gorm:"column:task_id"`
  30. }
  31. /**
  32. 修改用户头像请求参数
  33. */
  34. type UpdateAvatarReq struct {
  35. UserId string `json:"user_id"` // 用户代码
  36. UserAvatar string `json:"user_avatar"` // 头像
  37. }
  38. /**
  39. 上传身份证图片请求参数
  40. */
  41. type EditCardReq struct {
  42. UserCode string `json:"user_code"` // 用户代码
  43. CardId string `json:"card_id"` // 身份证号码
  44. CardFront string `json:"card_front"` // 身份证正面照
  45. CardBack string `json:"card_back"` // 身份证反面照
  46. }
  47. /**
  48. 修改用户密码请求参数
  49. */
  50. type UpdatePwdReq struct {
  51. UserCode string `json:"user_code"` // 用户代码
  52. OldPwd string `json:"old_pwd"` // 旧密码
  53. NewPwd string `json:"new_pwd"` // 新密码
  54. }
  55. /**
  56. 修改绑定手机号请求参数
  57. */
  58. type UpdateMobileReq struct {
  59. UserCode string `json:"user_code"` // 用户代码
  60. OldMobile string `json:"old_mobile"` // 旧的手机号码
  61. NewMobile string `json:"new_mobile"` // 需要绑定的手机号
  62. ValidCode string `json:"valid_code"` // 手机验证码
  63. }
  64. /**
  65. 验证手机号请求参数
  66. */
  67. type ValidMobileReq struct {
  68. Mobile string `json:"mobile"` // 手机号码
  69. ValidCode string `json:"valid_code"` // 手机验证码
  70. }
  71. type YuedongCode struct {
  72. YuedongId string `gorm:"yuedong_id:id;" json:"yuedong_id"` // 悦动id
  73. }
  74. /**
  75. 获取黑白名单请求参数
  76. */
  77. type GetBlackListReq struct {
  78. UserId string `json:"user_id"` // 用户ID
  79. Type int `json:"type"` // 类型
  80. }
  81. /**
  82. 绑定微信请求参数
  83. */
  84. type BindOpenIdReq struct {
  85. UserId string `json:"user_id"` // 用户代码
  86. OpenID string `json:"open_id"` // 微信号码
  87. BindType int `json:"bind_type"` // 绑定类型(10=微信,11=QQ,12=微博)
  88. }
  89. /**
  90. 获取黑名单列表
  91. */
  92. type BlackListReq struct {
  93. UserId string `json:"user_id"` // 用户代码
  94. UserAvatar string `json:"user_avatar"` // 用户头像
  95. Username string `json:"username"` // 用户昵称
  96. FansNum int `json:"fans_num"` // 用户粉丝数
  97. VideosNum int `json:"videos_num"` // 用户粉丝数
  98. }
  99. /**
  100. 获取黑名单列表
  101. */
  102. type VideoListReq struct {
  103. UserId string `json:"user_id"` // 用户代码
  104. }
  105. /**
  106. 获取黑名单信息
  107. */
  108. type BlackListResp struct {
  109. UserId string `json:"user_code"` // 用户代码
  110. UserAvatar string `json:"user_avatar"` // 用户头像
  111. UserName string `json:"user_name"` // 用户昵称
  112. }
  113. /**
  114. 客户信息
  115. */
  116. type UserResp struct {
  117. Id int64 `gorm:"column:id;primary_key;auto_increment" json:"id"` //自增ID
  118. UserId string `gorm:"column:user_id" json:"user_id"` //用户ID
  119. UserName string `gorm:"column:username" json:"username"` //昵称
  120. Password string `gorm:"column:password" json:"password"`//密码
  121. RealName string `gorm:"column:real_name" json:"real_name"`//真实姓名
  122. UserAvatar string `gorm:"column:user_avatar" json:"user_avatar"`//头像
  123. MobilePhone string `gorm:"column:mobile_phone" json:"mobile_phone"`//手机号
  124. Gender int `gorm:"column:gender" json:"gender"`//性别
  125. Height int `gorm:"column:hieght" json:"height"`//身高
  126. Weight int `gorm:"column:weight" json:"weight"`//体重
  127. Birthday string `gorm:"column:birthday" json:"birthday"`//生日
  128. Address string `gorm:"column:address" json:"address"`//详细地址
  129. Area string `gorm:"column:area" json:"area"`//地区
  130. QrCode string `gorm:"column:qr_code" json:"qr_code"` //二维码
  131. UserGrade string `gorm:"column:user_grade" json:"user_grade"`//排位赛等级
  132. LoginTime string `gorm:"column:login_time" json:"login_time"`//登录时间
  133. RegisterTime string `gorm:"column:register_time" json:"register_time"`//注册时间
  134. LikeNum int64 `gorm:"column:like_num" json:"like_num"`//点赞数
  135. FansNum int64 `gorm:"column:fans_num" json:"fans_num"`//粉丝数
  136. AttenNum int64 `gorm:"column:atten_num" json:"atten_num"`//关注数
  137. TotalDistance int `gorm:"column:total_distance" json:"total_distance"`//总公里数
  138. TimesMarathon int `gorm:"column:times_marathon" json:"times_marathon"`//马拉松场次
  139. TimesQualifier int `gorm:"column:times_qualifier" json:"times_qualifier"`//排位赛场次
  140. CreateTime string `gorm:"column:create_time" json:"create_time"`//创建时间
  141. UpdateTime string `gorm:"column:update_time" json:"update_time"`//更新时间
  142. IsDelete int64 `gorm:"column:is_delete" json:"is_delete"`//是否删除
  143. Status int64 `gorm:"column:status" json:"status"`//账号状态
  144. UserPoint int64 `gorm:"column:user_point" json:"user_point"`//积分
  145. Role int64 `gorm:"column:role" json:"role"`//账号类型
  146. UserMoney int64 `gorm:"column:user_money" json:"user_money"`//账号余额
  147. LoginType int64 `gorm:"column:login_type" json:"login_type"`//登录方式
  148. AppId string `gorm:"column:app_id" json:"app_id"`//appid
  149. }
  150. type UserUpload struct {
  151. UserName string `gorm:"column:username" json:"username"` //昵称
  152. UserAvatar string `gorm:"column:user_avatar" json:"user_avatar"`//头像
  153. Gender int `gorm:"column:gender" json:"gender"`//性别
  154. Height int `gorm:"column:hieght" json:"height"`//身高
  155. Weight int `gorm:"column:weight" json:"weight"`//体重
  156. Birthday string `gorm:"column:birthday" json:"birthday"`//生日
  157. Area string `gorm:"column:area" json:"area"`//地区
  158. }
  159. /// 用于插入user_info表中的数据
  160. type UserInfo struct {
  161. Id int64 `gorm:"column:id;primary_key;auto_increment" json:"id"` //自增ID
  162. UserId string `gorm:"column:user_id" json:"user_id"` //用户ID
  163. YuedongId string `gorm:"column:yuedong_id" json:"yuedong_id"` //用户ID
  164. UserName string `gorm:"column:username" json:"username"` //昵称
  165. Password string `gorm:"column:password" json:"password"`//密码
  166. RealName string `gorm:"column:real_name" json:"real_name"`//真实姓名
  167. UserAvatar string `gorm:"column:user_avatar" json:"user_avatar"`//头像
  168. MobilePhone string `gorm:"column:mobile_phone" json:"mobile_phone"`//手机号
  169. Gender int `gorm:"column:gender" json:"gender"`//性别
  170. Height int `gorm:"column:height" json:"height"`//身高
  171. Weight int `gorm:"column:weight" json:"weight"`//体重
  172. Birthday string `gorm:"column:birthday" json:"birthday"`//生日
  173. Address string `gorm:"column:address" json:"address"`//详细地址
  174. Area string `gorm:"column:area" json:"area"`//地区
  175. QrCode string `gorm:"column:qr_code" json:"qr_code"` //二维码
  176. UserGrade string `gorm:"column:user_grade" json:"user_grade"`//排位赛等级
  177. LoginTime string `gorm:"column:login_time" json:"login_time"`//登录时间
  178. RegisterTime string `gorm:"column:register_time" json:"register_time"`//注册时间
  179. LikeNum int64 `gorm:"column:like_num" json:"like_num"`//点赞数
  180. FansNum int64 `gorm:"column:fans_num" json:"fans_num"`//粉丝数
  181. AttenNum int64 `gorm:"column:atten_num" json:"atten_num"`//关注数
  182. TotalDistance int `gorm:"column:total_distance" json:"total_distance"`//总公里数
  183. TimesMarathon int `gorm:"column:times_marathon" json:"times_marathon"`//马拉松场次
  184. TimesQualifier int `gorm:"column:times_qualifier" json:"times_qualifier"`//排位赛场次
  185. CreateTime string `gorm:"column:create_time" json:"create_time"`//创建时间
  186. UpdateTime string `gorm:"column:update_time" json:"update_time"`//更新时间
  187. IsDelete int64 `gorm:"column:is_delete" json:"is_delete"`//是否删除
  188. Status int64 `gorm:"column:status" json:"status"`//账号状态
  189. UserPoint int64 `gorm:"column:user_point" json:"user_point"`//积分
  190. Role int64 `gorm:"column:role" json:"role"`//账号类型
  191. UserMoney int64 `gorm:"column:user_money" json:"user_money"`//账号余额
  192. LoginType int64 `gorm:"column:login_type" json:"login_type"`//登录方式
  193. AppId string `gorm:"column:app_id" json:"app_id"`//appid
  194. AttentionUserId string `gorm:"column:attention_user_id" json:"attention_user_id"`//attention_user_id
  195. }
  196. type TotalDistances struct {
  197. TotalDistance int `gorm:"column:course" json:"course"`//总公里数
  198. MarathonId string `gorm:"column:marathon_id" json:"marathon_id"`//总马拉松数
  199. QualifyingId string `gorm:"column:qualifying_id" json:"qualifying_id"`//总排位赛数
  200. }
  201. func (u UserInfo) ToResp() *UserResp {
  202. return &UserResp{
  203. Id: u.Id,
  204. UserId: u.UserId,
  205. UserName: u.UserName,
  206. RealName: u.RealName,
  207. UserAvatar: u.UserAvatar,
  208. MobilePhone: u.MobilePhone,
  209. Gender: u.Gender,
  210. Height: u.Height,
  211. Weight: u.Weight,
  212. Birthday: u.Birthday,
  213. Address: u.Address,
  214. Area: u.Area,
  215. QrCode: u.QrCode,
  216. UserGrade: u.UserGrade,
  217. LoginTime: u.LoginTime,
  218. RegisterTime: u.RegisterTime,
  219. LikeNum: u.LikeNum,
  220. FansNum: u.FansNum,
  221. AttenNum: u.AttenNum,
  222. TotalDistance: u.TotalDistance,
  223. TimesMarathon: u.TimesMarathon,
  224. TimesQualifier: u.TimesQualifier,
  225. CreateTime: u.CreateTime,
  226. UpdateTime: u.UpdateTime,
  227. IsDelete: u.IsDelete,
  228. Status: u.Status,
  229. UserPoint: u.UserPoint,
  230. Role: u.Role,
  231. UserMoney: u.UserMoney,
  232. LoginType: u.LoginType,
  233. AppId: u.AppId,
  234. }
  235. }
  236. /**
  237. 赛事订单列表
  238. */
  239. type Competition struct {
  240. MarathonId string `json:"marathon_id"` // 马拉松id
  241. //UserId string `json:"user_id"` // 用户id
  242. Name string `json:"name"` // 用户id
  243. RecvMan string `json:"recv_man"` // 收件人名称
  244. DealStatus int `json:"deal_status"` // 订单状态
  245. PostNumber string `json:"post_number"` // 快递单号
  246. PostCompany string `json:"post_company"` // 快递公司名称
  247. RecvPhone string `json:"recv_phone"` // 收件人手机号
  248. PayMoney float64 `json:"pay_money"` // 支付金额
  249. DealSn string `json:"deal_sn"` // 订单id
  250. List []CompetitionGoodsList `json:"list"`
  251. }
  252. /**
  253. 赛事订单商品
  254. */
  255. type CompetitionGoodsList struct {
  256. PkgName string `json:"pkg_name"` // 商品名称
  257. SpecId string `json:"spec_id"` // 商品名称
  258. Amout int `json:"amout"` // 数量
  259. Spec string `json:"spec"` // 规格
  260. Price float64 `json:"price"` // 商品价格
  261. Cover string `json:"cover"` // 商品图片
  262. }
  263. /**
  264. 排位赛列表
  265. */
  266. type QualifyingList struct {
  267. First int `json:"first"`
  268. TopThree int `json:"top_three"`
  269. Average int `json:"average"`
  270. TenAverage int `json:"ten_average"`
  271. List []QualifyingResp `json:"list"`
  272. }
  273. type QualifyingResp struct {
  274. QualifyingId string `json:"qualifying_id"` // 排位赛id
  275. UserId string `json:"user_id"` // 用户id
  276. Rank string `json:"rank"` // 赛事排名
  277. Name string `json:"name"` // 赛事名称
  278. UpdateAt string `json:"update_at"` // 赛事更新时间
  279. }
  280. type UploadBaseReq struct {
  281. Base64 string `json:"base64"` // base64字符串
  282. MapBase string `json:"map_base"` // mapBase64
  283. UserId string `json:"user_id"` // 用户id
  284. TaskId string `json:"task_id"` // 任务id
  285. }
  286. type UploadBaseErr struct {
  287. MapUrl string `json:"map_url"` // base64字符串
  288. MapBase string `json:"map_base"` // mapBase64
  289. UserId string `json:"user_id"` // 用户id
  290. TaskId string `json:"task_id"` // 任务id
  291. }
  292. type UploadBaseResp struct {
  293. Url string `json:"url"` // 返回的图片url
  294. }
  295. /**
  296. [Mysql]获取黑名单列表
  297. */
  298. func (u BlackListReq) BlackToResp() interface{} {
  299. return &BlackListResp{
  300. UserId: u.UserId,
  301. UserName: u.Username,
  302. UserAvatar: u.UserAvatar,
  303. }
  304. }
  305. /**
  306. [Mysql]修改用户密码
  307. */
  308. func (u *UserInfo) UpdatePwd(db *gorm.DB) error {
  309. sql := "UPDATE lzyd_user SET password = ? WHERE user_code = ? AND user_status IN (1, 4)"
  310. err := db.Exec(sql, u.Password, u.UserId).Error
  311. return err
  312. }
  313. /**
  314. [Mysql]修改用户头像
  315. */
  316. func (u *UserInfo) UpdateAvatar(db *gorm.DB) error {
  317. // 修改用户头像
  318. sql := "UPDATE lzyd_user SET avatar = ? WHERE user_code = ? AND user_status IN (1, 4)"
  319. err := db.Exec(sql, u.UserAvatar, u.UserId).Error
  320. if err != nil {
  321. common.LogInfo(fmt.Sprintf("Update lzyd_user error : %s", err.Error()))
  322. return err
  323. }
  324. return nil
  325. }
  326. /**
  327. 修改用户身份证正反面照片
  328. */
  329. //func (u *UserInfo) UpdateCard(db *gorm.DB) error {
  330. // sql := "UPDATE lzyd_user SET card_id = ?, card_front = ?, card_backend = ? WHERE user_code = ? AND user_status IN (1, 4)"
  331. // return db.Exec(sql, u.CardId, u.CardFront, u.CardBack, u.UserCode).Error
  332. //}
  333. /**
  334. [Mysql]修改用户资料
  335. */
  336. func (u *UserInfo) UpdateProfile(db *gorm.DB) error {
  337. // 修改用户信息
  338. var model UserUpload
  339. sqlUser := "select username,gender,birthday,user_avatar,area,height,weight from lzyd_user where user_id = ?"
  340. common.DB.Raw(sqlUser, u.UserId).First(&model)
  341. //fmt.Println("你输入的是:", u)
  342. //fmt.Println("你输入的是:", model)
  343. var sqlBuf bytes.Buffer
  344. sqlBuf.WriteString("UPDATE lzyd_user SET ")
  345. if len(u.UserName) > 0 {
  346. sqlBuf.WriteString("username='" + u.UserName + "',")
  347. }else {
  348. sqlBuf.WriteString("username='" + model.UserName + "',")
  349. }
  350. if u.Gender > 0 {
  351. sqlBuf.WriteString("gender=" + strconv.Itoa(u.Gender) + ",")
  352. }else {
  353. sqlBuf.WriteString("gender=" + strconv.Itoa(model.Gender) + ",")
  354. }
  355. if len(u.Birthday) > 0 {
  356. sqlBuf.WriteString("birthday='" + u.Birthday + "',")
  357. }else {
  358. sqlBuf.WriteString("birthday='" + model.Birthday + "',")
  359. }
  360. if len(u.UserAvatar) > 0 {
  361. sqlBuf.WriteString("user_avatar='" + u.UserAvatar + "',")
  362. }else {
  363. sqlBuf.WriteString("user_avatar='" + model.UserAvatar + "',")
  364. }
  365. if len(u.Area) > 0 {
  366. sqlBuf.WriteString("area='" + u.Area + "',")
  367. }else {
  368. sqlBuf.WriteString("area='" + model.Area + "',")
  369. }
  370. if u.Height > 0 {
  371. sqlBuf.WriteString("height=" + strconv.Itoa(u.Height) + ",")
  372. }else {
  373. sqlBuf.WriteString("height=" + strconv.Itoa(model.Height) + ",")
  374. }
  375. if u.Weight > 0 {
  376. sqlBuf.WriteString("weight=" + strconv.Itoa(u.Weight))
  377. }else {
  378. sqlBuf.WriteString("weight=" + strconv.Itoa(model.Weight))
  379. }
  380. sqlBuf.WriteString(" WHERE user_id = ?")
  381. err := db.Exec(sqlBuf.String(), u.UserId).Error
  382. //fmt.Println("你输入的是:", err,u.UserId,sqlBuf.String())
  383. if err != nil {
  384. common.LogInfo(fmt.Sprintf("Update lzyd_user error : %s", err.Error()))
  385. return err
  386. }
  387. return nil
  388. }
  389. func CreateCaptcha() string {
  390. return "1" + fmt.Sprintf("%08v", rand.New(rand.NewSource(time.Now().UnixNano())).Int31n(100000000))
  391. }
  392. func YueDongId(randomNum string) bool {
  393. var yuedongCode YuedongCode
  394. yuedongId:= randomNum
  395. yuedongIdSql := "SELECT yuedong_id from lzyd_user WHERE yuedong_id = ?"
  396. common.DB.Raw(yuedongIdSql,yuedongId).Find(&yuedongCode)
  397. //common.db.Raw(yuedongIdSql,yuedongId).Find(&yuedongCode)
  398. //fmt.Println(111,randomNum,len(yuedongCode.YuedongId))
  399. if len(yuedongCode.YuedongId) == 0 {
  400. return true
  401. }else {
  402. return false
  403. }
  404. }
  405. /**
  406. [Mysql]修改已实名认证
  407. */
  408. func (u *UserInfo) UpdateIsValid(db *gorm.DB) error {
  409. sql := "UPDATE lzyd_user SET realname_valid = 1 WHERE user_code = ? AND user_status IN (1, 4)"
  410. err := db.Exec(sql, u.UserId).Error
  411. if err != nil {
  412. common.LogInfo(fmt.Sprintf("Update user_status error : %s", err.Error()))
  413. return err
  414. }
  415. return nil
  416. }
  417. /**
  418. [Mysql]绑定手机号
  419. */
  420. func (u *UserInfo) BindMobile(db *gorm.DB) error {
  421. sql := "UPDATE lzyd_user SET mobile_phone = ? WHERE user_id = ? AND status IN (1, 4)"
  422. return db.Exec(sql, u.MobilePhone, u.UserId).Error
  423. }
  424. /**
  425. [Mysql]删除指定账号
  426. */
  427. func (u *UserInfo) Rem(db *gorm.DB) error {
  428. sql := "UPDATE lzyd_user SET status = 3 WHERE user_id = ?"
  429. return db.Exec(sql, u.UserId).Error
  430. }
  431. /**
  432. [Mysql]注册用户信息
  433. */
  434. func (cus *UserInfo) Register(db *gorm.DB) error {
  435. fmt.Println(cus)
  436. now := time.Now()
  437. var (
  438. insertLoginSql string
  439. insertInfoSql string
  440. insertLoginErr error
  441. insertInfoErr error
  442. )
  443. yuedongId := CreateCaptcha()
  444. yueDongerr := YueDongId(yuedongId)
  445. //fmt.Println(111,yueDongerr)
  446. if yueDongerr == false {
  447. yuedongId = CreateCaptcha()
  448. yueDongerr = YueDongId(CreateCaptcha())
  449. }
  450. // 使用事务提交数据, 方便数据回滚
  451. tx := db.Begin()
  452. // 插入数据信息
  453. insertInfoSql = "INSERT INTO lzyd_user(user_id, username, user_avatar, mobile_phone, gender, birthday, register_time, login_time, app_id,yuedong_id) VALUES (?,?,?,?,?,?,?,?,?,?)"
  454. insertInfoErr = db.Exec(insertInfoSql, cus.UserId, cus.UserName, cus.UserAvatar, cus.MobilePhone, cus.Gender, cus.Birthday, now, now, cus.AppId,yuedongId).Error
  455. // 插入登录信息
  456. insertLoginSql = "INSERT INTO lzyd_user_login(user_id, mobile_phone, login_type, app_id, status) VALUES(?,?,?,?,?)"
  457. insertLoginErr = db.Exec(insertLoginSql, cus.UserId, cus.MobilePhone, cus.LoginType, cus.AppId, 1).Error
  458. //fmt.Println()
  459. if insertLoginErr != nil || insertInfoErr != nil {
  460. tx.Rollback()
  461. //return errors.New(common.ErrorInfo[common.DbInsertErr])
  462. }
  463. tx.Commit()
  464. return nil
  465. }
  466. /**
  467. [Mysql]登录用户信息
  468. */
  469. func (cus *UserInfo) Login(db *gorm.DB) error {
  470. //now := time.Now()
  471. var (
  472. insertLoginSql string
  473. insertLoginErr error
  474. insertInfoErr error
  475. )
  476. // 使用事务提交数据, 方便数据回滚
  477. tx := db.Begin()
  478. // 插入登录信息
  479. insertLoginSql = "INSERT INTO lzyd_user_login(user_id, mobile_phone, login_type, app_id, status) VALUES(?,?,?,?,?)"
  480. insertLoginErr = db.Exec(insertLoginSql, cus.UserId, cus.MobilePhone, cus.LoginType, cus.AppId, 1).Error
  481. if insertLoginErr != nil || insertInfoErr != nil {
  482. tx.Rollback()
  483. //return errors.New(common.ErrorInfo[common.DbInsertErr])
  484. }
  485. tx.Commit()
  486. return nil
  487. }
  488. /**
  489. [Mysql]运动图片存入数据库
  490. */
  491. func (cus *UploadBaseErr) InsetMaps(db *gorm.DB,taskId string) error {
  492. fmt.Println(cus)
  493. now := time.Now()
  494. var (
  495. insertInfoSql string
  496. insertInfoErr error
  497. task_id TaskList
  498. )
  499. yuedongIdSql := "SELECT task_id from lzyd_user_maps WHERE task_id = ?"
  500. common.DB.Raw(yuedongIdSql,taskId).First(&task_id)
  501. fmt.Println(1111,task_id)
  502. tx := db.Begin()
  503. if len(task_id.TaskId) > 0 {
  504. insertInfoSql = "UPDATE lzyd_user_maps SET map_url = ?,map_line_url =? WHERE task_id = ?"
  505. insertInfoErr = db.Exec(insertInfoSql,cus.MapUrl,cus.MapBase,taskId ).Error
  506. }else {
  507. mapId := gopkg.GenUUID()
  508. // 使用事务提交数据, 方便数据回滚
  509. insertInfoSql = "INSERT INTO lzyd_user_maps(user_id, task_id, map_id,map_url,map_line_url, create_at, app_id) VALUES (?,?,?,?,?,?,?)"
  510. insertInfoErr = db.Exec(insertInfoSql, cus.UserId, cus.TaskId, mapId, cus.MapUrl,cus.MapBase,now, "lzyd").Error
  511. }
  512. if insertInfoErr != nil {
  513. tx.Rollback()
  514. //return errors.New(common.ErrorInfo[common.DbInsertErr])
  515. }
  516. return nil
  517. }