THuifuMchController.java 11 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266
  1. package com.szwl.controller;
  2. import cn.hutool.core.bean.BeanUtil;
  3. import cn.hutool.core.util.StrUtil;
  4. import com.alibaba.fastjson.JSONObject;
  5. import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
  6. import com.szwl.constant.HuifuConstant;
  7. import com.szwl.constant.ResponseCodesEnum;
  8. import com.szwl.model.bo.R;
  9. import com.szwl.model.bo.ResponseModel;
  10. import com.szwl.model.entity.THuifuMch;
  11. import com.szwl.model.entity.THuifuMchCheck;
  12. import com.szwl.service.THuifuMchCheckService;
  13. import com.szwl.service.THuifuMchService;
  14. import io.swagger.annotations.Api;
  15. import io.swagger.annotations.ApiOperation;
  16. import org.springframework.beans.factory.annotation.Autowired;
  17. import org.springframework.web.bind.annotation.*;
  18. import org.springframework.web.multipart.MultipartFile;
  19. import javax.servlet.http.HttpServletRequest;
  20. import javax.validation.Valid;
  21. import java.util.Date;
  22. /**
  23. * <p>
  24. * 前端控制器
  25. * </p>
  26. *
  27. * @author wuhs
  28. * @since 2023-07-12
  29. */
  30. @Api(value = "/tHuifuMch", tags = {"汇付支付"})
  31. @RestController
  32. @RequestMapping("/tHuifuMch")
  33. public class THuifuMchController {
  34. @Autowired
  35. private THuifuMchService tHuifuMchService;
  36. @Autowired
  37. private THuifuMchCheckService tHuifuMchCheckService;
  38. @ApiOperation(value = "商户入驻申请")
  39. @PostMapping("/addMerchant")
  40. public ResponseModel<?> addMerchant(@Valid @RequestBody THuifuMchCheck tHuifuMchCheck) {
  41. if (tHuifuMchCheck.getAdminId() == null) {
  42. return R.fail(ResponseCodesEnum.A0001);
  43. }
  44. tHuifuMchCheck.setCreateDate(new Date());
  45. tHuifuMchCheck.setModifyDate(new Date());
  46. tHuifuMchCheck.setStatus("0");
  47. tHuifuMchCheckService.save(tHuifuMchCheck);
  48. return R.ok();
  49. }
  50. @ApiOperation(value = "商户修改申请")
  51. @PostMapping("/updateMerchant")
  52. public ResponseModel<?> updateMerchant(@Valid @RequestBody THuifuMchCheck tHuifuMchCheck) {
  53. if (tHuifuMchCheck.getAdminId() == null) {
  54. return R.fail(ResponseCodesEnum.A0001);
  55. }
  56. // 排除掉不复制的属性
  57. String[] ignoreProperties = {"id", "createDate","adminId","huifuId"};
  58. LambdaQueryWrapper<THuifuMchCheck> queryWrapper = new LambdaQueryWrapper<>();
  59. queryWrapper.eq(THuifuMchCheck::getAdminId,tHuifuMchCheck.getAdminId());
  60. THuifuMchCheck newHuifuMchCheck = tHuifuMchCheckService.getOne(queryWrapper);
  61. newHuifuMchCheck.setModifyDate(new Date());
  62. if(newHuifuMchCheck.getStatus().equals("3")) {
  63. BeanUtil.copyProperties(tHuifuMchCheck,newHuifuMchCheck,ignoreProperties);
  64. newHuifuMchCheck.setStatus("1");
  65. } else {
  66. BeanUtil.copyProperties(tHuifuMchCheck,newHuifuMchCheck,ignoreProperties);
  67. newHuifuMchCheck.setStatus("4");
  68. }
  69. tHuifuMchCheckService.updateById(newHuifuMchCheck);
  70. return R.ok();
  71. }
  72. @ApiOperation(value = "审核商户入驻")
  73. @GetMapping ("/auditAddMerchant")
  74. public ResponseModel<?> auditAddMerchant(Long id, String status) throws Exception {
  75. if (id == null) {
  76. return R.fail(ResponseCodesEnum.A0001);
  77. }
  78. // 找到用户id对应的审核信息
  79. THuifuMchCheck huifuMchCheck = tHuifuMchCheckService.getById(id);
  80. String data = null;
  81. if(status.equals("1")) {
  82. //通过
  83. // 判断商户类型,“0”为个人,“1”为企业
  84. if(huifuMchCheck.getType().equals("0")) {
  85. data = tHuifuMchService.addPersonage(huifuMchCheck);
  86. } else {
  87. data = tHuifuMchService.addEnterprise(huifuMchCheck);
  88. }
  89. // 判断是否入驻成功
  90. String success = "success";
  91. // 判断是否修改成功
  92. if(success.equals(data)) {
  93. return R.ok();
  94. } else {
  95. return R.fail(ResponseCodesEnum.A0001,data);
  96. }
  97. } else {
  98. // 拒绝
  99. huifuMchCheck.setModifyDate(new Date());
  100. huifuMchCheck.setStatus("3");
  101. tHuifuMchCheckService.updateById(huifuMchCheck);
  102. return R.ok();
  103. }
  104. }
  105. @ApiOperation(value = "审核商户修改")
  106. @GetMapping("/auditUpdateMerchant")
  107. public ResponseModel<?> auditUpdateMerchant(Long id, String status) throws Exception {
  108. if (id == null) {
  109. return R.fail(ResponseCodesEnum.A0001);
  110. }
  111. // 找到id对应的审核信息
  112. THuifuMchCheck huifuMchCheck = tHuifuMchCheckService.getById(id);
  113. if(status.equals("1")) {
  114. // 同意
  115. String data = tHuifuMchService.updateMerchant(huifuMchCheck);
  116. String success = "success";
  117. // 判断是否修改成功
  118. if(success.equals(data)) {
  119. return R.ok();
  120. } else {
  121. return R.fail(ResponseCodesEnum.A0001,data);
  122. }
  123. } else {
  124. // 拒绝
  125. huifuMchCheck.setModifyDate(new Date());
  126. huifuMchCheck.setStatus("3");
  127. tHuifuMchCheckService.updateById(huifuMchCheck);
  128. return R.ok();
  129. }
  130. }
  131. @ApiOperation(value = "上传材料图片")
  132. @PostMapping("/uploadPic")
  133. public ResponseModel<?> uploadPic(@RequestParam("file") MultipartFile file,
  134. @RequestParam("adminId") Long adminId,
  135. @RequestParam("fileType") String fileType){
  136. if (adminId == null) {
  137. return R.fail(ResponseCodesEnum.A0001);
  138. }
  139. // 找到用户id对应的审核信息
  140. LambdaQueryWrapper<THuifuMchCheck> queryWrapper = new LambdaQueryWrapper<>();
  141. queryWrapper.eq(THuifuMchCheck::getAdminId,adminId);
  142. THuifuMchCheck tHuifuMchCheck = tHuifuMchCheckService.getOne(queryWrapper);
  143. if(tHuifuMchCheck == null) {
  144. return R.fail(ResponseCodesEnum.A0206,"还未填写个人资料");
  145. }
  146. String result = "";
  147. if(file != null) {
  148. try{
  149. if(fileType.equals(HuifuConstant.fileType.F02.toString())) {
  150. result = tHuifuMchService.uploadPic(file, HuifuConstant.fileType.F02);
  151. tHuifuMchCheck.setCardFrontPic(result);
  152. } else if (fileType.equals(HuifuConstant.fileType.F03.toString())){
  153. result = tHuifuMchService.uploadPic(file, HuifuConstant.fileType.F03);
  154. tHuifuMchCheck.setCertBackPic(result);
  155. } else if (fileType.equals(HuifuConstant.fileType.F13.toString())) {
  156. result = tHuifuMchService.uploadPic(file, HuifuConstant.fileType.F13);
  157. tHuifuMchCheck.setCardFrontPic(result);
  158. } else if (fileType.equals(HuifuConstant.fileType.F07.toString())) {
  159. result = tHuifuMchService.uploadPic(file, HuifuConstant.fileType.F07);
  160. tHuifuMchCheck.setLicensePic(result);
  161. } else if (fileType.equals(HuifuConstant.fileType.F08.toString())) {
  162. result = tHuifuMchService.uploadPic(file, HuifuConstant.fileType.F08);
  163. tHuifuMchCheck.setRegAcctPic(result);
  164. } else if (fileType.equals(HuifuConstant.fileType.F40.toString())) {
  165. result = tHuifuMchService.uploadPic(file, HuifuConstant.fileType.F40);
  166. tHuifuMchCheck.setLegalCertFrontPic(result);
  167. } else if (fileType.equals(HuifuConstant.fileType.F41.toString())) {
  168. result = tHuifuMchService.uploadPic(file, HuifuConstant.fileType.F41);
  169. tHuifuMchCheck.setLegalCertBackPic(result);
  170. }
  171. } catch (Exception e) {
  172. e.printStackTrace();
  173. }
  174. }
  175. if(StrUtil.isNotEmpty(result)) {
  176. tHuifuMchCheckService.updateById(tHuifuMchCheck);
  177. return R.ok("上传成功").setData(result);
  178. } else {
  179. return R.fail(ResponseCodesEnum.F0000,"上传失败");
  180. }
  181. }
  182. @ApiOperation(value = "提交审核")
  183. @PostMapping("/submitCheck")
  184. public ResponseModel<?> submitCheck(@RequestBody THuifuMchCheck tHuifuMchCheck){
  185. if (tHuifuMchCheck.getAdminId() == null) {
  186. return R.fail(ResponseCodesEnum.A0001);
  187. }
  188. // 找到用户id对应的审核信息
  189. LambdaQueryWrapper<THuifuMchCheck> queryWrapper = new LambdaQueryWrapper<>();
  190. queryWrapper.eq(THuifuMchCheck::getAdminId,tHuifuMchCheck.getAdminId());
  191. THuifuMchCheck huifuMchCheck = tHuifuMchCheckService.getOne(queryWrapper);
  192. huifuMchCheck.setStatus("1");
  193. tHuifuMchCheckService.updateById(huifuMchCheck);
  194. return R.ok();
  195. }
  196. @ApiOperation(value = "审核回调")
  197. @PostMapping("/auditNotify")
  198. public ResponseModel<?> auditNotify(HttpServletRequest request){
  199. String data = request.getParameter("data");
  200. JSONObject jsonObject = JSONObject.parseObject(data);
  201. String auditStatus = jsonObject.getString("audit_status");
  202. String auditDesc = jsonObject.getString("audit_desc");
  203. System.out.println("data:" + data);
  204. System.out.println("audit_status:" + auditStatus);
  205. System.out.println("audit_desc:" + auditDesc);
  206. return R.ok().setData(data);
  207. }
  208. @ApiOperation(value = "获取汇付商户号")
  209. @GetMapping("/getHuifuId")
  210. public ResponseModel<THuifuMch> getHuifuId(@RequestParam Long adminId) {
  211. if(adminId == null) {
  212. return R.fail(ResponseCodesEnum.A0001);
  213. }
  214. LambdaQueryWrapper<THuifuMch> wrapper = new LambdaQueryWrapper<>();
  215. wrapper.eq(THuifuMch::getAdminId,adminId);
  216. THuifuMch huifuMch = tHuifuMchService.getOne(wrapper);
  217. return R.ok(huifuMch);
  218. }
  219. @ApiOperation(value = "获取审核信息")
  220. @GetMapping("/getHuifuMchCheck")
  221. public ResponseModel<THuifuMchCheck> getHuifuMchCheck(@RequestParam Long adminId) {
  222. if(adminId == null) {
  223. return R.fail(ResponseCodesEnum.A0001);
  224. }
  225. LambdaQueryWrapper<THuifuMchCheck> queryWrapper = new LambdaQueryWrapper<>();
  226. queryWrapper.eq(THuifuMchCheck::getAdminId,adminId);
  227. THuifuMchCheck huifuMchCheck = tHuifuMchCheckService.getOne(queryWrapper);
  228. return R.ok(huifuMchCheck);
  229. }
  230. @ApiOperation(value = "发送验证码")
  231. @GetMapping("/sendSms")
  232. public ResponseModel<?> sendSms(@RequestParam Long adminId) throws Exception {
  233. if(adminId == null) {
  234. return R.fail(ResponseCodesEnum.A0001);
  235. }
  236. LambdaQueryWrapper<THuifuMch> queryWrapper = new LambdaQueryWrapper<>();
  237. queryWrapper.eq(THuifuMch::getAdminId,adminId);
  238. THuifuMch tHuifuMch = tHuifuMchService.getOne(queryWrapper);
  239. String result = tHuifuMchService.sendSms(tHuifuMch);
  240. if(result.equals("00000000")) {
  241. return R.ok(tHuifuMch);
  242. } else {
  243. return R.fail(ResponseCodesEnum.A0001,"验证码发送失败");
  244. }
  245. }
  246. }