劲创营---任务项目
Du kan inte välja fler än 25 ämnen Ämnen måste starta med en bokstav eller siffra, kan innehålla bindestreck ('-') och vara max 35 tecken långa.
 
 
 

203 rader
5.6 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. img := make([]string, 0)
  50. json.Unmarshal([]byte(v.Img), &img)
  51. firstImg := ""
  52. if len(img) > 0 {
  53. firstImg = img[0]
  54. }
  55. detailInfo := make([]string, 0)
  56. json.Unmarshal([]byte(v.DetailInfo), &detailInfo)
  57. label := make([]string, 0)
  58. json.Unmarshal([]byte(v.Label), &label)
  59. tmp := map[string]interface{}{
  60. "year": v.CreateTime.Format("2006") + "年",
  61. "id": utils.IntToStr(v.Id),
  62. "name": v.Name,
  63. "cid": utils.IntToStr(v.Cid),
  64. "money": v.Money,
  65. "img": firstImg,
  66. "video_info": v.VideoInfo,
  67. "img_list": img,
  68. "detail_info": detailInfo,
  69. "create_time": v.CreateTime.Format("2006-01-02 15:04:05"),
  70. "enterprise_info": enterpriseInfo,
  71. "cate_name": "",
  72. "adv_word": v.AdvWord,
  73. "label": label,
  74. }
  75. for _, v1 := range cate {
  76. if v1.Id == v.Cid {
  77. tmp["cate_name"] = v1.Name
  78. }
  79. }
  80. list = append(list, tmp)
  81. }
  82. res := map[string]interface{}{
  83. "list": list,
  84. "total": count,
  85. }
  86. e.OutSuc(c, res, nil)
  87. return
  88. }
  89. func ProjectList(c *gin.Context) {
  90. var args md.ProjectReq
  91. if err := c.ShouldBindJSON(&args); err != nil {
  92. e.OutErr(c, e.ERR_INVALID_ARGS)
  93. return
  94. }
  95. storeId := svc.GetCampStoreId(c)
  96. list := make([]map[string]interface{}, 0)
  97. var data = make([]models.CampTaskProject, 0)
  98. sess := svc.MasterDb(c).Where("store_id=?", storeId)
  99. count, _ := sess.Limit(utils.StrToInt(args.Size), (utils.StrToInt(args.P)-1)*utils.StrToInt(args.Size)).OrderBy("id desc").FindAndCount(&data)
  100. cateList := make([]map[string]string, 0)
  101. cate := make([]models.CampTaskProjectCate, 0)
  102. svc.MasterDb(c).Where("1=1").Find(&cate)
  103. for _, v := range cate {
  104. tmp := map[string]string{
  105. "name": v.Name, "value": utils.IntToStr(v.Id),
  106. }
  107. cateList = append(cateList, tmp)
  108. }
  109. for _, v := range data {
  110. enterpriseInfo := make(map[string]string)
  111. json.Unmarshal([]byte(v.EnterpriseInfo), &enterpriseInfo)
  112. img := make([]string, 0)
  113. json.Unmarshal([]byte(v.Img), &img)
  114. detailInfo := make([]string, 0)
  115. json.Unmarshal([]byte(v.DetailInfo), &detailInfo)
  116. label := make([]string, 0)
  117. json.Unmarshal([]byte(v.Label), &label)
  118. tmp := map[string]interface{}{
  119. "admin_name": v.AdminName,
  120. "admin_phone": v.AdminPhone,
  121. "id": utils.IntToStr(v.Id),
  122. "name": v.Name,
  123. "cid": utils.IntToStr(v.Cid),
  124. "money": v.Money,
  125. "logo": v.Logo,
  126. "video_info": v.VideoInfo,
  127. "img": img,
  128. "detail_info": detailInfo,
  129. "create_time": v.CreateTime.Format("2006-01-02 15:04:05"),
  130. "enterprise_info": enterpriseInfo,
  131. "cate_name": "",
  132. "adv_word": v.AdvWord,
  133. "label": label,
  134. }
  135. for _, v1 := range cate {
  136. if v1.Id == v.Cid {
  137. tmp["cate_name"] = v1.Name
  138. }
  139. }
  140. list = append(list, tmp)
  141. }
  142. res := map[string]interface{}{
  143. "list": list,
  144. "cate_list": cateList,
  145. "total": count,
  146. }
  147. e.OutSuc(c, res, nil)
  148. return
  149. }
  150. func ProjectSave(c *gin.Context) {
  151. var args md.ProjectSaveReq
  152. if err := c.ShouldBindJSON(&args); err != nil {
  153. e.OutErr(c, e.ERR_INVALID_ARGS)
  154. return
  155. }
  156. storeId := svc.GetCampStoreId(c)
  157. var data models.CampTaskProject
  158. if args.Id != "" {
  159. svc.MasterDb(c).Where("id=?", args.Id).Get(&data)
  160. } else {
  161. data = models.CampTaskProject{
  162. CreateTime: time.Now(),
  163. UpdateTime: time.Now(),
  164. StoreId: storeId,
  165. }
  166. svc.MasterDb(c).Insert(&models.CampTaskProject{})
  167. }
  168. data.UpdateTime = time.Now()
  169. data.Name = args.Name
  170. data.EnterpriseInfo = utils.SerializeStr(args.EnterpriseInfo)
  171. data.Cid = utils.StrToInt(args.Cid)
  172. data.Money = args.Money
  173. data.Logo = args.Logo
  174. data.State = 1
  175. data.VideoInfo = args.VideoInfo
  176. data.Img = utils.SerializeStr(args.Img)
  177. data.DetailInfo = utils.SerializeStr(args.DetailInfo)
  178. data.Label = utils.SerializeStr(args.Label)
  179. data.AdvWord = args.AdvWord
  180. data.AdminName = args.AdminName
  181. data.AdminPhone = args.AdminPhone
  182. svc.MasterDb(c).Where("id=?", data.Id).Update(&data)
  183. e.OutSuc(c, "success", nil)
  184. return
  185. }
  186. func ProjectDel(c *gin.Context) {
  187. var args md.DirectorDelReq
  188. if err := c.ShouldBindJSON(&args); err != nil {
  189. e.OutErr(c, e.ERR_INVALID_ARGS)
  190. return
  191. }
  192. svc.MasterDb(c).In("id", args.Ids).Delete(&models.CampTaskProject{})
  193. e.OutSuc(c, "success", nil)
  194. return
  195. }