Răsfoiți Sursa

修改商户审核逻辑

igl 3 săptămâni în urmă
părinte
comite
bbfb8fbac9

+ 4 - 0
vehicle-server/src/main/java/com/chelvc/cloud/vehicle/server/dao/MerchantAuthMapper.java

@@ -3,6 +3,8 @@ package com.chelvc.cloud.vehicle.server.dao;
 import com.baomidou.mybatisplus.core.mapper.BaseMapper;
 import com.chelvc.cloud.vehicle.server.entity.MerchantAuth;
 import org.apache.ibatis.annotations.Mapper;
+import org.apache.ibatis.annotations.Param;
+import org.apache.ibatis.annotations.Update;
 
 /**
  * 商家认证操作接口
@@ -12,4 +14,6 @@ import org.apache.ibatis.annotations.Mapper;
  */
 @Mapper
 public interface MerchantAuthMapper extends BaseMapper<MerchantAuth> {
+    @Update("update merchant_auth set review_status = #{reviewStatus}, message = #{message} where id = #{id}")
+    void updateStatusById(@Param("id") Long id, @Param("reviewStatus") String reviewStatus, @Param("message") String message);
 }

+ 4 - 0
vehicle-server/src/main/java/com/chelvc/cloud/vehicle/server/dao/UserAuthMapper.java

@@ -5,8 +5,12 @@ import com.chelvc.cloud.vehicle.client.dto.UserAuthDTO;
 import com.chelvc.cloud.vehicle.server.entity.UserAuth;
 import org.apache.ibatis.annotations.Mapper;
 import org.apache.ibatis.annotations.Param;
+import org.apache.ibatis.annotations.Update;
 
 @Mapper
 public interface UserAuthMapper extends BaseMapper<UserAuth> {
     UserAuthDTO getUserAuthInfo(@Param("userId") Long userId);
+
+    @Update("update user_auth set status = #{status}, message = #{message} where id = #{id}")
+    void updateStatusById(@Param("id")Long id, @Param("status") Integer status, @Param("message") String message);
 }

+ 5 - 0
vehicle-server/src/main/java/com/chelvc/cloud/vehicle/server/entity/UserAuth.java

@@ -109,4 +109,9 @@ public class UserAuth {
      * 创建时间
      */
     private LocalDateTime createTime;
+
+    /**
+     * 认证结果
+     */
+    private String message;
 }

+ 1 - 1
vehicle-server/src/main/java/com/chelvc/cloud/vehicle/server/service/MerchantAuthService.java

@@ -52,5 +52,5 @@ public interface MerchantAuthService extends IService<MerchantAuth> {
      */
     void certificationAudit(Long id,String state,String message );
 
-    int updateStatus(Long userId, Integer status);
+    int updateStatus(Long userId, Integer status, String message);
 }

+ 1 - 1
vehicle-server/src/main/java/com/chelvc/cloud/vehicle/server/service/UserAuthService.java

@@ -8,5 +8,5 @@ public interface UserAuthService {
 
     void userAuth(UserAuthParam param);
 
-    int updateStatus(Long userId, Integer status);
+    int updateStatus(Long userId, Integer status, String message);
 }

+ 5 - 4
vehicle-server/src/main/java/com/chelvc/cloud/vehicle/server/service/impl/MerchantApplyRecordServiceImpl.java

@@ -51,7 +51,7 @@ public class MerchantApplyRecordServiceImpl extends
         wrapper.eq(MerchantApplyRecord::getRequestId, requestId);
         MerchantApplyRecord record = baseMapper.selectOne(wrapper);
         Integer recordStatus = record.getStatus();
-        if(recordStatus == 2){
+        if(recordStatus != 0){
             return;
         }
         String subMerchantId = responseData.getString("subMerchantId");
@@ -61,7 +61,8 @@ public class MerchantApplyRecordServiceImpl extends
         record.setExamineStatus(status);
         record.setCertificateSupplementUrl(responseData.getString("certificateSupplementUrl"));
         record.setElectronicContractingUrl(responseData.getString("electronicContractingUrl"));
-        record.setMerchantReviewRemarks(responseData.getString("merchantReviewRemarks"));
+        String merchantReviewRemarks = responseData.getString("merchantReviewRemarks");
+        record.setMerchantReviewRemarks(merchantReviewRemarks);
         record.setPostReviewRemark(responseData.getString("postReviewRemark"));
         record.setPostReviewStatus(responseData.getString("postReviewStatus"));
         record.setSubMerchantId(subMerchantId);
@@ -70,11 +71,11 @@ public class MerchantApplyRecordServiceImpl extends
             baseMapper.updateById(record);
             if(type == 1){
                 //更改个人认证状态
-                userAuthService.updateStatus(record.getUserId(), resultStatus);
+                userAuthService.updateStatus(record.getUserId(), resultStatus, merchantReviewRemarks);
             }
             if(type == 2){
                 //更改商家认证状态
-                merchantAuthService.updateStatus(record.getUserId(), resultStatus);
+                merchantAuthService.updateStatus(record.getUserId(), resultStatus, merchantReviewRemarks);
             }
             if("SUCCESS".equals(status)){
                 int i = merchantRelationService.insert(record.getUserId(), record.getType(), subMerchantId);

+ 2 - 1
vehicle-server/src/main/java/com/chelvc/cloud/vehicle/server/service/impl/MerchantAuthServiceImpl.java

@@ -211,9 +211,10 @@ public class MerchantAuthServiceImpl extends ServiceImpl<MerchantAuthMapper, Mer
     }
 
     @Override
-    public int updateStatus(Long userId, Integer status) {
+    public int updateStatus(Long userId, Integer status, String message) {
         UpdateWrapper<MerchantAuth> update = Wrappers.update();
         update.set("review_status", status);
+        update.set("message", message);
         update.eq("applicant", userId);
         return baseMapper.update(null, update);
     }

+ 32 - 8
vehicle-server/src/main/java/com/chelvc/cloud/vehicle/server/service/impl/MerchantRelationServiceImpl.java

@@ -6,7 +6,9 @@ import com.baomidou.mybatisplus.core.toolkit.Wrappers;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
 import com.chelvc.cloud.vehicle.client.constant.TradeConstant;
 import com.chelvc.cloud.vehicle.client.util.SFTPUtils;
+import com.chelvc.cloud.vehicle.server.dao.MerchantAuthMapper;
 import com.chelvc.cloud.vehicle.server.dao.MerchantRelationMapper;
+import com.chelvc.cloud.vehicle.server.dao.UserAuthMapper;
 import com.chelvc.cloud.vehicle.server.entity.*;
 import com.chelvc.cloud.vehicle.server.handle.TradeHandle;
 import com.chelvc.cloud.vehicle.server.service.MerchantApplyRecordService;
@@ -14,6 +16,7 @@ import com.chelvc.cloud.vehicle.server.service.MerchantRelationService;
 import com.chelvc.cloud.vehicle.server.service.MerchantService;
 import com.chelvc.framework.common.exception.ResourceUnavailableException;
 import lombok.RequiredArgsConstructor;
+import lombok.extern.slf4j.Slf4j;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.context.annotation.Lazy;
 import org.springframework.stereotype.Service;
@@ -23,11 +26,14 @@ import java.util.Date;
 import java.util.UUID;
 
 @Service
+@Slf4j
 @RequiredArgsConstructor(onConstructor = @__({@Autowired,@Lazy}))
 public class MerchantRelationServiceImpl extends ServiceImpl<MerchantRelationMapper,
         MerchantRelation> implements MerchantRelationService {
     private final MerchantService merchantService;
     private final MerchantApplyRecordService merchantApplyRecordService;
+    private final MerchantAuthMapper merchantAuthMapper;
+    private final UserAuthMapper userAuthMapper;
     @Override
     public MerchantRelation queryByUserIdAndType(Long userId, Integer type) {
         LambdaQueryWrapper<MerchantRelation> wrapper = Wrappers.lambdaQuery();
@@ -120,20 +126,29 @@ public class MerchantRelationServiceImpl extends ServiceImpl<MerchantRelationMap
         JSONObject json = TradeHandle.handle(String.valueOf(jsonObject), TradeConstant.DECLARE_URL,
                 TradeConstant.PARTNER_ID, null);
         String status = json.getString("status");
+        int resultStatus = 0;
+        String examineStatus = "PROCESSING";
+        String errorMessage = "";
         if(!"SUCCESS".equals(status)) {
-            String errorMessage = json.getString("errorMessage");
-            throw new ResourceUnavailableException("【认证失败】:" + errorMessage);
+            resultStatus = 4;
+            examineStatus = "NO_PASS";
+            errorMessage = json.getString("errorMessage");
+            log.info("店名:【{}】-【认证失败】:{}", merchantAuth.getStoreName(), errorMessage);
+            //更改状态
+            merchantAuthMapper.updateStatusById(merchantAuth.getId(), String.valueOf(resultStatus), errorMessage);
         }
         String subMerchantId = json.getString("subMerchantId");
         MerchantApplyRecord record = new MerchantApplyRecord();
         record.setUserId(merchantAuth.getApplicant());
         record.setType(2);
         record.setRequestId(requestId);
-        record.setStatus(0);
+        record.setStatus(resultStatus);
         record.setOperationType("CREATE");
-        record.setExamineStatus("PROCESSING");
+        record.setExamineStatus(examineStatus);
         record.setSubMerchantId(subMerchantId);
+        record.setMerchantReviewRemarks(errorMessage);
         record.setCreateTime(new Date());
+        record.setUpdateTime(new Date());
         merchantApplyRecordService.insert(record);
     }
 
@@ -205,20 +220,29 @@ public class MerchantRelationServiceImpl extends ServiceImpl<MerchantRelationMap
         JSONObject json = TradeHandle.handle(String.valueOf(jsonObject), TradeConstant.DECLARE_URL,
                 TradeConstant.PARTNER_ID, null);
         String status = json.getString("status");
+        int resultStatus = 0;
+        String examineStatus = "PROCESSING";
+        String errorMessage = "";
         if(!"SUCCESS".equals(status)){
-            String errorMessage = json.getString("errorMessage");
-            throw new ResourceUnavailableException("【认证失败】:"+errorMessage);
+            resultStatus = 4;
+            examineStatus = "NO_PASS";
+            errorMessage = json.getString("errorMessage");
+            log.info("用户:【{}】-【认证失败】:{}", userAuth.getUserName(), errorMessage);
+            //更改状态
+            userAuthMapper.updateStatusById(userAuth.getId(), resultStatus, errorMessage);
         }
         String subMerchantId = json.getString("subMerchantId");
         MerchantApplyRecord record = new MerchantApplyRecord();
         record.setUserId(userAuth.getUserId());
         record.setType(1);
         record.setRequestId(requestId);
-        record.setStatus(0);
+        record.setStatus(resultStatus);
         record.setOperationType("CREATE");
-        record.setExamineStatus("PROCESSING");
+        record.setExamineStatus(examineStatus);
         record.setSubMerchantId(subMerchantId);
+        record.setMerchantReviewRemarks(errorMessage);
         record.setCreateTime(new Date());
+        record.setUpdateTime(new Date());
         merchantApplyRecordService.insert(record);
     }
 

+ 2 - 1
vehicle-server/src/main/java/com/chelvc/cloud/vehicle/server/service/impl/UserAuthServiceImpl.java

@@ -75,9 +75,10 @@ public class UserAuthServiceImpl extends ServiceImpl<UserAuthMapper, UserAuth> i
     }
 
     @Override
-    public int updateStatus(Long userId, Integer status) {
+    public int updateStatus(Long userId, Integer status, String message) {
         UpdateWrapper<UserAuth> update = Wrappers.update();
         update.set("status", status);
+        update.set("message", message);
         update.eq("user_id", userId);
         return baseMapper.update(null, update);
     }