exa_customer.go 5.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173
  1. package v1
  2. import (
  3. "fmt"
  4. "gin-vue-admin/global/response"
  5. "gin-vue-admin/model"
  6. "gin-vue-admin/model/request"
  7. resp "gin-vue-admin/model/response"
  8. "gin-vue-admin/service"
  9. "gin-vue-admin/utils"
  10. "github.com/gin-gonic/gin"
  11. )
  12. // @Tags SysApi
  13. // @Summary 创建客户
  14. // @Security ApiKeyAuth
  15. // @accept application/json
  16. // @Produce application/json
  17. // @Param data body model.ExaCustomer true "创建客户"
  18. // @Success 200 {string} string "{"success":true,"data":{},"msg":"获取成功"}"
  19. // @Router /customer/customer [post]
  20. func CreateExaCustomer(c *gin.Context) {
  21. var cu model.ExaCustomer
  22. _ = c.ShouldBindJSON(&cu)
  23. CustomerVerify := utils.Rules{
  24. "CustomerName": {utils.NotEmpty()},
  25. "CustomerPhoneData": {utils.NotEmpty()},
  26. "SysUserID": {utils.NotEmpty()},
  27. "SysUserAuthorityID": {utils.NotEmpty()},
  28. }
  29. CustomerVerifyErr := utils.Verify(cu, CustomerVerify)
  30. if CustomerVerifyErr!=nil {
  31. response.FailWithMessage(CustomerVerifyErr.Error(), c)
  32. return
  33. }
  34. claims, _ := c.Get("claims")
  35. waitUse := claims.(*request.CustomClaims)
  36. cu.SysUserID = waitUse.ID
  37. cu.SysUserAuthorityID = waitUse.AuthorityId
  38. err := service.CreateExaCustomer(cu)
  39. if err != nil {
  40. response.FailWithMessage(fmt.Sprintf("删除失败:%v", err), c)
  41. } else {
  42. response.OkWithMessage("创建成功", c)
  43. }
  44. }
  45. // @Tags SysApi
  46. // @Summary 删除客户
  47. // @Security ApiKeyAuth
  48. // @accept application/json
  49. // @Produce application/json
  50. // @Param data body model.ExaCustomer true "删除客户"
  51. // @Success 200 {string} string "{"success":true,"data":{},"msg":"获取成功"}"
  52. // @Router /customer/customer [delete]
  53. func DeleteExaCustomer(c *gin.Context) {
  54. var cu model.ExaCustomer
  55. _ = c.ShouldBindJSON(&cu)
  56. CustomerVerify := utils.Rules{
  57. "ID": {utils.NotEmpty()},
  58. }
  59. CustomerVerifyErr := utils.Verify(cu.Model, CustomerVerify)
  60. if CustomerVerifyErr!=nil {
  61. response.FailWithMessage(CustomerVerifyErr.Error(), c)
  62. return
  63. }
  64. err := service.DeleteExaCustomer(cu)
  65. if err != nil {
  66. response.FailWithMessage(fmt.Sprintf("删除失败:%v", err), c)
  67. } else {
  68. response.OkWithMessage("删除成功", c)
  69. }
  70. }
  71. // @Tags SysApi
  72. // @Summary 更新客户信息
  73. // @Security ApiKeyAuth
  74. // @accept application/json
  75. // @Produce application/json
  76. // @Param data body model.ExaCustomer true "创建客户"
  77. // @Success 200 {string} string "{"success":true,"data":{},"msg":"获取成功"}"
  78. // @Router /customer/customer [put]
  79. func UpdateExaCustomer(c *gin.Context) {
  80. var cu model.ExaCustomer
  81. _ = c.ShouldBindJSON(&cu)
  82. IdCustomerVerify := utils.Rules{
  83. "ID": {utils.NotEmpty()},
  84. }
  85. IdCustomerVerifyErr := utils.Verify(cu.Model, IdCustomerVerify)
  86. if IdCustomerVerifyErr!=nil {
  87. response.FailWithMessage(IdCustomerVerifyErr.Error(), c)
  88. return
  89. }
  90. CustomerVerify := utils.Rules{
  91. "CustomerName": {utils.NotEmpty()},
  92. "CustomerPhoneData": {utils.NotEmpty()},
  93. "SysUserID": {utils.NotEmpty()},
  94. "SysUserAuthorityID": {utils.NotEmpty()},
  95. }
  96. CustomerVerifyErr := utils.Verify(cu, CustomerVerify)
  97. if CustomerVerifyErr!=nil {
  98. response.FailWithMessage(CustomerVerifyErr.Error(), c)
  99. return
  100. }
  101. err := service.UpdateExaCustomer(&cu)
  102. if err != nil {
  103. response.FailWithMessage(fmt.Sprintf("更新失败:%v", err), c)
  104. } else {
  105. response.OkWithMessage("更新成功", c)
  106. }
  107. }
  108. // @Tags SysApi
  109. // @Summary 获取单一客户信息
  110. // @Security ApiKeyAuth
  111. // @accept application/json
  112. // @Produce application/json
  113. // @Param data body model.ExaCustomer true "获取单一客户信息"
  114. // @Success 200 {string} string "{"success":true,"data":{},"msg":"获取成功"}"
  115. // @Router /customer/customer [get]
  116. func GetExaCustomer(c *gin.Context) {
  117. var cu model.ExaCustomer
  118. _ = c.ShouldBindQuery(&cu)
  119. IdCustomerVerify := utils.Rules{
  120. "ID": {utils.NotEmpty()},
  121. }
  122. IdCustomerVerifyErr := utils.Verify(cu.Model, IdCustomerVerify)
  123. if IdCustomerVerifyErr!=nil {
  124. response.FailWithMessage(IdCustomerVerifyErr.Error(), c)
  125. return
  126. }
  127. err, customer := service.GetExaCustomer(cu.ID)
  128. if err != nil {
  129. response.FailWithMessage(fmt.Sprintf("获取失败:%v", err), c)
  130. } else {
  131. response.OkWithData(resp.ExaCustomerResponse{Customer: customer}, c)
  132. }
  133. }
  134. // @Tags SysApi
  135. // @Summary 获取权限客户列表
  136. // @Security ApiKeyAuth
  137. // @accept application/json
  138. // @Produce application/json
  139. // @Param data body request.PageInfo true "获取权限客户列表"
  140. // @Success 200 {string} string "{"success":true,"data":{},"msg":"获取成功"}"
  141. // @Router /customer/customerList [get]
  142. func GetExaCustomerList(c *gin.Context) {
  143. claims, _ := c.Get("claims")
  144. waitUse := claims.(*request.CustomClaims)
  145. var pageInfo request.PageInfo
  146. _ = c.ShouldBindQuery(&pageInfo)
  147. CustomerVerify := utils.Rules{
  148. "Page": {utils.NotEmpty()},
  149. "PageSize": {utils.NotEmpty()},
  150. }
  151. CustomerVerifyErr := utils.Verify(pageInfo, CustomerVerify)
  152. if CustomerVerifyErr!=nil {
  153. response.FailWithMessage(CustomerVerifyErr.Error(), c)
  154. return
  155. }
  156. err, customerList, total := service.GetCustomerInfoList(waitUse.AuthorityId, pageInfo)
  157. if err != nil {
  158. response.FailWithMessage(fmt.Sprintf("获取失败:%v", err), c)
  159. } else {
  160. response.OkWithData(resp.PageResult{
  161. List: customerList,
  162. Total: total,
  163. Page: pageInfo.Page,
  164. PageSize: pageInfo.PageSize,
  165. }, c)
  166. }
  167. }