Explorar o código

调整骑手申请认证接口

codingliang hai 7 meses
pai
achega
94bc5c25fa

+ 4 - 19
src/main/java/com/sqx/modules/pay/controller/app/ApiWeiXinErrRiderPayController.java

@@ -4,6 +4,7 @@ import com.sqx.common.utils.Result;
 import com.sqx.modules.app.annotation.Login;
 import com.sqx.modules.app.dao.UserDao;
 import com.sqx.modules.app.entity.UserEntity;
+import com.sqx.modules.pay.dto.RiderCertificationDTO;
 import com.sqx.modules.pay.service.WxErrRiderService;
 import io.swagger.annotations.Api;
 import io.swagger.annotations.ApiOperation;
@@ -12,6 +13,7 @@ import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.web.bind.annotation.*;
 
 import javax.servlet.http.HttpServletRequest;
+import javax.validation.Valid;
 import java.io.BufferedReader;
 import java.io.IOException;
 import java.io.InputStream;
@@ -70,28 +72,11 @@ public class ApiWeiXinErrRiderPayController {
     @Login
     @ApiOperation("小程序跑腿师傅实名认证")
     @PostMapping("/wxPayJsApiRiderCertification/{type}")
-    public Result wxPayJsApiRiderCertification(@RequestAttribute("userId") Long userId, @PathVariable("type") Integer type, @RequestBody UserEntity userEntity) throws Exception{
-        Integer userType = 2;
-        return wxService.wxPayJsApiRiderCertification(userId,type,userEntity, userType);
-    }
-
-    /*@Login
-    @ApiOperation("公众号跑腿师傅实名认证")
-    @PostMapping("/wxPayMpRiderCertification")
-    public Result wxPayMpRiderCertification(@RequestAttribute("userId") Long userId, @RequestBody UserEntity userEntity) throws Exception{
-        Integer userType = 2;
-        return wxService.wxPayJsApiRiderCertification(userId,2,userEntity, userType);
+    public Result wxPayJsApiRiderCertification(@RequestAttribute("userId") Long userId, @PathVariable("type") Integer type, @RequestBody @Valid RiderCertificationDTO dto) {
+        return wxService.wxPayJsApiRiderCertification(userId, dto);
     }
 
     @Login
-    @ApiOperation("app跑腿师傅实名认证")
-    @PostMapping("/appRiderCertification")
-    public Result appRiderCertification(@RequestAttribute("userId") Long userId, @RequestBody UserEntity userEntity) throws Exception{
-        Integer userType = 2;
-        return wxService.wxPayJsApiRiderCertification(userId,1,userEntity, userType);
-    }*/
-
-    @Login
     @ApiOperation("判断用户是否已实名认证成功")
     @GetMapping(value = "selectCertificationFlag")
     public Result selectCertificationFlag(@RequestAttribute Long userId){

+ 42 - 0
src/main/java/com/sqx/modules/pay/dto/RiderCertificationDTO.java

@@ -0,0 +1,42 @@
+package com.sqx.modules.pay.dto;
+
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+import javax.validation.constraints.NotBlank;
+import javax.validation.constraints.NotNull;
+
+/**
+ * 骑手认证dto
+ * @author codingliang
+ * @date 2025-11-25
+ */
+@Data
+@ApiModel(value = "RiderCertificationDTO", description = "骑手认证dto")
+public class RiderCertificationDTO {
+
+    @ApiModelProperty("用户名")
+    @NotBlank(message = "用户名不能为空")
+    private String userName;
+
+    @ApiModelProperty("证件号码")
+    @NotBlank(message = "证件号码不能为空")
+    private String identityCardNumber;
+
+    @ApiModelProperty("身份证正面图片")
+    @NotBlank(message = "身份证正面图片不能为空")
+    private String identityCardFront;
+
+    @ApiModelProperty("身份证反面图片")
+    @NotBlank(message = "身份证反面图片不能为空")
+    private String identityCardVerso;
+
+    @ApiModelProperty("手持身份证正面图片")
+    @NotBlank(message = "手持身份证正面图片不能为空")
+    private String selfIdentityCard;
+
+    @ApiModelProperty("站点id")
+    @NotNull(message = "站点id不能为空")
+    private Integer riderStationId;
+}

+ 2 - 2
src/main/java/com/sqx/modules/pay/service/WxErrRiderService.java

@@ -1,7 +1,7 @@
 package com.sqx.modules.pay.service;
 
 import com.sqx.common.utils.Result;
-import com.sqx.modules.app.entity.UserEntity;
+import com.sqx.modules.pay.dto.RiderCertificationDTO;
 import com.sqx.modules.pay.entity.PayDetails;
 
 import java.math.BigDecimal;
@@ -17,7 +17,7 @@ public interface WxErrRiderService {
 
     Result payOrder(Long userId, String indentNumber, Integer type, Integer userType) throws Exception;
 
-    Result wxPayJsApiRiderCertification(Long userId,Integer type, UserEntity userEntity, Integer userType) throws  Exception;
+    Result wxPayJsApiRiderCertification(Long userId, RiderCertificationDTO dto);
 
     String payBack(String resXml,Integer type);;
 

+ 27 - 9
src/main/java/com/sqx/modules/pay/service/impl/WxErrRiderServiceImpl.java

@@ -1,13 +1,16 @@
 package com.sqx.modules.pay.service.impl;
 
-import com.alibaba.fastjson.JSONObject;
+import cn.hutool.core.bean.BeanUtil;
+import cn.hutool.core.util.ObjectUtil;
+import cn.hutool.core.util.StrUtil;
 import com.github.wxpay.sdk.WXPay;
 import com.github.wxpay.sdk.WXPayConstants;
 import com.github.wxpay.sdk.WXPayUtil;
+import com.sqx.common.exception.SqxException;
+import com.sqx.common.utils.Constant;
 import com.sqx.common.utils.Result;
 import com.sqx.modules.app.dao.UserDao;
 import com.sqx.modules.app.entity.UserEntity;
-import com.sqx.modules.app.entity.UserMoneyDetails;
 import com.sqx.modules.app.service.UserMoneyDetailsService;
 import com.sqx.modules.app.service.UserService;
 import com.sqx.modules.common.entity.CommonInfo;
@@ -17,6 +20,7 @@ import com.sqx.modules.errand.service.TbIndentService;
 import com.sqx.modules.pay.config.WXConfig;
 import com.sqx.modules.pay.controller.app.AliPayController;
 import com.sqx.modules.pay.dao.PayDetailsDao;
+import com.sqx.modules.pay.dto.RiderCertificationDTO;
 import com.sqx.modules.pay.entity.PayDetails;
 import com.sqx.modules.pay.service.WxErrRiderService;
 import com.sqx.modules.pay.service.WxService;
@@ -104,19 +108,33 @@ public class WxErrRiderServiceImpl implements WxErrRiderService {
     }
 
     @Override
-    public Result wxPayJsApiRiderCertification(Long userId,Integer type, UserEntity userEntity, Integer userType) throws Exception {
+    public Result wxPayJsApiRiderCertification(Long userId, RiderCertificationDTO dto) {
+        UserEntity user = userService.getById(userId);
+        if(ObjectUtil.isNull(user)){
+            throw new SqxException("用户不存在!");
+        }
+
+        if (StrUtil.equals(Constant.YES, user.getCheckCertification())){
+            return Result.error("您已认证成功,无需重复认证!");
+        }
+
         CommonInfo isVerify = commonInfoService.findOne(260);
-        String generalOrder = getGeneralOrder();
         if("是".equals(isVerify.getValue())){
-            String result = VerifyIdCardUtils.verifyIdCard(userEntity.getIdentityCardNumber(),userEntity.getUserName());
+            String result = VerifyIdCardUtils.verifyIdCard(dto.getIdentityCardNumber(),dto.getUserName());
             if(!"ok".equals(result)){
                 return Result.error("您填写的信息有误,请检查后重试!");
             }
         }
-        userEntity.setUserId(userId);
-        userEntity.setCheckNumber(generalOrder);
-        // 因为添加站点,所以需要更新tb_user表
-        userDao.updateById(userEntity);
+
+        UserEntity newUser = new UserEntity();
+        BeanUtil.copyProperties(dto, newUser);
+        newUser.setUserId(userId);
+        // 2 骑手
+        newUser.setType(2);
+        // 设置为待审核状态
+        newUser.setCheckCertification(Constant.NO);
+        newUser.setCheckCertificationMessage("待审核");
+        userService.updateById(newUser);
 
         return Result.success();
     }