浏览代码

认证优化

igl 1 周之前
父节点
当前提交
3b4c100583

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

@@ -15,5 +15,8 @@ import org.apache.ibatis.annotations.Update;
 @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);
+    int updateStatusById(@Param("id") Long id, @Param("reviewStatus") String reviewStatus, @Param("message") String message);
+
+    @Update("update merchant_auth set review_status = #{reviewStatus}, message = #{message} where applicant = #{userId}")
+    int updateStatusByUserId(@Param("userId") Long userId, @Param("reviewStatus") String reviewStatus, @Param("message") String message);
 }

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

@@ -13,4 +13,7 @@ public interface UserAuthMapper extends BaseMapper<UserAuth> {
 
     @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);
+
+    @Update("update user_auth set status = #{status}, message = #{message} where user_id = #{userId}")
+    int updateStatusByUserId(@Param("userId")Long userId, @Param("status")Integer status, @Param("message")String message);
 }

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

@@ -53,4 +53,6 @@ public interface MerchantAuthService extends IService<MerchantAuth> {
     void certificationAudit(Long id,String state,String message );
 
     int updateStatus(Long userId, Integer status, String message);
+
+    MerchantAuth queryByUserId(Long userId);
 }

+ 39 - 7
vehicle-server/src/main/java/com/chelvc/cloud/vehicle/server/service/impl/MerchantApplyRecordServiceImpl.java

@@ -8,8 +8,10 @@ import com.chelvc.cloud.vehicle.client.constant.MerchantApplyStatus;
 import com.chelvc.cloud.vehicle.client.param.SxyNotifyParam;
 import com.chelvc.cloud.vehicle.server.dao.MerchantApplyRecordMapper;
 import com.chelvc.cloud.vehicle.server.entity.MerchantApplyRecord;
+import com.chelvc.cloud.vehicle.server.entity.MerchantAuth;
 import com.chelvc.cloud.vehicle.server.handle.TradeHandle;
 import com.chelvc.cloud.vehicle.server.service.*;
+import com.chelvc.framework.common.exception.ResourceUnavailableException;
 import com.chelvc.framework.common.function.Executor;
 import com.chelvc.framework.database.context.DatabaseContextHolder;
 import com.upay.sdk.Constants;
@@ -51,7 +53,13 @@ public class MerchantApplyRecordServiceImpl extends
         wrapper.eq(MerchantApplyRecord::getRequestId, requestId);
         MerchantApplyRecord record = baseMapper.selectOne(wrapper);
         Integer recordStatus = record.getStatus();
-        if(MerchantApplyStatus.SUCCESS.getStatus().equals(recordStatus)){
+        MerchantAuth merchantAuth = merchantAuthService.queryByUserId(record.getUserId());
+        if(merchantAuth == null){
+            log.error("商户号申请记录id【{}】查询商户认证信息为空", requestId);
+            return status;
+        }
+        if(MerchantApplyStatus.SUCCESS.getStatus().equals(recordStatus)
+            && String.valueOf(MerchantApplyStatus.SUCCESS.getStatus()).equals(merchantAuth.getReviewStatus())){
             return MerchantApplyStatus.SUCCESS.getType();
         }
         String subMerchantId = responseData.getString("subMerchantId");
@@ -71,15 +79,27 @@ public class MerchantApplyRecordServiceImpl extends
             baseMapper.updateById(record);
             if(type == 1){
                 //更改个人认证状态
-                userAuthService.updateStatus(record.getUserId(), resultStatus, merchantReviewRemarks);
+                int i = userAuthService.updateStatus(record.getUserId(), resultStatus, merchantReviewRemarks);
+                if(i != 1){
+                    log.error("用户id【{}】更新认证状态【{}】失败", record.getUserId(), status);
+                    throw new ResourceUnavailableException("用户id【{"+record.getUserId()+"}】更新认证状态【{"+status+"}】失败");
+                }
             }
             if(type == 2){
                 //更改商家认证状态
-                merchantAuthService.updateStatus(record.getUserId(), resultStatus, merchantReviewRemarks);
+                int i = merchantAuthService.updateStatus(record.getUserId(), resultStatus, merchantReviewRemarks);
+                if(i != 1){
+                    log.error("商家id【{}】更新认证状态【{}】失败", record.getUserId(), status);
+                    throw new ResourceUnavailableException("商家id【{"+record.getUserId()+"}】更新认证状态【{"+status+"}】失败");
+                }
             }
             if("SUCCESS".equals(status)){
                 int i = merchantRelationService.insert(record.getUserId(), record.getType(), subMerchantId);
-                if(i == 1 && record.getType() == 1){
+                if(i != 1){
+                    log.error("商家id【{}】更新认证状态【{}】失败", record.getUserId(), status);
+                    throw new ResourceUnavailableException("商家id【{"+record.getUserId()+"}】更新认证状态【{"+status+"}】失败");
+                }
+                if(record.getType() == 1){
                     //用户申请商户号成功,平台转账给用户
                     BigDecimal total = assetService.queryTotal(record.getUserId(), 1);
                     assetService.transfer(0L, record.getUserId(), 1, total, "0");
@@ -122,15 +142,27 @@ public class MerchantApplyRecordServiceImpl extends
             baseMapper.updateById(record);
             if(type == 1){
                 //更改个人认证状态
-                userAuthService.updateStatus(record.getUserId(), resultStatus, errorMessage);
+                int i = userAuthService.updateStatus(record.getUserId(), resultStatus, errorMessage);
+                if(i != 1){
+                    log.error("用户id【{}】更新认证状态【{}】失败", record.getUserId(), status);
+                    throw new ResourceUnavailableException("用户id【{"+record.getUserId()+"}】更新认证状态【{"+status+"}】失败");
+                }
             }
             if(type == 2){
                 //更改商家认证状态
-                merchantAuthService.updateStatus(record.getUserId(), resultStatus, errorMessage);
+                int i = merchantAuthService.updateStatus(record.getUserId(), resultStatus, errorMessage);
+                if(i != 1){
+                    log.error("商家id【{}】更新认证状态【{}】失败", record.getUserId(), status);
+                    throw new ResourceUnavailableException("商家id【{"+record.getUserId()+"}】更新认证状态【{"+status+"}】失败");
+                }
             }
             if("SUCCESS".equals(status)){
                 int i = merchantRelationService.insert(record.getUserId(), record.getType(), subMerchantId);
-                if(i == 1 && record.getType() == 1){
+                if(i != 1){
+                    log.error("商家id【{}】更新认证状态【{}】失败", record.getUserId(), status);
+                    throw new ResourceUnavailableException("商家id【{"+record.getUserId()+"}】更新认证状态【{"+status+"}】失败");
+                }
+                if(record.getType() == 1){
                     //用户申请商户号成功,平台转账给用户
                     BigDecimal total = assetService.queryTotal(record.getUserId(), 1);
                     assetService.transfer(0L, record.getUserId(), 1, total, "0");

+ 6 - 5
vehicle-server/src/main/java/com/chelvc/cloud/vehicle/server/service/impl/MerchantAuthServiceImpl.java

@@ -206,10 +206,11 @@ public class MerchantAuthServiceImpl extends ServiceImpl<MerchantAuthMapper, Mer
 
     @Override
     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);
+        return baseMapper.updateStatusByUserId(userId, String.valueOf(status), message);
+    }
+
+    @Override
+    public MerchantAuth queryByUserId(Long userId) {
+        return baseMapper.selectOne(Wrappers.<MerchantAuth>lambdaQuery().eq(MerchantAuth::getApplicant, userId));
     }
 }

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

@@ -76,10 +76,6 @@ public class UserAuthServiceImpl extends ServiceImpl<UserAuthMapper, UserAuth> i
 
     @Override
     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);
+        return baseMapper.updateStatusByUserId(userId, status, message);
     }
 }