劲创营---任务项目
您最多选择25个主题 主题必须以字母或数字开头,可以包含连字符 (-),并且长度不得超过35个字符
 
 
 

208 行
5.8 KiB

  1. package svc
  2. import (
  3. "applet/app/comm/e"
  4. "applet/app/comm/svc"
  5. "applet/app/comm/utils"
  6. "applet/app/store/md"
  7. "code.fnuoos.com/go_rely_warehouse/zyos_model.git/src/models"
  8. "encoding/json"
  9. "github.com/gin-gonic/gin"
  10. "time"
  11. )
  12. func AllProjectCate(c *gin.Context) {
  13. cateList := []map[string]string{
  14. {
  15. "name": "全部", "value": "",
  16. },
  17. }
  18. cate := make([]models.CampTaskProjectCate, 0)
  19. svc.MasterDb(c).Where("1=1").Find(&cate)
  20. for _, v := range cate {
  21. tmp := map[string]string{
  22. "name": v.Name, "value": utils.IntToStr(v.Id),
  23. }
  24. cateList = append(cateList, tmp)
  25. }
  26. res := map[string]interface{}{
  27. "list": cateList,
  28. }
  29. e.OutSuc(c, res, nil)
  30. }
  31. func AllProjectList(c *gin.Context) {
  32. var args md.ProjectReq
  33. if err := c.ShouldBindJSON(&args); err != nil {
  34. e.OutErr(c, e.ERR_INVALID_ARGS)
  35. return
  36. }
  37. list := make([]map[string]interface{}, 0)
  38. var data = make([]models.CampTaskProject, 0)
  39. sess := svc.MasterDb(c).Where("state=?", 1)
  40. if args.Cid != "" {
  41. sess.And("cid=?", args.Cid)
  42. }
  43. count, _ := sess.Limit(utils.StrToInt(args.Size), (utils.StrToInt(args.P)-1)*utils.StrToInt(args.Size)).OrderBy("id desc").FindAndCount(&data)
  44. cate := make([]models.CampTaskProjectCate, 0)
  45. svc.MasterDb(c).Where("1=1").Find(&cate)
  46. for _, v := range data {
  47. enterpriseInfo := make(map[string]string)
  48. json.Unmarshal([]byte(v.EnterpriseInfo), &enterpriseInfo)
  49. enterpriseInfo1 := map[string]string{
  50. "name": enterpriseInfo["name"],
  51. "user_name": enterpriseInfo["user_name"],
  52. "address": enterpriseInfo["address"],
  53. }
  54. img := make([]string, 0)
  55. json.Unmarshal([]byte(v.Img), &img)
  56. firstImg := ""
  57. if len(img) > 0 {
  58. firstImg = img[0]
  59. }
  60. detailInfo := make([]string, 0)
  61. json.Unmarshal([]byte(v.DetailInfo), &detailInfo)
  62. label := make([]string, 0)
  63. json.Unmarshal([]byte(v.Label), &label)
  64. tmp := map[string]interface{}{
  65. "year": v.CreateTime.Format("2006") + "年",
  66. "id": utils.IntToStr(v.Id),
  67. "name": v.Name,
  68. "cid": utils.IntToStr(v.Cid),
  69. "money": utils.Comm(v.Money),
  70. "img": firstImg,
  71. "video_info": v.VideoInfo,
  72. "img_list": img,
  73. "detail_info": detailInfo,
  74. "create_time": v.CreateTime.Format("2006-01-02 15:04:05"),
  75. "enterprise_info": enterpriseInfo1,
  76. "cate_name": "",
  77. "adv_word": v.AdvWord,
  78. "label": label,
  79. }
  80. for _, v1 := range cate {
  81. if v1.Id == v.Cid {
  82. tmp["cate_name"] = v1.Name
  83. }
  84. }
  85. list = append(list, tmp)
  86. }
  87. res := map[string]interface{}{
  88. "list": list,
  89. "total": count,
  90. }
  91. e.OutSuc(c, res, nil)
  92. return
  93. }
  94. func ProjectList(c *gin.Context) {
  95. var args md.ProjectReq
  96. if err := c.ShouldBindJSON(&args); err != nil {
  97. e.OutErr(c, e.ERR_INVALID_ARGS)
  98. return
  99. }
  100. storeId := svc.GetCampStoreId(c)
  101. list := make([]map[string]interface{}, 0)
  102. var data = make([]models.CampTaskProject, 0)
  103. sess := svc.MasterDb(c).Where("store_id=?", storeId)
  104. count, _ := sess.Limit(utils.StrToInt(args.Size), (utils.StrToInt(args.P)-1)*utils.StrToInt(args.Size)).OrderBy("id desc").FindAndCount(&data)
  105. cateList := make([]map[string]string, 0)
  106. cate := make([]models.CampTaskProjectCate, 0)
  107. svc.MasterDb(c).Where("1=1").Find(&cate)
  108. for _, v := range cate {
  109. tmp := map[string]string{
  110. "name": v.Name, "value": utils.IntToStr(v.Id),
  111. }
  112. cateList = append(cateList, tmp)
  113. }
  114. for _, v := range data {
  115. enterpriseInfo := make(map[string]string)
  116. json.Unmarshal([]byte(v.EnterpriseInfo), &enterpriseInfo)
  117. img := make([]string, 0)
  118. json.Unmarshal([]byte(v.Img), &img)
  119. detailInfo := make([]string, 0)
  120. json.Unmarshal([]byte(v.DetailInfo), &detailInfo)
  121. label := make([]string, 0)
  122. json.Unmarshal([]byte(v.Label), &label)
  123. tmp := map[string]interface{}{
  124. "admin_name": v.AdminName,
  125. "admin_phone": v.AdminPhone,
  126. "id": utils.IntToStr(v.Id),
  127. "name": v.Name,
  128. "cid": utils.IntToStr(v.Cid),
  129. "money": v.Money,
  130. "money_str": utils.Comm(v.Money),
  131. "logo": v.Logo,
  132. "video_info": v.VideoInfo,
  133. "img": img,
  134. "detail_info": detailInfo,
  135. "create_time": v.CreateTime.Format("2006-01-02 15:04:05"),
  136. "enterprise_info": enterpriseInfo,
  137. "cate_name": "",
  138. "adv_word": v.AdvWord,
  139. "label": label,
  140. }
  141. for _, v1 := range cate {
  142. if v1.Id == v.Cid {
  143. tmp["cate_name"] = v1.Name
  144. }
  145. }
  146. list = append(list, tmp)
  147. }
  148. res := map[string]interface{}{
  149. "list": list,
  150. "cate_list": cateList,
  151. "total": count,
  152. }
  153. e.OutSuc(c, res, nil)
  154. return
  155. }
  156. func ProjectSave(c *gin.Context) {
  157. var args md.ProjectSaveReq
  158. if err := c.ShouldBindJSON(&args); err != nil {
  159. e.OutErr(c, e.ERR_INVALID_ARGS)
  160. return
  161. }
  162. storeId := svc.GetCampStoreId(c)
  163. var data models.CampTaskProject
  164. if args.Id != "" {
  165. svc.MasterDb(c).Where("id=?", args.Id).Get(&data)
  166. } else {
  167. data = models.CampTaskProject{
  168. CreateTime: time.Now(),
  169. UpdateTime: time.Now(),
  170. StoreId: storeId,
  171. }
  172. svc.MasterDb(c).Insert(&data)
  173. }
  174. data.UpdateTime = time.Now()
  175. data.Name = args.Name
  176. data.EnterpriseInfo = utils.SerializeStr(args.EnterpriseInfo)
  177. data.Cid = utils.StrToInt(args.Cid)
  178. data.Money = args.Money
  179. data.Logo = args.Logo
  180. data.State = 1
  181. data.VideoInfo = args.VideoInfo
  182. data.Img = utils.SerializeStr(args.Img)
  183. data.DetailInfo = utils.SerializeStr(args.DetailInfo)
  184. data.Label = utils.SerializeStr(args.Label)
  185. data.AdvWord = args.AdvWord
  186. data.AdminName = args.AdminName
  187. data.AdminPhone = args.AdminPhone
  188. svc.MasterDb(c).Where("id=?", data.Id).Update(&data)
  189. e.OutSuc(c, "success", nil)
  190. return
  191. }
  192. func ProjectDel(c *gin.Context) {
  193. var args md.DirectorDelReq
  194. if err := c.ShouldBindJSON(&args); err != nil {
  195. e.OutErr(c, e.ERR_INVALID_ARGS)
  196. return
  197. }
  198. svc.MasterDb(c).In("id", args.Ids).Delete(&models.CampTaskProject{})
  199. e.OutSuc(c, "success", nil)
  200. return
  201. }