THuifuMchController.java 11 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267
  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. if(newHuifuMchCheck.getStatus().equals("3")) {
  62. BeanUtil.copyProperties(tHuifuMchCheck,newHuifuMchCheck,ignoreProperties);
  63. newHuifuMchCheck.setStatus("1");
  64. } else {
  65. BeanUtil.copyProperties(tHuifuMchCheck,newHuifuMchCheck,ignoreProperties);
  66. newHuifuMchCheck.setStatus("4");
  67. }
  68. newHuifuMchCheck.setCreateDate(new Date());
  69. newHuifuMchCheck.setModifyDate(new Date());
  70. tHuifuMchCheckService.updateById(newHuifuMchCheck);
  71. return R.ok();
  72. }
  73. @ApiOperation(value = "审核商户入驻")
  74. @GetMapping ("/auditAddMerchant")
  75. public ResponseModel<?> auditAddMerchant(Long id, String status) throws Exception {
  76. if (id == null) {
  77. return R.fail(ResponseCodesEnum.A0001);
  78. }
  79. // 找到用户id对应的审核信息
  80. THuifuMchCheck huifuMchCheck = tHuifuMchCheckService.getById(id);
  81. String data = null;
  82. if(status.equals("1")) {
  83. //通过
  84. // 判断商户类型,“0”为个人,“1”为企业
  85. if(huifuMchCheck.getType().equals("0")) {
  86. data = tHuifuMchService.addPersonage(huifuMchCheck);
  87. } else {
  88. data = tHuifuMchService.addEnterprise(huifuMchCheck);
  89. }
  90. // 判断是否入驻成功
  91. String success = "success";
  92. // 判断是否修改成功
  93. if(success.equals(data)) {
  94. return R.ok();
  95. } else {
  96. return R.fail(ResponseCodesEnum.A0001,data);
  97. }
  98. } else {
  99. // 拒绝
  100. huifuMchCheck.setModifyDate(new Date());
  101. huifuMchCheck.setStatus("3");
  102. tHuifuMchCheckService.updateById(huifuMchCheck);
  103. return R.ok();
  104. }
  105. }
  106. @ApiOperation(value = "审核商户修改")
  107. @GetMapping("/auditUpdateMerchant")
  108. public ResponseModel<?> auditUpdateMerchant(Long id, String status) throws Exception {
  109. if (id == null) {
  110. return R.fail(ResponseCodesEnum.A0001);
  111. }
  112. // 找到id对应的审核信息
  113. THuifuMchCheck huifuMchCheck = tHuifuMchCheckService.getById(id);
  114. if(status.equals("1")) {
  115. // 同意
  116. String data = tHuifuMchService.updateMerchant(huifuMchCheck);
  117. String success = "success";
  118. // 判断是否修改成功
  119. if(success.equals(data)) {
  120. return R.ok();
  121. } else {
  122. return R.fail(ResponseCodesEnum.A0001,data);
  123. }
  124. } else {
  125. // 拒绝
  126. huifuMchCheck.setModifyDate(new Date());
  127. huifuMchCheck.setStatus("3");
  128. tHuifuMchCheckService.updateById(huifuMchCheck);
  129. return R.ok();
  130. }
  131. }
  132. @ApiOperation(value = "上传材料图片")
  133. @PostMapping("/uploadPic")
  134. public ResponseModel<?> uploadPic(@RequestParam("file") MultipartFile file,
  135. @RequestParam("adminId") Long adminId,
  136. @RequestParam("fileType") String fileType){
  137. if (adminId == null) {
  138. return R.fail(ResponseCodesEnum.A0001);
  139. }
  140. // 找到用户id对应的审核信息
  141. LambdaQueryWrapper<THuifuMchCheck> queryWrapper = new LambdaQueryWrapper<>();
  142. queryWrapper.eq(THuifuMchCheck::getAdminId,adminId);
  143. THuifuMchCheck tHuifuMchCheck = tHuifuMchCheckService.getOne(queryWrapper);
  144. if(tHuifuMchCheck == null) {
  145. return R.fail(ResponseCodesEnum.A0206,"还未填写个人资料");
  146. }
  147. String result = "";
  148. if(file != null) {
  149. try{
  150. if(fileType.equals(HuifuConstant.fileType.F02.toString())) {
  151. result = tHuifuMchService.uploadPic(file, HuifuConstant.fileType.F02);
  152. tHuifuMchCheck.setCardFrontPic(result);
  153. } else if (fileType.equals(HuifuConstant.fileType.F03.toString())){
  154. result = tHuifuMchService.uploadPic(file, HuifuConstant.fileType.F03);
  155. tHuifuMchCheck.setCertBackPic(result);
  156. } else if (fileType.equals(HuifuConstant.fileType.F13.toString())) {
  157. result = tHuifuMchService.uploadPic(file, HuifuConstant.fileType.F13);
  158. tHuifuMchCheck.setCardFrontPic(result);
  159. } else if (fileType.equals(HuifuConstant.fileType.F07.toString())) {
  160. result = tHuifuMchService.uploadPic(file, HuifuConstant.fileType.F07);
  161. tHuifuMchCheck.setLicensePic(result);
  162. } else if (fileType.equals(HuifuConstant.fileType.F08.toString())) {
  163. result = tHuifuMchService.uploadPic(file, HuifuConstant.fileType.F08);
  164. tHuifuMchCheck.setRegAcctPic(result);
  165. } else if (fileType.equals(HuifuConstant.fileType.F40.toString())) {
  166. result = tHuifuMchService.uploadPic(file, HuifuConstant.fileType.F40);
  167. tHuifuMchCheck.setLegalCertFrontPic(result);
  168. } else if (fileType.equals(HuifuConstant.fileType.F41.toString())) {
  169. result = tHuifuMchService.uploadPic(file, HuifuConstant.fileType.F41);
  170. tHuifuMchCheck.setLegalCertBackPic(result);
  171. }
  172. } catch (Exception e) {
  173. e.printStackTrace();
  174. }
  175. }
  176. if(StrUtil.isNotEmpty(result)) {
  177. tHuifuMchCheckService.updateById(tHuifuMchCheck);
  178. return R.ok("上传成功").setData(result);
  179. } else {
  180. return R.fail(ResponseCodesEnum.F0000,"上传失败");
  181. }
  182. }
  183. @ApiOperation(value = "提交审核")
  184. @PostMapping("/submitCheck")
  185. public ResponseModel<?> submitCheck(@RequestBody THuifuMchCheck tHuifuMchCheck){
  186. if (tHuifuMchCheck.getAdminId() == null) {
  187. return R.fail(ResponseCodesEnum.A0001);
  188. }
  189. // 找到用户id对应的审核信息
  190. LambdaQueryWrapper<THuifuMchCheck> queryWrapper = new LambdaQueryWrapper<>();
  191. queryWrapper.eq(THuifuMchCheck::getAdminId,tHuifuMchCheck.getAdminId());
  192. THuifuMchCheck huifuMchCheck = tHuifuMchCheckService.getOne(queryWrapper);
  193. huifuMchCheck.setStatus("1");
  194. tHuifuMchCheckService.updateById(huifuMchCheck);
  195. return R.ok();
  196. }
  197. @ApiOperation(value = "审核回调")
  198. @PostMapping("/auditNotify")
  199. public ResponseModel<?> auditNotify(HttpServletRequest request){
  200. String data = request.getParameter("data");
  201. JSONObject jsonObject = JSONObject.parseObject(data);
  202. String auditStatus = jsonObject.getString("audit_status");
  203. String auditDesc = jsonObject.getString("audit_desc");
  204. System.out.println("data:" + data);
  205. System.out.println("audit_status:" + auditStatus);
  206. System.out.println("audit_desc:" + auditDesc);
  207. return R.ok().setData(data);
  208. }
  209. @ApiOperation(value = "获取汇付商户号")
  210. @GetMapping("/getHuifuId")
  211. public ResponseModel<THuifuMch> getHuifuId(@RequestParam Long adminId) {
  212. if(adminId == null) {
  213. return R.fail(ResponseCodesEnum.A0001);
  214. }
  215. LambdaQueryWrapper<THuifuMch> wrapper = new LambdaQueryWrapper<>();
  216. wrapper.eq(THuifuMch::getAdminId,adminId);
  217. THuifuMch huifuMch = tHuifuMchService.getOne(wrapper);
  218. return R.ok(huifuMch);
  219. }
  220. @ApiOperation(value = "获取审核信息")
  221. @GetMapping("/getHuifuMchCheck")
  222. public ResponseModel<THuifuMchCheck> getHuifuMchCheck(@RequestParam Long adminId) {
  223. if(adminId == null) {
  224. return R.fail(ResponseCodesEnum.A0001);
  225. }
  226. LambdaQueryWrapper<THuifuMchCheck> queryWrapper = new LambdaQueryWrapper<>();
  227. queryWrapper.eq(THuifuMchCheck::getAdminId,adminId);
  228. THuifuMchCheck huifuMchCheck = tHuifuMchCheckService.getOne(queryWrapper);
  229. return R.ok(huifuMchCheck);
  230. }
  231. @ApiOperation(value = "发送验证码")
  232. @GetMapping("/sendSms")
  233. public ResponseModel<?> sendSms(@RequestParam Long adminId) throws Exception {
  234. if(adminId == null) {
  235. return R.fail(ResponseCodesEnum.A0001);
  236. }
  237. LambdaQueryWrapper<THuifuMch> queryWrapper = new LambdaQueryWrapper<>();
  238. queryWrapper.eq(THuifuMch::getAdminId,adminId);
  239. THuifuMch tHuifuMch = tHuifuMchService.getOne(queryWrapper);
  240. String result = tHuifuMchService.sendSms(tHuifuMch);
  241. if(result.equals("00000000")) {
  242. return R.ok(tHuifuMch);
  243. } else {
  244. return R.fail(ResponseCodesEnum.A0001,"验证码发送失败");
  245. }
  246. }
  247. }