account_controller.go 13 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325
  1. package controller
  2. import (
  3. "encoding/json"
  4. "fmt"
  5. "github.com/gin-gonic/gin"
  6. "github.com/sirupsen/logrus"
  7. "youngee_b_api/app/dao"
  8. "youngee_b_api/app/entity"
  9. "youngee_b_api/app/service/review_service"
  10. "youngee_b_api/app/vo"
  11. )
  12. type AccountController struct{}
  13. // 营业执照OCR识别
  14. func (t AccountController) OCRIdentify(c *gin.Context) {
  15. param := &vo.IdentifyParam{}
  16. err := c.BindJSON(param)
  17. if err != nil {
  18. logrus.Errorf("Request bind err:%+v\n", err)
  19. returnError(c, 40000, "Parameter Error: "+err.Error())
  20. return
  21. }
  22. reviewService := review_service.GetConfig()
  23. resultMap, err := reviewService.CheckBusinessLicense(param)
  24. if err != nil {
  25. type ErrorResponse struct {
  26. StatusCode int `json:"status_code"`
  27. RequestID string `json:"request_id"`
  28. ErrorCode string `json:"error_code"`
  29. ErrorMessage string `json:"error_message"`
  30. EncodedAuthorizationMessage string `json:"encoded_authorization_message"`
  31. }
  32. var errorResp ErrorResponse
  33. // 解析 JSON 字符串
  34. err1 := json.Unmarshal([]byte(err.Error()), &errorResp)
  35. if err1 != nil {
  36. fmt.Printf("Error parsing JSON: %v\n", err)
  37. returnError(c, 40000, err.Error())
  38. return
  39. }
  40. logrus.Errorf("[OCRIdentify] call Show err:%+v\n", err)
  41. returnError(c, 40000, errorResp.ErrorMessage)
  42. return
  43. }
  44. returnSuccess(c, 20000, resultMap)
  45. }
  46. // 策略配置-自动执行&违约规则
  47. func (t AccountController) StrategyAuto(c *gin.Context) {
  48. param := &vo.InfoAutoParam{}
  49. err := c.BindJSON(param)
  50. if err != nil {
  51. logrus.Errorf("Request bind err:%+v\n", err)
  52. returnError(c, 40000, "Parameter Error: "+err.Error())
  53. return
  54. }
  55. autoTaskInfoLast := dao.InfoAutoTaskDao{}.GetAutoTaskLast(param.EnterpriseId)
  56. autoTaskInfoNew := entity.InfoAutoTask{
  57. EnterpriseID: param.EnterpriseId,
  58. ReviewAuto: autoTaskInfoLast.ReviewAuto,
  59. LinkReviewAuto: autoTaskInfoLast.LinkReviewAuto,
  60. TaskFinishAuto: autoTaskInfoLast.TaskFinishAuto,
  61. Invalid: autoTaskInfoLast.Invalid,
  62. SelectionInvalid: autoTaskInfoLast.SelectionInvalid,
  63. DraftDefault: autoTaskInfoLast.DraftDefault,
  64. DraftCooperateProjectDefault: autoTaskInfoLast.DraftCooperateProjectDefault,
  65. DraftStoreDefault: autoTaskInfoLast.DraftStoreDefault,
  66. DraftCooperateLocalDefault: autoTaskInfoLast.DraftCooperateLocalDefault,
  67. LinkBreach: autoTaskInfoLast.LinkBreach,
  68. CaseCloseDefault: autoTaskInfoLast.CaseCloseDefault,
  69. ReviewAutoOperator: autoTaskInfoLast.ReviewAutoOperator,
  70. LinkReviewAutoOperator: autoTaskInfoLast.LinkReviewAutoOperator,
  71. TaskFinishAutoOperator: autoTaskInfoLast.TaskFinishAutoOperator,
  72. InvalidOperator: autoTaskInfoLast.InvalidOperator,
  73. SelectionInvalidOperator: autoTaskInfoLast.SelectionInvalidOperator,
  74. DraftDefaultOperator: autoTaskInfoLast.DraftDefaultOperator,
  75. DraftCooperateProjectDefaultOperator: autoTaskInfoLast.DraftCooperateProjectDefaultOperator,
  76. DraftStoreDefaultOperator: autoTaskInfoLast.DraftStoreDefaultOperator,
  77. DraftCooperateLocalDefaultOperator: autoTaskInfoLast.DraftCooperateLocalDefaultOperator,
  78. LinkBreachOperator: autoTaskInfoLast.LinkBreachOperator,
  79. CaseCloseDefaultOperator: autoTaskInfoLast.CaseCloseDefaultOperator,
  80. }
  81. if param.ReviewAuto != 0 {
  82. autoTaskInfoNew.ReviewAuto = param.ReviewAuto
  83. autoTaskInfoNew.ReviewAutoOperator = param.EnterpriseId
  84. }
  85. if param.LinkReviewAuto != 0 {
  86. autoTaskInfoNew.LinkReviewAuto = param.LinkReviewAuto
  87. autoTaskInfoNew.LinkReviewAutoOperator = param.EnterpriseId
  88. }
  89. if param.TaskFinishAuto != 0 {
  90. autoTaskInfoNew.TaskFinishAuto = param.TaskFinishAuto
  91. autoTaskInfoNew.TaskFinishAutoOperator = param.EnterpriseId
  92. }
  93. if param.Invalid != 0 {
  94. autoTaskInfoNew.Invalid = param.Invalid
  95. autoTaskInfoNew.InvalidOperator = param.EnterpriseId
  96. }
  97. if param.SelectionInvalid != 0 {
  98. autoTaskInfoNew.SelectionInvalid = param.SelectionInvalid
  99. autoTaskInfoNew.SelectionInvalidOperator = param.EnterpriseId
  100. }
  101. if param.DraftDefault != 0 {
  102. autoTaskInfoNew.DraftDefault = param.DraftDefault
  103. autoTaskInfoNew.DraftDefaultOperator = param.EnterpriseId
  104. }
  105. if param.DraftCooperateProjectDefault != 0 {
  106. autoTaskInfoNew.DraftCooperateProjectDefault = param.DraftCooperateProjectDefault
  107. autoTaskInfoNew.DraftCooperateProjectDefaultOperator = param.EnterpriseId
  108. }
  109. if param.DraftStoreDefault != 0 {
  110. autoTaskInfoNew.DraftStoreDefault = param.DraftStoreDefault
  111. autoTaskInfoNew.DraftStoreDefaultOperator = param.EnterpriseId
  112. }
  113. if param.DraftCooperateLocalDefault != 0 {
  114. autoTaskInfoNew.DraftCooperateLocalDefault = param.DraftCooperateLocalDefault
  115. autoTaskInfoNew.DraftCooperateLocalDefaultOperator = param.EnterpriseId
  116. }
  117. if param.LinkBreach != 0 {
  118. autoTaskInfoNew.LinkBreach = param.LinkBreach
  119. autoTaskInfoNew.LinkBreachOperator = param.EnterpriseId
  120. }
  121. if param.CaseCloseDefault != 0 {
  122. autoTaskInfoNew.CaseCloseDefault = param.CaseCloseDefault
  123. autoTaskInfoNew.CaseCloseDefaultOperator = param.EnterpriseId
  124. }
  125. err1 := dao.InfoAutoTaskDao{}.Insert(autoTaskInfoNew)
  126. if err1 != nil {
  127. logrus.Errorf("[StrategyAuto] call Insert err:%+v\n", err1)
  128. returnError(c, 40000, err1.Error())
  129. return
  130. }
  131. returnSuccess(c, 20000, nil)
  132. }
  133. // 策略配置-违约扣款
  134. func (t AccountController) StrategyDefaultPayment(c *gin.Context) {
  135. param := &vo.InfoAutoDefaultParam{}
  136. err := c.BindJSON(param)
  137. if err != nil {
  138. logrus.Errorf("Request bind err:%+v\n", err)
  139. returnError(c, 40000, "Parameter Error: "+err.Error())
  140. return
  141. }
  142. autoDefaultInfoLast := dao.InfoAutoDefaultDao{}.GetAutoDefaultLast(param.EnterpriseId)
  143. infoAutoDefaultNew := entity.InfoAutoDefault{
  144. EnterpriseID: param.EnterpriseId,
  145. SketchOtherTimeOut: autoDefaultInfoLast.SketchOtherTimeOut,
  146. SketchOtherNotUpload: autoDefaultInfoLast.SketchOtherNotUpload,
  147. LinkReplaceTimeOut: autoDefaultInfoLast.LinkReplaceTimeOut,
  148. LinkReplaceNotUpload: autoDefaultInfoLast.LinkReplaceNotUpload,
  149. DataReplaceTimeOut: autoDefaultInfoLast.DataReplaceTimeOut,
  150. DataReplaceNotUpload: autoDefaultInfoLast.DataReplaceNotUpload,
  151. SketchOtherTimeOutOperator: autoDefaultInfoLast.SketchOtherTimeOutOperator,
  152. SketchOtherNotUploadOperator: autoDefaultInfoLast.SketchOtherNotUploadOperator,
  153. LinkReplaceTimeOutOperator: autoDefaultInfoLast.LinkReplaceTimeOutOperator,
  154. LinkReplaceNotUploadOperator: autoDefaultInfoLast.LinkReplaceNotUploadOperator,
  155. DataReplaceTimeOutOperator: autoDefaultInfoLast.DataReplaceTimeOutOperator,
  156. DataReplaceNotUploadOperator: autoDefaultInfoLast.DataReplaceNotUploadOperator,
  157. }
  158. if param.SketchOtherTimeOut != 0 {
  159. infoAutoDefaultNew.SketchOtherTimeOut = param.SketchOtherTimeOut
  160. infoAutoDefaultNew.SketchOtherNotUploadOperator = param.EnterpriseId
  161. }
  162. if param.SketchOtherNotUpload != 0 {
  163. infoAutoDefaultNew.SketchOtherNotUpload = param.SketchOtherNotUpload
  164. infoAutoDefaultNew.SketchOtherNotUploadOperator = param.EnterpriseId
  165. }
  166. if param.LinkReplaceTimeOut != 0 {
  167. infoAutoDefaultNew.LinkReplaceTimeOut = param.LinkReplaceTimeOut
  168. infoAutoDefaultNew.LinkReplaceTimeOutOperator = param.EnterpriseId
  169. }
  170. if param.LinkReplaceNotUpload != 0 {
  171. infoAutoDefaultNew.LinkReplaceNotUpload = param.LinkReplaceNotUpload
  172. infoAutoDefaultNew.LinkReplaceNotUploadOperator = param.EnterpriseId
  173. }
  174. if param.DataReplaceTimeOut != 0 {
  175. infoAutoDefaultNew.DataReplaceTimeOut = param.DataReplaceTimeOut
  176. infoAutoDefaultNew.DataReplaceTimeOutOperator = param.EnterpriseId
  177. }
  178. if param.DataReplaceNotUpload != 0 {
  179. infoAutoDefaultNew.DataReplaceNotUpload = param.DataReplaceNotUpload
  180. infoAutoDefaultNew.DataReplaceNotUploadOperator = param.EnterpriseId
  181. }
  182. err1 := dao.InfoAutoDefaultDao{}.Insert(infoAutoDefaultNew)
  183. if err1 != nil {
  184. logrus.Errorf("[StrategyDefaultPayment] call Insert err:%+v\n", err1)
  185. returnError(c, 40000, err1.Error())
  186. return
  187. }
  188. returnSuccess(c, 20000, nil)
  189. }
  190. // 策略配置-自动执行&违约规则 详情
  191. func (t AccountController) StrategyAutoDetail(c *gin.Context) {
  192. param := &vo.InfoAutoParam{}
  193. err := c.BindJSON(param)
  194. if err != nil {
  195. logrus.Errorf("Request bind err:%+v\n", err)
  196. returnError(c, 40000, "Parameter Error: "+err.Error())
  197. return
  198. }
  199. autoTaskInfo := dao.InfoAutoTaskDao{}.GetAutoTaskLast(param.EnterpriseId)
  200. reInfoAuto := vo.ReInfoAuto{
  201. ReviewAuto: autoTaskInfo.ReviewAuto,
  202. LinkReviewAuto: autoTaskInfo.LinkReviewAuto,
  203. TaskFinishAuto: autoTaskInfo.TaskFinishAuto,
  204. Invalid: autoTaskInfo.Invalid,
  205. SelectionInvalid: autoTaskInfo.SelectionInvalid,
  206. DraftDefault: autoTaskInfo.DraftDefault,
  207. DraftCooperateProjectDefault: autoTaskInfo.DraftCooperateProjectDefault,
  208. DraftStoreDefault: autoTaskInfo.DraftStoreDefault,
  209. DraftCooperateLocalDefault: autoTaskInfo.DraftCooperateLocalDefault,
  210. LinkBreach: autoTaskInfo.LinkBreach,
  211. CaseCloseDefault: autoTaskInfo.CaseCloseDefault,
  212. ReviewAutoOperator: "样叽系统",
  213. LinkReviewAutoOperator: "样叽系统",
  214. TaskFinishAutoOperator: "样叽系统",
  215. InvalidOperator: "样叽系统",
  216. SelectionInvalidOperator: "样叽系统",
  217. DraftDefaultOperator: "样叽系统",
  218. DraftCooperateProjectDefaultOperator: "样叽系统",
  219. DraftStoreDefaultOperator: "样叽系统",
  220. DraftCooperateLocalDefaultOperator: "样叽系统",
  221. LinkBreachOperator: "样叽系统",
  222. CaseCloseDefaultOperator: "样叽系统",
  223. }
  224. var businessName string
  225. enterprise, err1 := dao.EnterpriseDao{}.GetEnterprise(autoTaskInfo.EnterpriseID)
  226. if err1 != nil && enterprise != nil {
  227. businessName = enterprise.BusinessName
  228. }
  229. if autoTaskInfo.ReviewAutoOperator != "0" {
  230. reInfoAuto.ReviewAutoOperator = businessName
  231. }
  232. if autoTaskInfo.LinkReviewAutoOperator != "0" {
  233. reInfoAuto.LinkReviewAutoOperator = businessName
  234. }
  235. if autoTaskInfo.TaskFinishAutoOperator != "0" {
  236. reInfoAuto.TaskFinishAutoOperator = businessName
  237. }
  238. if autoTaskInfo.InvalidOperator != "0" {
  239. reInfoAuto.InvalidOperator = businessName
  240. }
  241. if autoTaskInfo.SelectionInvalidOperator != "0" {
  242. reInfoAuto.SelectionInvalidOperator = businessName
  243. }
  244. if autoTaskInfo.DraftDefaultOperator != "0" {
  245. reInfoAuto.DraftDefaultOperator = businessName
  246. }
  247. if autoTaskInfo.DraftCooperateProjectDefaultOperator != "0" {
  248. reInfoAuto.DraftCooperateProjectDefaultOperator = businessName
  249. }
  250. if autoTaskInfo.DraftStoreDefaultOperator != "0" {
  251. reInfoAuto.DraftStoreDefaultOperator = businessName
  252. }
  253. if autoTaskInfo.DraftCooperateLocalDefaultOperator != "0" {
  254. reInfoAuto.DraftCooperateLocalDefaultOperator = businessName
  255. }
  256. if autoTaskInfo.LinkBreachOperator != "0" {
  257. reInfoAuto.LinkBreachOperator = businessName
  258. }
  259. if autoTaskInfo.CaseCloseDefaultOperator != "0" {
  260. reInfoAuto.CaseCloseDefaultOperator = businessName
  261. }
  262. returnSuccess(c, 20000, reInfoAuto)
  263. }
  264. // 策略配置-违约扣款 详情
  265. func (t AccountController) StrategyDefaultPaymentPaymentDetail(c *gin.Context) {
  266. param := &vo.InfoAutoDefaultParam{}
  267. err := c.BindJSON(param)
  268. if err != nil {
  269. logrus.Errorf("Request bind err:%+v\n", err)
  270. returnError(c, 40000, "Parameter Error: "+err.Error())
  271. return
  272. }
  273. autoDefaultInfo := dao.InfoAutoDefaultDao{}.GetAutoDefaultLast(param.EnterpriseId)
  274. reInfoAutoDefault := vo.ReInfoAutoDefault{
  275. SketchOtherTimeOut: autoDefaultInfo.SketchOtherTimeOut,
  276. SketchOtherNotUpload: autoDefaultInfo.SketchOtherNotUpload,
  277. LinkReplaceTimeOut: autoDefaultInfo.LinkReplaceTimeOut,
  278. LinkReplaceNotUpload: autoDefaultInfo.LinkReplaceNotUpload,
  279. DataReplaceTimeOut: autoDefaultInfo.DataReplaceTimeOut,
  280. DataReplaceNotUpload: autoDefaultInfo.DataReplaceNotUpload,
  281. SketchOtherTimeOutOperator: "样叽系统",
  282. SketchOtherNotUploadOperator: "样叽系统",
  283. LinkReplaceTimeOutOperator: "样叽系统",
  284. LinkReplaceNotUploadOperator: "样叽系统",
  285. DataReplaceTimeOutOperator: "样叽系统",
  286. DataReplaceNotUploadOperator: "样叽系统",
  287. }
  288. var businessName string
  289. enterprise, err1 := dao.EnterpriseDao{}.GetEnterprise(autoDefaultInfo.EnterpriseID)
  290. if err1 != nil && enterprise != nil {
  291. businessName = enterprise.BusinessName
  292. }
  293. if autoDefaultInfo.SketchOtherTimeOutOperator != "0" {
  294. reInfoAutoDefault.SketchOtherTimeOutOperator = businessName
  295. }
  296. if autoDefaultInfo.SketchOtherNotUploadOperator != "0" {
  297. reInfoAutoDefault.SketchOtherNotUploadOperator = businessName
  298. }
  299. if autoDefaultInfo.LinkReplaceTimeOutOperator != "0" {
  300. reInfoAutoDefault.LinkReplaceTimeOutOperator = businessName
  301. }
  302. if autoDefaultInfo.LinkReplaceNotUploadOperator != "0" {
  303. reInfoAutoDefault.LinkReplaceNotUploadOperator = businessName
  304. }
  305. if autoDefaultInfo.DataReplaceTimeOutOperator != "0" {
  306. reInfoAutoDefault.DataReplaceTimeOutOperator = businessName
  307. }
  308. if autoDefaultInfo.DataReplaceNotUploadOperator != "0" {
  309. reInfoAutoDefault.DataReplaceNotUploadOperator = businessName
  310. }
  311. returnSuccess(c, 20000, reInfoAutoDefault)
  312. }