Ver código fonte

优化认证流程

wuxw 2 anos atrás
pai
commit
477b605bed

+ 11 - 0
java110-bean/src/main/java/com/java110/dto/onlinePayRefund/OnlinePayRefundDto.java

@@ -17,6 +17,9 @@ public class OnlinePayRefundDto extends PageDto implements Serializable {
 
     private String refundFee;
     private String busiId;
+
+    private String[] busiIds;
+
     private String payId;
     private String state;
     private String message;
@@ -102,4 +105,12 @@ public class OnlinePayRefundDto extends PageDto implements Serializable {
     public void setCommunityId(String communityId) {
         this.communityId = communityId;
     }
+
+    public String[] getBusiIds() {
+        return busiIds;
+    }
+
+    public void setBusiIds(String[] busiIds) {
+        this.busiIds = busiIds;
+    }
 }

+ 20 - 0
java110-bean/src/main/java/com/java110/dto/payFee/ReturnPayFeeDto.java

@@ -69,6 +69,10 @@ public class ReturnPayFeeDto extends PageDto implements Serializable {
     private String auditPersonId;
     private String auditPersonName;
 
+    private String refundState;
+
+    private String refundRemark;
+
     private List<FeeAccountDetailDto> feeAccountDetailDtoList;
     private List<PayFeeDetailDiscountDto> payFeeDetailDiscountDtoList;
 
@@ -391,4 +395,20 @@ public class ReturnPayFeeDto extends PageDto implements Serializable {
     public void setAuditPersonName(String auditPersonName) {
         this.auditPersonName = auditPersonName;
     }
+
+    public String getRefundState() {
+        return refundState;
+    }
+
+    public void setRefundState(String refundState) {
+        this.refundState = refundState;
+    }
+
+    public String getRefundRemark() {
+        return refundRemark;
+    }
+
+    public void setRefundRemark(String refundRemark) {
+        this.refundRemark = refundRemark;
+    }
 }

+ 12 - 0
java110-db/src/main/resources/mapper/acct/OnlinePayRefundV1ServiceDaoImplMapper.xml

@@ -27,6 +27,12 @@
         <if test="busiId !=null and busiId != ''">
             and t.busi_id= #{busiId}
         </if>
+        <if test="busiIds !=null ">
+            and t.busi_id in
+            <foreach collection="busiIds" item="item" open="(" close=")" separator=",">
+                #{item}
+            </foreach>
+        </if>
         <if test="statusCd !=null and statusCd != ''">
             and t.status_cd= #{statusCd}
         </if>
@@ -95,6 +101,12 @@
         <if test="busiId !=null and busiId != ''">
             and t.busi_id= #{busiId}
         </if>
+        <if test="busiIds !=null ">
+            and t.busi_id in
+            <foreach collection="busiIds" item="item" open="(" close=")" separator=",">
+                #{item}
+            </foreach>
+        </if>
         <if test="statusCd !=null and statusCd != ''">
             and t.status_cd= #{statusCd}
         </if>

+ 2 - 2
service-acct/src/main/java/com/java110/acct/dao/impl/OnlinePayRefundV1ServiceDaoImpl.java

@@ -71,9 +71,9 @@ public class OnlinePayRefundV1ServiceDaoImpl extends BaseServiceDao implements I
     public List<Map> getOnlinePayRefundInfo(Map info) throws DAOException {
         logger.debug("查询 getOnlinePayRefundInfo 入参 info : {}",info);
 
-        List<Map> businessOnlinePayRefundInfos = sqlSessionTemplate.selectList("onlinePayRefundV1ServiceDaoImpl.getOnlinePayRefundInfo",info);
+        List<Map> infos = sqlSessionTemplate.selectList("onlinePayRefundV1ServiceDaoImpl.getOnlinePayRefundInfo",info);
 
-        return businessOnlinePayRefundInfos;
+        return infos;
     }
 
 

+ 45 - 15
service-fee/src/main/java/com/java110/fee/cmd/returnPayFee/ListReturnPayFeesCmd.java

@@ -21,13 +21,17 @@ import com.java110.core.context.ICmdDataFlowContext;
 import com.java110.core.event.cmd.Cmd;
 import com.java110.core.event.cmd.CmdEvent;
 import com.java110.dto.fee.FeeAccountDetailDto;
+import com.java110.dto.onlinePayRefund.OnlinePayRefundDto;
 import com.java110.dto.payFee.PayFeeDetailDiscountDto;
+import com.java110.intf.acct.IOnlinePayRefundV1InnerServiceSMO;
 import com.java110.intf.fee.IFeeAccountDetailServiceSMO;
 import com.java110.intf.fee.IPayFeeDetailDiscountInnerServiceSMO;
 import com.java110.intf.fee.IReturnPayFeeInnerServiceSMO;
 import com.java110.utils.exception.CmdException;
 import com.java110.utils.util.Assert;
 import com.java110.utils.util.BeanConvertUtil;
+import com.java110.utils.util.ListUtil;
+import com.java110.vo.ResultVo;
 import com.java110.vo.api.returnPayFee.ApiReturnPayFeeDataVo;
 import com.java110.vo.api.returnPayFee.ApiReturnPayFeeVo;
 import org.springframework.beans.factory.annotation.Autowired;
@@ -65,6 +69,9 @@ public class ListReturnPayFeesCmd extends Cmd {
     @Autowired
     private IPayFeeDetailDiscountInnerServiceSMO payFeeDetailDiscountInnerServiceSMOImpl;
 
+    @Autowired
+    private IOnlinePayRefundV1InnerServiceSMO onlinePayRefundV1InnerServiceSMOImpl;
+
     @Override
     public void validate(CmdEvent event, ICmdDataFlowContext cmdDataFlowContext, JSONObject reqJson) {
         super.validatePageInfo(reqJson);
@@ -78,41 +85,64 @@ public class ListReturnPayFeesCmd extends Cmd {
 
         int count = returnPayFeeInnerServiceSMOImpl.queryReturnPayFeesCount(returnPayFeeDto);
 
-        List<ReturnPayFeeDto> returnPayFeeDtos = new ArrayList<>();
-
-        List<ApiReturnPayFeeDataVo> returnPayFees;
+        List<ReturnPayFeeDto> returnPayFees;
 
         if (count > 0) {
             //注意这里处理 记得测试退费逻辑
-            List<ReturnPayFeeDto> returnPayFeeList = returnPayFeeInnerServiceSMOImpl.queryReturnPayFees(returnPayFeeDto);
-            for (ReturnPayFeeDto returnPayFee : returnPayFeeList) {
+            returnPayFees = returnPayFeeInnerServiceSMOImpl.queryReturnPayFees(returnPayFeeDto);
+            for (ReturnPayFeeDto returnPayFee : returnPayFees) {
                 FeeAccountDetailDto feeAccountDetailDto = new FeeAccountDetailDto();
                 feeAccountDetailDto.setDetailId(returnPayFee.getDetailId());
                 List<FeeAccountDetailDto> feeAccountDetailDtos = feeAccountDetailServiceSMOImpl.queryFeeAccountDetails(feeAccountDetailDto);
-                if (feeAccountDetailDtos != null && feeAccountDetailDtos.size() > 0) {
+                if (!ListUtil.isNull(feeAccountDetailDtos)) {
                     returnPayFee.setFeeAccountDetailDtoList(feeAccountDetailDtos);
                 }
                 PayFeeDetailDiscountDto payFeeDetailDiscountDto = new PayFeeDetailDiscountDto();
                 payFeeDetailDiscountDto.setDetailId(returnPayFee.getDetailId());
                 List<PayFeeDetailDiscountDto> payFeeDetailDiscountDtos = payFeeDetailDiscountInnerServiceSMOImpl.queryPayFeeDetailDiscounts(payFeeDetailDiscountDto);
-                if (payFeeDetailDiscountDtos != null && payFeeDetailDiscountDtos.size() > 0) {
+                if (!ListUtil.isNull(payFeeDetailDiscountDtos)) {
                     returnPayFee.setPayFeeDetailDiscountDtoList(payFeeDetailDiscountDtos);
                 }
-                returnPayFeeDtos.add(returnPayFee);
             }
-            returnPayFees = BeanConvertUtil.covertBeanList(returnPayFeeDtos, ApiReturnPayFeeDataVo.class);
         } else {
             returnPayFees = new ArrayList<>();
         }
+        //todo 查询退款 支付系统返回内容
+        computeOnlinePayRefundRemark(returnPayFees);
 
-        ApiReturnPayFeeVo apiReturnPayFeeVo = new ApiReturnPayFeeVo();
+        ResultVo resultVo = new ResultVo((int) Math.ceil((double) count / (double) reqJson.getInteger("row")), count, returnPayFees);
 
-        apiReturnPayFeeVo.setTotal(count);
-        apiReturnPayFeeVo.setRecords((int) Math.ceil((double) count / (double) reqJson.getInteger("row")));
-        apiReturnPayFeeVo.setReturnPayFees(returnPayFees);
-
-        ResponseEntity<String> responseEntity = new ResponseEntity<String>(JSONObject.toJSONString(apiReturnPayFeeVo), HttpStatus.OK);
+        ResponseEntity<String> responseEntity = new ResponseEntity<String>(resultVo.toString(), HttpStatus.OK);
 
         cmdDataFlowContext.setResponseEntity(responseEntity);
     }
+
+    private void computeOnlinePayRefundRemark(List<ReturnPayFeeDto> returnPayFees) {
+
+        if (ListUtil.isNull(returnPayFees)) {
+            return;
+        }
+
+        List<String> detailIds = new ArrayList<>();
+        for (ReturnPayFeeDto returnPayFeeDto : returnPayFees) {
+            detailIds.add(returnPayFeeDto.getDetailId());
+        }
+
+        OnlinePayRefundDto onlinePayRefundDto = new OnlinePayRefundDto();
+        onlinePayRefundDto.setBusiIds(detailIds.toArray(new String[detailIds.size()]));
+        List<OnlinePayRefundDto> onlinePayRefundDtos = onlinePayRefundV1InnerServiceSMOImpl.queryOnlinePayRefunds(onlinePayRefundDto);
+
+        if (ListUtil.isNull(onlinePayRefundDtos)) {
+            return;
+        }
+
+        for (ReturnPayFeeDto returnPayFeeDto : returnPayFees) {
+            for(OnlinePayRefundDto tmpOnlinePayRefundDto:onlinePayRefundDtos){
+                if(returnPayFeeDto.getDetailId().equals(tmpOnlinePayRefundDto.getBusiId())){
+                    returnPayFeeDto.setRefundState(tmpOnlinePayRefundDto.getState());
+                    returnPayFeeDto.setRefundRemark(tmpOnlinePayRefundDto.getMessage());
+                }
+            }
+        }
+    }
 }

+ 3 - 5
service-fee/src/main/java/com/java110/fee/cmd/returnPayFee/UpdateReturnPayFeeCmd.java

@@ -61,13 +61,11 @@ import com.java110.po.wechat.OnlinePayPo;
 import com.java110.po.payFee.PayFeeDetailDiscountPo;
 import com.java110.po.payFee.ReturnPayFeePo;
 import com.java110.utils.exception.CmdException;
-import com.java110.utils.util.Assert;
-import com.java110.utils.util.BeanConvertUtil;
-import com.java110.utils.util.DateUtil;
-import com.java110.utils.util.StringUtil;
+import com.java110.utils.util.*;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.kafka.listener.ListenerUtils;
 
 import java.math.BigDecimal;
 import java.text.SimpleDateFormat;
@@ -650,7 +648,7 @@ public class UpdateReturnPayFeeCmd extends Cmd {
         OnlinePayDto onlinePayDto = new OnlinePayDto();
         onlinePayDto.setOrderId(feeDetailDto.getPayOrderId());
         List<OnlinePayDto> onlinePayDtos = onlinePayV1InnerServiceSMOImpl.queryOnlinePays(onlinePayDto);
-        if (onlinePayDtos == null || onlinePayDtos.size() < 1) {
+        if (ListUtil.isNull(onlinePayDtos)) {
             return;
         }
         OnlinePayPo onlinePayPo = new OnlinePayPo();