business.go 7.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262
  1. package base
  2. import (
  3. "context"
  4. "dashoo.cn/opms_libary/myerrors"
  5. "github.com/gogf/gf/frame/g"
  6. "github.com/gogf/gf/util/gvalid"
  7. "dashoo.cn/common_definition/comm_def"
  8. projModel "dashoo.cn/micro/app/model/proj"
  9. projSrv "dashoo.cn/micro/app/service/proj"
  10. )
  11. type BusinessHandler struct{}
  12. // Swagger:Business 项目 项目列表
  13. func (p *BusinessHandler) GetList(ctx context.Context, req *projModel.ProjBusinessSearchReq, rsp *comm_def.CommonMsg) error {
  14. businessService, err := projSrv.NewBusinessService(ctx)
  15. if err != nil {
  16. return err
  17. }
  18. total, list, err := businessService.GetList(req)
  19. if err != nil {
  20. return err
  21. }
  22. rsp.Data = g.Map{"list": list, "total": total}
  23. return nil
  24. }
  25. // Swagger:Business 项目 项目详情
  26. func (p *BusinessHandler) GetEntityById(ctx context.Context, req *comm_def.IdReq, rsp *comm_def.CommonMsg) error {
  27. // 参数校验
  28. if req.Id == 0 {
  29. return myerrors.ValidError("id参数有误!")
  30. }
  31. businessService, err := projSrv.NewBusinessService(ctx)
  32. if err != nil {
  33. return err
  34. }
  35. rsp.Data, err = businessService.GetEntityById(req.Id)
  36. if err != nil {
  37. return myerrors.QueryError(err, "项目")
  38. }
  39. return nil
  40. }
  41. // Swagger:Business 项目 获取项目产品
  42. func (p *BusinessHandler) GetBusinessProduct(ctx context.Context, req *comm_def.IdReq, rsp *comm_def.CommonMsg) error {
  43. // 参数校验
  44. if req.Id == 0 {
  45. return myerrors.ValidError("项目参数有误!")
  46. }
  47. businessService, err := projSrv.NewBusinessService(ctx)
  48. if err != nil {
  49. return err
  50. }
  51. productList, err := businessService.GetBusinessProduct(req.Id)
  52. if err != nil {
  53. return err
  54. }
  55. rsp.Data = productList
  56. return nil
  57. }
  58. // Swagger:Business 项目 获取项目动态
  59. func (p *BusinessHandler) GetBusinessDynamics(ctx context.Context, req *projModel.BusinessReq, rsp *comm_def.CommonMsg) error {
  60. if req.BusId == 0 {
  61. return myerrors.ValidError("项目参数有误!")
  62. }
  63. businessService, err := projSrv.NewBusinessService(ctx)
  64. if err != nil {
  65. return err
  66. }
  67. total, list, err := businessService.GetBusinessDynamics(req)
  68. if err != nil {
  69. return err
  70. }
  71. rsp.Data = g.Map{"list": list, "total": total}
  72. return nil
  73. }
  74. // Swagger:Business 项目 获取项目动态列表
  75. func (p *BusinessHandler) GetBusinessDynamicsList(ctx context.Context, req *projModel.BusinessDynamicsReq, rsp *comm_def.CommonMsg) error {
  76. if req.BusId == 0 {
  77. return myerrors.ValidError("项目参数有误!")
  78. }
  79. businessService, err := projSrv.NewBusinessService(ctx)
  80. if err != nil {
  81. return err
  82. }
  83. total, list, err := businessService.GetBusinessDynamicsList(req)
  84. if err != nil {
  85. return err
  86. }
  87. rsp.Data = g.Map{"list": list, "total": total}
  88. return nil
  89. }
  90. // Swagger:Business 项目 创建项目
  91. func (p *BusinessHandler) Create(ctx context.Context, req *projModel.AddProjBusinessReq, rsp *comm_def.CommonMsg) error {
  92. // 参数校验
  93. if err := gvalid.CheckStruct(ctx, req, nil); err != nil {
  94. return err
  95. }
  96. // 校验产品数据
  97. for _, v := range req.Products {
  98. if err := gvalid.CheckStruct(ctx, v, nil); err != nil {
  99. return err
  100. }
  101. }
  102. businessService, err := projSrv.NewBusinessService(ctx)
  103. if err != nil {
  104. return err
  105. }
  106. err = businessService.Create(req)
  107. if err != nil {
  108. return myerrors.CreateError(err, "项目")
  109. }
  110. return nil
  111. }
  112. // Swagger:Business 项目 更新项目
  113. func (p *BusinessHandler) UpdateById(ctx context.Context, req *projModel.UpdateProjBusinessReq, rsp *comm_def.CommonMsg) error {
  114. // 参数校验
  115. if err := gvalid.CheckStruct(ctx, req, nil); err != nil {
  116. return err
  117. }
  118. businessService, err := projSrv.NewBusinessService(ctx)
  119. if err != nil {
  120. return err
  121. }
  122. err = businessService.UpdateById(req)
  123. if err != nil {
  124. return myerrors.UpdateError(err, "项目")
  125. }
  126. return nil
  127. }
  128. // Swagger:Business 项目 删除项目
  129. func (p *BusinessHandler) DeleteByIds(ctx context.Context, req *comm_def.IdsReq, rsp *comm_def.CommonMsg) error {
  130. // 参数校验
  131. if len(req.Ids) == 0 {
  132. return myerrors.ValidError("id参数有误!")
  133. }
  134. businessService, err := projSrv.NewBusinessService(ctx)
  135. if err != nil {
  136. return err
  137. }
  138. err = businessService.DeleteByIds(req.Ids)
  139. if err != nil {
  140. return myerrors.DeleteError(err, "项目")
  141. }
  142. return nil
  143. }
  144. // BusinessUpgrade 项目升级
  145. // Swagger:Business 项目 项目升级
  146. func (p *BusinessHandler) BusinessUpgrade(ctx context.Context, req *projModel.BusinessUpgradeReq, rsp *comm_def.CommonMsg) error {
  147. // 参数校验
  148. if err := gvalid.CheckStruct(ctx, req, nil); err != nil {
  149. return err
  150. }
  151. businessService, err := projSrv.NewBusinessService(ctx)
  152. if err != nil {
  153. return err
  154. }
  155. err = businessService.BusinessUpgrade(req)
  156. if err != nil {
  157. return err
  158. }
  159. return nil
  160. }
  161. // BusinessDowngrade 项目降级
  162. // Swagger:Business 项目 项目降级
  163. func (p *BusinessHandler) BusinessDowngrade(ctx context.Context, req *projModel.BusinessDowngradeReq, rsp *comm_def.CommonMsg) error {
  164. // 参数校验
  165. if err := gvalid.CheckStruct(ctx, req, nil); err != nil {
  166. return err
  167. }
  168. businessService, err := projSrv.NewBusinessService(ctx)
  169. if err != nil {
  170. return err
  171. }
  172. err = businessService.BusinessDowngrade(req)
  173. if err != nil {
  174. return err
  175. }
  176. return nil
  177. }
  178. // BusinessTransfer 项目转移
  179. // Swagger:Business 项目 项目转移
  180. func (p *BusinessHandler) BusinessTransfer(ctx context.Context, req *projModel.BusinessTransferReq, rsp *comm_def.CommonMsg) error {
  181. // 参数校验
  182. if err := gvalid.CheckStruct(ctx, req, nil); err != nil {
  183. return err
  184. }
  185. businessService, err := projSrv.NewBusinessService(ctx)
  186. if err != nil {
  187. return err
  188. }
  189. err = businessService.BusinessTransfer(req)
  190. if err != nil {
  191. return err
  192. }
  193. return nil
  194. }
  195. // ConvertToReserve 转为储备项目
  196. // Swagger:Business 项目 转为储备项目
  197. func (p *BusinessHandler) ConvertToReserve(ctx context.Context, req *projModel.BusinessToReserveReq, rsp *comm_def.CommonMsg) error {
  198. // 参数校验
  199. if err := gvalid.CheckStruct(ctx, req, nil); err != nil {
  200. return err
  201. }
  202. businessService, err := projSrv.NewBusinessService(ctx)
  203. if err != nil {
  204. return err
  205. }
  206. err = businessService.ConvertToReserve(req)
  207. if err != nil {
  208. return err
  209. }
  210. return nil
  211. }
  212. // SetPrimacyContact 设置首要联系人
  213. // Swagger:Business 项目 设置首要联系人
  214. func (p *BusinessHandler) SetPrimacyContact(ctx context.Context, req *projModel.BusinessPrimacyContactReq, rsp *comm_def.CommonMsg) error {
  215. // 参数校验
  216. if err := gvalid.CheckStruct(ctx, req, nil); err != nil {
  217. return err
  218. }
  219. businessService, err := projSrv.NewBusinessService(ctx)
  220. if err != nil {
  221. return err
  222. }
  223. err = businessService.SetPrimacyContact(req)
  224. if err != nil {
  225. return err
  226. }
  227. return nil
  228. }
  229. // UpdateBusinessStatus 更新项目状态
  230. // Swagger:Business 项目 更新项目状态
  231. func (p *BusinessHandler) UpdateBusinessStatus(ctx context.Context, req *projModel.UpdateBusinessStatusReq, rsp *comm_def.CommonMsg) error {
  232. // 参数校验
  233. if err := gvalid.CheckStruct(ctx, req, nil); err != nil {
  234. return err
  235. }
  236. businessService, err := projSrv.NewBusinessService(ctx)
  237. if err != nil {
  238. return err
  239. }
  240. err = businessService.UpdateBusinessStatus(req)
  241. if err != nil {
  242. return err
  243. }
  244. return nil
  245. }