service_phone.go 13 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529
  1. package v1
  2. import (
  3. "git.getensh.com/common/gopkgs/logger"
  4. "git.getensh.com/common/gopkgs/tasker/httptasker"
  5. "git.getensh.com/common/gopkgs/util"
  6. "github.com/gin-gonic/gin"
  7. "go.uber.org/zap"
  8. "net/http"
  9. "property-system-gateway/errors"
  10. param_v1 "property-system-gateway/param/v1"
  11. "property-system-gateway/pb"
  12. "property-system-gateway/pb/v1"
  13. "property-system-gateway/utils"
  14. )
  15. //
  16. // @Summary 添加分类
  17. // @Description 添加分类
  18. // @Tags 服务电话
  19. // @Accept json
  20. // @Produce json
  21. // @Param token header string true "token"
  22. // @Param body body v1.ServicePhoneClassAddBody true "信息"
  23. // @Success 200 {object} v1.ServicePhoneClassAddResponse
  24. // @Failure 500 {object} base.HTTPError
  25. // @Router /api/v1/service_phone/class [post]
  26. func (c *Controller) ServicePhoneClassAdd(ctx *gin.Context) {
  27. // 解析参数
  28. req := &param_v1.ServicePhoneClassAddRequest{}
  29. parseParamTask := func() error {
  30. err := util.ShouldBind(ctx, &req.Header, nil, nil, &req.ServicePhoneClassAddBody)
  31. if err != nil {
  32. logger.Error("func",
  33. zap.String("call", "util.ShouldBind"),
  34. zap.String("error", err.Error()))
  35. return errors.ParamsError
  36. }
  37. return nil
  38. }
  39. // 业务处理
  40. handleServiceTask := func() error {
  41. tokenInfo, err := utils.GetSubjectValue(ctx)
  42. if err != nil {
  43. return err
  44. }
  45. // 响应数据
  46. resp := param_v1.ServicePhoneClassAddResponse{}
  47. rpcReq := &v1.ServicePhoneClassAddRequest{
  48. GardenId:tokenInfo.GardenId,
  49. ClassName:req.ClassName,
  50. Enable:req.Enable,
  51. }
  52. rpcRsp, err := pb.Garden.ServicePhoneClassAdd(ctx, rpcReq)
  53. if err != nil {
  54. s, _ := json.MarshalToString(req)
  55. logger.Error("func",
  56. zap.String("call", "pb.Garden.ServicePhoneClassAdd"),
  57. zap.String("params", s),
  58. zap.String("error", err.Error()))
  59. return errors.ErrorTransForm(err)
  60. }
  61. resp.Data = *rpcRsp
  62. ctx.JSON(http.StatusOK, resp)
  63. return nil
  64. }
  65. // 执行任务
  66. httptasker.Exec(ctx, parseParamTask, handleServiceTask)
  67. }
  68. //
  69. // @Summary 修改分类
  70. // @Description 修改分类
  71. // @Tags 服务电话
  72. // @Accept json
  73. // @Produce json
  74. // @Param token header string true "token"
  75. // @Param body body v1.ServicePhoneClassUpdateBody true "信息"
  76. // @Success 200 {object} v1.ServicePhoneClassUpdateResponse
  77. // @Failure 500 {object} base.HTTPError
  78. // @Router /api/v1/service_phone/class [put]
  79. func (c *Controller) ServicePhoneClassUpdate(ctx *gin.Context) {
  80. // 解析参数
  81. req := &param_v1.ServicePhoneClassUpdateRequest{}
  82. parseParamTask := func() error {
  83. err := util.ShouldBind(ctx, &req.Header, nil, nil, &req.ServicePhoneClassUpdateBody)
  84. if err != nil {
  85. logger.Error("func",
  86. zap.String("call", "util.ShouldBind"),
  87. zap.String("error", err.Error()))
  88. return errors.ParamsError
  89. }
  90. return nil
  91. }
  92. // 业务处理
  93. handleServiceTask := func() error {
  94. tokenInfo, err := utils.GetSubjectValue(ctx)
  95. if err != nil {
  96. return err
  97. }
  98. // 响应数据
  99. resp := param_v1.ServicePhoneClassUpdateResponse{}
  100. rpcReq := &v1.ServicePhoneClassUpdateRequest{
  101. GardenId:tokenInfo.GardenId,
  102. ClassName:req.ClassName,
  103. Enable:req.Enable,
  104. Id:req.Id,
  105. }
  106. _, err = pb.Garden.ServicePhoneClassUpdate(ctx, rpcReq)
  107. if err != nil {
  108. s, _ := json.MarshalToString(req)
  109. logger.Error("func",
  110. zap.String("call", "pb.Garden.ServicePhoneClassUpdate"),
  111. zap.String("params", s),
  112. zap.String("error", err.Error()))
  113. return errors.ErrorTransForm(err)
  114. }
  115. ctx.JSON(http.StatusOK, resp)
  116. return nil
  117. }
  118. // 执行任务
  119. httptasker.Exec(ctx, parseParamTask, handleServiceTask)
  120. }
  121. //
  122. // @Summary 删除分类
  123. // @Description 删除分类
  124. // @Tags 服务电话
  125. // @Accept json
  126. // @Produce json
  127. // @Param token header string true "token"
  128. // @Param id query int true " "
  129. // @Success 200 {object} v1.ServicePhoneClassDelResponse
  130. // @Failure 500 {object} base.HTTPError
  131. // @Router /api/v1/service_phone/class [delete]
  132. func (c *Controller) ServicePhoneClassDel(ctx *gin.Context) {
  133. // 解析参数
  134. req := &param_v1.ServicePhoneClassDelRequest{}
  135. parseParamTask := func() error {
  136. err := util.ShouldBind(ctx, &req.Header, nil, &req.ServicePhoneClassDelQuery, nil)
  137. if err != nil {
  138. logger.Error("func",
  139. zap.String("call", "util.ShouldBind"),
  140. zap.String("error", err.Error()))
  141. return errors.ParamsError
  142. }
  143. return nil
  144. }
  145. // 业务处理
  146. handleServiceTask := func() error {
  147. tokenInfo, err := utils.GetSubjectValue(ctx)
  148. if err != nil {
  149. return err
  150. }
  151. // 响应数据
  152. resp := param_v1.ServicePhoneClassDelResponse{}
  153. rpcReq := &v1.ServicePhoneClassDelRequest{
  154. GardenId:tokenInfo.GardenId,
  155. Id:req.Id,
  156. }
  157. _, err = pb.Garden.ServicePhoneClassDel(ctx, rpcReq)
  158. if err != nil {
  159. s, _ := json.MarshalToString(req)
  160. logger.Error("func",
  161. zap.String("call", "pb.Garden.ServicePhoneClassDel"),
  162. zap.String("params", s),
  163. zap.String("error", err.Error()))
  164. return errors.ErrorTransForm(err)
  165. }
  166. ctx.JSON(http.StatusOK, resp)
  167. return nil
  168. }
  169. // 执行任务
  170. httptasker.Exec(ctx, parseParamTask, handleServiceTask)
  171. }
  172. //
  173. // @Summary 分类列表
  174. // @Description 分类列表
  175. // @Tags 服务电话
  176. // @Accept json
  177. // @Produce json
  178. // @Param token header string true "token"
  179. // @Param page query int false " "
  180. // @Param page_size query int false " "
  181. // @Success 200 {object} v1.ServicePhoneClassListResponse
  182. // @Failure 500 {object} base.HTTPError
  183. // @Router /api/v1/service_phone/class [get]
  184. func (c *Controller) ServicePhoneClassList(ctx *gin.Context) {
  185. // 解析参数
  186. req := &param_v1.ServicePhoneClassListRequest{}
  187. parseParamTask := func() error {
  188. err := util.ShouldBind(ctx, &req.Header, nil, &req.ServicePhoneClassListQuery, nil)
  189. if err != nil {
  190. logger.Error("func",
  191. zap.String("call", "util.ShouldBind"),
  192. zap.String("error", err.Error()))
  193. return errors.ParamsError
  194. }
  195. return nil
  196. }
  197. // 业务处理
  198. handleServiceTask := func() error {
  199. tokenInfo, err := utils.GetSubjectValue(ctx)
  200. if err != nil {
  201. return err
  202. }
  203. // 响应数据
  204. resp := param_v1.ServicePhoneClassListResponse{}
  205. rpcReq := &v1.ServicePhoneClassListRequest{
  206. GardenId:tokenInfo.GardenId,
  207. PageSize:req.PageSize,
  208. Page:req.Page,
  209. }
  210. rpcRsp, err := pb.Garden.ServicePhoneClassList(ctx, rpcReq)
  211. if err != nil {
  212. s, _ := json.MarshalToString(req)
  213. logger.Error("func",
  214. zap.String("call", "pb.Garden.ServicePhoneClassList"),
  215. zap.String("params", s),
  216. zap.String("error", err.Error()))
  217. return errors.ErrorTransForm(err)
  218. }
  219. if rpcRsp.List == nil {
  220. rpcRsp.List = make([]*v1.ServicePhoneClassItem, 0)
  221. }
  222. resp.Data = *rpcRsp
  223. ctx.JSON(http.StatusOK, resp)
  224. return nil
  225. }
  226. // 执行任务
  227. httptasker.Exec(ctx, parseParamTask, handleServiceTask)
  228. }
  229. //
  230. // @Summary 添加电话
  231. // @Description 添加电话
  232. // @Tags 服务电话
  233. // @Accept json
  234. // @Produce json
  235. // @Param token header string true "token"
  236. // @Param body body v1.ServicePhoneAddBody true "信息"
  237. // @Success 200 {object} v1.ServicePhoneAddResponse
  238. // @Failure 500 {object} base.HTTPError
  239. // @Router /api/v1/service_phone [post]
  240. func (c *Controller) ServicePhoneAdd(ctx *gin.Context) {
  241. // 解析参数
  242. req := &param_v1.ServicePhoneAddRequest{}
  243. parseParamTask := func() error {
  244. err := util.ShouldBind(ctx, &req.Header, nil, nil, &req.ServicePhoneAddBody)
  245. if err != nil {
  246. logger.Error("func",
  247. zap.String("call", "util.ShouldBind"),
  248. zap.String("error", err.Error()))
  249. return errors.ParamsError
  250. }
  251. return nil
  252. }
  253. // 业务处理
  254. handleServiceTask := func() error {
  255. tokenInfo, err := utils.GetSubjectValue(ctx)
  256. if err != nil {
  257. return err
  258. }
  259. // 响应数据
  260. resp := param_v1.ServicePhoneAddResponse{}
  261. rpcReq := &v1.ServicePhoneAddRequest{
  262. GardenId:tokenInfo.GardenId,
  263. Phone:req.Phone,
  264. ClassId:req.ClassId,
  265. Name:req.Name,
  266. Enable:req.Enable,
  267. }
  268. rpcRsp, err := pb.Garden.ServicePhoneAdd(ctx, rpcReq)
  269. if err != nil {
  270. s, _ := json.MarshalToString(req)
  271. logger.Error("func",
  272. zap.String("call", "pb.Garden.ServicePhoneAdd"),
  273. zap.String("params", s),
  274. zap.String("error", err.Error()))
  275. return errors.ErrorTransForm(err)
  276. }
  277. resp.Data = *rpcRsp
  278. ctx.JSON(http.StatusOK, resp)
  279. return nil
  280. }
  281. // 执行任务
  282. httptasker.Exec(ctx, parseParamTask, handleServiceTask)
  283. }
  284. //
  285. // @Summary 修改电话
  286. // @Description 修改电话
  287. // @Tags 服务电话
  288. // @Accept json
  289. // @Produce json
  290. // @Param token header string true "token"
  291. // @Param body body v1.ServicePhoneUpdateBody true "信息"
  292. // @Success 200 {object} v1.ServicePhoneUpdateResponse
  293. // @Failure 500 {object} base.HTTPError
  294. // @Router /api/v1/service_phone [put]
  295. func (c *Controller) ServicePhoneUpdate(ctx *gin.Context) {
  296. // 解析参数
  297. req := &param_v1.ServicePhoneUpdateRequest{}
  298. parseParamTask := func() error {
  299. err := util.ShouldBind(ctx, &req.Header, nil, nil, &req.ServicePhoneUpdateBody)
  300. if err != nil {
  301. logger.Error("func",
  302. zap.String("call", "util.ShouldBind"),
  303. zap.String("error", err.Error()))
  304. return errors.ParamsError
  305. }
  306. return nil
  307. }
  308. // 业务处理
  309. handleServiceTask := func() error {
  310. tokenInfo, err := utils.GetSubjectValue(ctx)
  311. if err != nil {
  312. return err
  313. }
  314. // 响应数据
  315. resp := param_v1.ServicePhoneUpdateResponse{}
  316. rpcReq := &v1.ServicePhoneUpdateRequest{
  317. GardenId:tokenInfo.GardenId,
  318. Phone:req.Phone,
  319. Name:req.Name,
  320. Enable:req.Enable,
  321. Id:req.Id,
  322. }
  323. _, err = pb.Garden.ServicePhoneUpdate(ctx, rpcReq)
  324. if err != nil {
  325. s, _ := json.MarshalToString(req)
  326. logger.Error("func",
  327. zap.String("call", "pb.Garden.ServicePhoneUpdate"),
  328. zap.String("params", s),
  329. zap.String("error", err.Error()))
  330. return errors.ErrorTransForm(err)
  331. }
  332. ctx.JSON(http.StatusOK, resp)
  333. return nil
  334. }
  335. // 执行任务
  336. httptasker.Exec(ctx, parseParamTask, handleServiceTask)
  337. }
  338. //
  339. // @Summary 删除电话
  340. // @Description 删除电话
  341. // @Tags 服务电话
  342. // @Accept json
  343. // @Produce json
  344. // @Param token header string true "token"
  345. // @Param id query int true " "
  346. // @Success 200 {object} v1.ServicePhoneDelResponse
  347. // @Failure 500 {object} base.HTTPError
  348. // @Router /api/v1/service_phone [delete]
  349. func (c *Controller) ServicePhoneDel(ctx *gin.Context) {
  350. // 解析参数
  351. req := &param_v1.ServicePhoneDelRequest{}
  352. parseParamTask := func() error {
  353. err := util.ShouldBind(ctx, &req.Header, nil, &req.ServicePhoneDelQuery, nil)
  354. if err != nil {
  355. logger.Error("func",
  356. zap.String("call", "util.ShouldBind"),
  357. zap.String("error", err.Error()))
  358. return errors.ParamsError
  359. }
  360. return nil
  361. }
  362. // 业务处理
  363. handleServiceTask := func() error {
  364. tokenInfo, err := utils.GetSubjectValue(ctx)
  365. if err != nil {
  366. return err
  367. }
  368. // 响应数据
  369. resp := param_v1.ServicePhoneDelResponse{}
  370. rpcReq := &v1.ServicePhoneDelRequest{
  371. GardenId:tokenInfo.GardenId,
  372. Id:req.Id,
  373. }
  374. _, err = pb.Garden.ServicePhoneDel(ctx, rpcReq)
  375. if err != nil {
  376. s, _ := json.MarshalToString(req)
  377. logger.Error("func",
  378. zap.String("call", "pb.Garden.ServicePhoneDel"),
  379. zap.String("params", s),
  380. zap.String("error", err.Error()))
  381. return errors.ErrorTransForm(err)
  382. }
  383. ctx.JSON(http.StatusOK, resp)
  384. return nil
  385. }
  386. // 执行任务
  387. httptasker.Exec(ctx, parseParamTask, handleServiceTask)
  388. }
  389. //
  390. // @Summary 电话列表
  391. // @Description 电话列表
  392. // @Tags 服务电话
  393. // @Accept json
  394. // @Produce json
  395. // @Param token header string true "token"
  396. // @Param page query int false " "
  397. // @Param page_size query int false " "
  398. // @Param class_id query int false "分类id"
  399. // @Success 200 {object} v1.ServicePhoneListResponse
  400. // @Failure 500 {object} base.HTTPError
  401. // @Router /api/v1/service_phone [get]
  402. func (c *Controller) ServicePhoneList(ctx *gin.Context) {
  403. // 解析参数
  404. req := &param_v1.ServicePhoneListRequest{}
  405. parseParamTask := func() error {
  406. err := util.ShouldBind(ctx, &req.Header, nil, &req.ServicePhoneListQuery, nil)
  407. if err != nil {
  408. logger.Error("func",
  409. zap.String("call", "util.ShouldBind"),
  410. zap.String("error", err.Error()))
  411. return errors.ParamsError
  412. }
  413. return nil
  414. }
  415. // 业务处理
  416. handleServiceTask := func() error {
  417. tokenInfo, err := utils.GetSubjectValue(ctx)
  418. if err != nil {
  419. return err
  420. }
  421. // 响应数据
  422. resp := param_v1.ServicePhoneListResponse{}
  423. rpcReq := &v1.ServicePhoneListRequest{
  424. GardenId:tokenInfo.GardenId,
  425. PageSize:req.PageSize,
  426. Page:req.Page,
  427. ClassId:req.ClassId,
  428. }
  429. rpcRsp, err := pb.Garden.ServicePhoneList(ctx, rpcReq)
  430. if err != nil {
  431. s, _ := json.MarshalToString(req)
  432. logger.Error("func",
  433. zap.String("call", "pb.Garden.ServicePhoneList"),
  434. zap.String("params", s),
  435. zap.String("error", err.Error()))
  436. return errors.ErrorTransForm(err)
  437. }
  438. if rpcRsp.List == nil {
  439. rpcRsp.List = make([]*v1.ServicePhoneItem, 0)
  440. }
  441. resp.Data = *rpcRsp
  442. ctx.JSON(http.StatusOK, resp)
  443. return nil
  444. }
  445. // 执行任务
  446. httptasker.Exec(ctx, parseParamTask, handleServiceTask)
  447. }