eta_trial_approval.go 7.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226
  1. package eta_trial
  2. import (
  3. "github.com/beego/beego/v2/client/orm"
  4. "github.com/rdlucklib/rdluck_tools/paging"
  5. "time"
  6. )
  7. type EtaTrialApproval struct {
  8. ApprovalId int `orm:"column(approval_id);pk" description:"eta审批id"`
  9. UserName string `description:"客户名称"`
  10. CompanyName string `description:"客户公司姓名"`
  11. Position string `description:"职位"`
  12. Mobile string `description:"手机号"`
  13. SellerId int `description:"销售id"`
  14. Seller string `description:"销售员名称"`
  15. CreateTime time.Time
  16. ModifyTime time.Time
  17. ApprovalContent string `description:"待审内容"`
  18. ApplyMethod int `description:"申请类型:1:申请账号 2:申请启用"`
  19. ApplyReasons string `description:"申请理由"`
  20. ApprovalRemark string `description:"审批描述"`
  21. ApprovalStatus string `description:"审批状态 '待审批','已审批','驳回','已撤回'"`
  22. }
  23. func GetETATrialApprovalByMobile(mobile string) (item *EtaTrialApproval, err error) {
  24. sql := `SELECT * FROM eta_trial_approval WHERE mobile = ? ORDER BY create_time DESC LIMIT 1`
  25. o := orm.NewOrm()
  26. err = o.Raw(sql, mobile).QueryRow(&item)
  27. return
  28. }
  29. func GetETATrialApprovalByCondition(condition string, pars []interface{}) (item []*EtaTrialApproval, err error) {
  30. o := orm.NewOrm()
  31. sql := `SELECT * FROM eta_trial_approval WHERE 1=1 `
  32. sql += condition
  33. _, err = o.Raw(sql, pars...).QueryRows(&item)
  34. if err != nil {
  35. return nil, err
  36. }
  37. return item, nil
  38. }
  39. // AddETATrialApproval 新增审批
  40. func AddETATrialApproval(item *EtaTrialApproval) (lastId int64, err error) {
  41. o := orm.NewOrm()
  42. lastId, err = o.Insert(item)
  43. return
  44. }
  45. type ETATrialListResp struct {
  46. BannedList []*ETATrialAddRespItem
  47. RepeatList []*ETATrialAddRespItem
  48. SuccessList []*ETATrialAddRespItem
  49. InternalList []*ETATrialAddRespItem
  50. }
  51. type ETATrialAddRespItem struct {
  52. UserName string `description:"客户名称"`
  53. CompanyName string `description:"客户公司姓名"`
  54. Position string `description:"职位"`
  55. Mobile string `description:"手机号"`
  56. Seller string `description:"销售"`
  57. }
  58. type ETAAddEnableReq struct {
  59. UserName string `description:"客户名称"`
  60. CompanyName string `description:"客户公司姓名"`
  61. Position string `description:"职位"`
  62. Mobile string `description:"手机号"`
  63. ApplyReasons string `description:"申请理由"`
  64. }
  65. type ETAAddApplyReq struct {
  66. IsCheckAll bool `description:"是否全选"`
  67. ApplyReasons string `description:"申请理由"`
  68. MobileList []string `description:"手机号列表"`
  69. }
  70. type ETATrialApplyRevokeReq struct {
  71. Mobile string `description:"客户手机号"`
  72. }
  73. // 消息撤回
  74. func RevokeApproval(mobile string) (err error) {
  75. o := orm.NewOrm()
  76. sql := `UPDATE eta_trial_approval SET approval_status=4,modify_time=NOW()
  77. WHERE mobile=? AND approval_status=1 `
  78. _, err = o.Raw(sql, mobile).Exec()
  79. return
  80. }
  81. func DelApproval(approvalId int) (err error) {
  82. o := orm.NewOrm()
  83. sql := `DELETE FROM eta_trial_approval WHERE approval_id = ? `
  84. _, err = o.Raw(sql, approvalId).Exec()
  85. return
  86. }
  87. func RejectApproval(approvalId int, reason string) (err error) {
  88. o := orm.NewOrm()
  89. sql := `UPDATE eta_trial_approval SET approval_status=3,modify_time=NOW(), approval_remark = ?
  90. WHERE approval_id=? `
  91. _, err = o.Raw(sql, reason, approvalId).Exec()
  92. return
  93. }
  94. func ApprovalTrial(approvalId int) (err error) {
  95. o := orm.NewOrm()
  96. sql := `UPDATE eta_trial_approval SET approval_status=2,modify_time=NOW()
  97. WHERE approval_id=? `
  98. _, err = o.Raw(sql, approvalId).Exec()
  99. return
  100. }
  101. func GetETATrialApprovalById(approvalId int) (item *EtaTrialApproval, err error) {
  102. sql := `SELECT * FROM eta_trial_approval WHERE approval_id = ? `
  103. o := orm.NewOrm()
  104. err = o.Raw(sql, approvalId).QueryRow(&item)
  105. return
  106. }
  107. func GetETATrialApprovalBySellerId(condition, sortStr string, pars []interface{}, startSize, pageSize int) (items []*EtaTrialApprovalResp, err error) {
  108. sql := `SELECT
  109. a.*, b.account, b.password
  110. FROM
  111. eta_trial_approval AS a
  112. LEFT JOIN eta_trial AS b ON a.mobile = b.mobile AND a.approval_status = '已审批'
  113. WHERE
  114. 1 = 1 AND a.seller_id = ? `
  115. o := orm.NewOrm()
  116. if condition != "" {
  117. sql += condition
  118. }
  119. sql += sortStr + ` LIMIT ?,? `
  120. _, err = o.Raw(sql, pars, startSize, pageSize).QueryRows(&items)
  121. return
  122. }
  123. func GetETATrialApprovalCountBySellerId(condition, sortStr string, pars []interface{}) (count int, err error) {
  124. sql := `SELECT COUNT(1) AS count FROM eta_trial_approval AS a WHERE 1=1 AND a.seller_id = ? `
  125. o := orm.NewOrm()
  126. if condition != "" {
  127. sql += condition
  128. }
  129. err = o.Raw(sql, pars).QueryRow(&count)
  130. return
  131. }
  132. type ETATrialApprovalListRespList struct {
  133. List []*EtaTrialApprovalResp
  134. Paging *paging.PagingItem
  135. }
  136. type EtaTrialApprovalResp struct {
  137. ApprovalId int `orm:"column(approval_id);pk" description:"eta审批id"`
  138. UserName string `description:"客户名称"`
  139. CompanyName string `description:"客户公司姓名"`
  140. Position string `description:"职位"`
  141. Mobile string `description:"手机号"`
  142. SellerId int `description:"销售id"`
  143. Seller string `description:"销售员名称"`
  144. CreateTime string
  145. ModifyTime string
  146. ApprovalContent string `description:"待审内容"`
  147. ApplyMethod int `description:"申请类型:1:申请账号 2:申请启用"`
  148. ApplyReasons string `description:"申请理由"`
  149. ApprovalRemark string `description:"审批描述"`
  150. ApprovalStatus string `description:"审批状态 '待审批','已审批','驳回','已撤回'"`
  151. Account string `description:"账号"`
  152. Password string `description:"密码-明文"`
  153. }
  154. func GetETATrialApprovalList(condition, sortStr string, pars []interface{}, startSize, pageSize int) (items []*EtaTrialApprovalResp, err error) {
  155. sql := `SELECT * FROM eta_trial_approval WHERE 1=1 `
  156. o := orm.NewOrm()
  157. if condition != "" {
  158. sql += condition
  159. }
  160. sql += sortStr + ` LIMIT ?,? `
  161. _, err = o.Raw(sql, pars, startSize, pageSize).QueryRows(&items)
  162. return
  163. }
  164. func GetETATrialApprovalListCount(condition string, pars []interface{}) (count int, err error) {
  165. sql := `SELECT COUNT(1) AS count FROM eta_trial_approval WHERE 1=1 `
  166. o := orm.NewOrm()
  167. if condition != "" {
  168. sql += condition
  169. }
  170. err = o.Raw(sql, pars).QueryRow(&count)
  171. return
  172. }
  173. type RevokeReq struct {
  174. Mobile string
  175. }
  176. type DelReq struct {
  177. ApprovalId int
  178. }
  179. type RejectReq struct {
  180. ApprovalId int
  181. RejectReason string
  182. }
  183. func ResubmitTrialNoReasons(userName, companyName, position string, approvalId int) (err error) {
  184. o := orm.NewOrm()
  185. sql := `UPDATE eta_trial_approval SET approval_status=1,modify_time=NOW(), user_name = ?,company_name=?, position= ?
  186. WHERE approval_id=? `
  187. _, err = o.Raw(sql, userName, companyName, position, approvalId).Exec()
  188. return
  189. }
  190. func ResubmitTrial(approvalId int, applyReasons string) (err error) {
  191. o := orm.NewOrm()
  192. sql := `UPDATE eta_trial_approval SET approval_status=1,modify_time=NOW(), apply_reasons = ?
  193. WHERE approval_id=? `
  194. _, err = o.Raw(sql, applyReasons, approvalId).Exec()
  195. return
  196. }