Просмотр исходного кода

// add bank shar

release_toaliyun_real
xhxu 3 лет назад
Родитель
Сommit
312427a1d7
7 измененных файлов: 79 добавлений и 17 удалений
  1. +23
    -1
      mallinkSchedule/src/main/java/com/iformall/schedule/SharingReceiverApplySchedule.java
  2. +2
    -2
      mallinkService/src/main/java/com/iformall/domain/po/WxProfitSharingReceiverApply.java
  3. +12
    -10
      mallinkService/src/main/java/com/iformall/enums/EnumSharingReceiverVerifyResult.java
  4. +1
    -0
      mallinkService/src/main/java/com/iformall/mapper/WxProfitSharingReceiverApplyMapper.java
  5. +2
    -0
      mallinkService/src/main/java/com/iformall/service/WxProfitSharingReceiverApplyService.java
  6. +32
    -4
      mallinkService/src/main/java/com/iformall/service/impl/WxProfitSharingReceiverApplyServiceImpl.java
  7. +7
    -0
      mallinkService/src/main/resources/mapper/WxProfitSharingReceiverApplyMapper.xml

+ 23
- 1
mallinkSchedule/src/main/java/com/iformall/schedule/SharingReceiverApplySchedule.java Просмотреть файл

@@ -4,6 +4,7 @@ import com.iformall.common.ResultData;
import com.iformall.domain.po.WxProfitSharingReceiverApply;
import com.iformall.enums.EnumSharingReceiverApplyStatus;
import com.iformall.enums.EnumSharingReceiverApplymentState;
import com.iformall.enums.EnumSharingReceiverVerifyResult;
import com.iformall.mapper.WxProfitSharingReceiverApplyMapper;
import com.iformall.service.WxProfitSharingReceiverApplyService;
import org.slf4j.Logger;
@@ -28,7 +29,7 @@ public class SharingReceiverApplySchedule {
@Async
@Scheduled(cron = "0 22 */1 * * ?")// 每小时的22分钟
public void sharingOrderRedoSchedule() {
public void handApplymentStatesSchedule() {
WxProfitSharingReceiverApply receiverApply = new WxProfitSharingReceiverApply();
receiverApply.setStatus(EnumSharingReceiverApplyStatus.PROFIT_RECEIVER_APPLY_STATUS_VALID.getCode());
receiverApply.setApplymentStates(EnumSharingReceiverApplymentState.getNeedSyncList());
@@ -47,4 +48,25 @@ public class SharingReceiverApplySchedule {
}
}

@Async
@Scheduled(cron = "0 22 11,17 * * ?")// 每天上午11点下午17点的22分钟
public void handVerifyResultSchedule() {
WxProfitSharingReceiverApply receiverApply = new WxProfitSharingReceiverApply();
receiverApply.setStatus(EnumSharingReceiverApplyStatus.PROFIT_RECEIVER_APPLY_STATUS_VALID.getCode());
receiverApply.setVerifyResult(EnumSharingReceiverVerifyResult.VERIFYING.getCode());
List<WxProfitSharingReceiverApply> needSyncList = wxProfitSharingReceiverApplyMapper.findListByVerifyResult(receiverApply);
if(!needSyncList.isEmpty()){
for (WxProfitSharingReceiverApply apply:needSyncList){
try{
ResultData resultData = wxProfitSharingReceiverApplyService.handVerifyResult(apply);
if(resultData.code != 200){
logger.error("同步进件状态异常{}"+apply.getId());
}
}catch(Exception e){
logger.error("同步进件状态异常{}"+apply.getId()+"---"+e.getMessage());
}
}
}
}

}

+ 2
- 2
mallinkService/src/main/java/com/iformall/domain/po/WxProfitSharingReceiverApply.java Просмотреть файл

@@ -98,10 +98,10 @@ public class WxProfitSharingReceiverApply extends TenantEntity {

@io.swagger.annotations.ApiModelProperty(value="EnumSharingReceiverVerifyResult 修改收款帐号 申请状态",name="verifyResult")
private Integer verifyResult;
@io.swagger.annotations.ApiModelProperty(value="修改收款帐号 申请状态描述",name="verifyFailReason")
@io.swagger.annotations.ApiModelProperty(value="汇款验证失败原因",name="verifyFailReason")
private String verifyFailReason;

@io.swagger.annotations.ApiModelProperty(value="修改收款帐号 申请状态描述",name="status")
@io.swagger.annotations.ApiModelProperty(value="EnumSharingReceiverApplyStatus",name="status")
private Integer status;

@io.swagger.annotations.ApiModelProperty(value="",name="createTime")


+ 12
- 10
mallinkService/src/main/java/com/iformall/enums/EnumSharingReceiverVerifyResult.java Просмотреть файл

@@ -1,5 +1,7 @@
package com.iformall.enums;

import com.github.binarywang.wxpay.bean.applyment.enums.SettlementVerifyResultEnum;

/**
* 签约状态
* VERIFYING:系统汇款验证中,商户可发起提现尝试。
@@ -8,9 +10,9 @@ package com.iformall.enums;
*/
public enum EnumSharingReceiverVerifyResult {

VERIFYING(1, "VERIFYING", "系统汇款验证中,商户可发起提现尝试。"),
VERIFY_SUCCESS(2, "VERIFY_SUCCESS", "系统成功汇款,该账户可正常发起提现。"),
VERIFY_FAIL(3, "VERIFY_FAIL", "系统汇款失败,该账户无法发起提现,请检查修改。"),
VERIFYING(1, SettlementVerifyResultEnum.VERIFYING, "系统汇款验证中,商户可发起提现尝试。"),
VERIFY_SUCCESS(2, SettlementVerifyResultEnum.VERIFY_SUCCESS, "系统成功汇款,该账户可正常发起提现。"),
VERIFY_FAIL(3, SettlementVerifyResultEnum.VERIFY_FAIL, "系统汇款失败,该账户无法发起提现,请检查修改。"),
;

public static EnumSharingReceiverVerifyResult getEnum(Integer code) {
@@ -22,9 +24,9 @@ public enum EnumSharingReceiverVerifyResult {
return null;
}

public static EnumSharingReceiverVerifyResult getEnum(String codeStr) {
public static EnumSharingReceiverVerifyResult getEnum(SettlementVerifyResultEnum settlementVerifyResultEnum) {
for (EnumSharingReceiverVerifyResult value : values()) {
if (value.getCodeStr().equals(codeStr)) {
if (value.getSettlementVerifyResultEnum().equals(settlementVerifyResultEnum)) {
return value;
}
}
@@ -32,12 +34,12 @@ public enum EnumSharingReceiverVerifyResult {
}

private Integer code;
private String codeStr;
private SettlementVerifyResultEnum settlementVerifyResultEnum;
private String message;

EnumSharingReceiverVerifyResult(Integer code, String codeStr, String message) {
EnumSharingReceiverVerifyResult(Integer code, SettlementVerifyResultEnum settlementVerifyResultEnum, String message) {
this.code = code;
this.codeStr = codeStr;
this.settlementVerifyResultEnum = settlementVerifyResultEnum;
this.message = message;
}

@@ -45,8 +47,8 @@ public enum EnumSharingReceiverVerifyResult {
return code;
}

public String getCodeStr() {
return codeStr;
public SettlementVerifyResultEnum getSettlementVerifyResultEnum() {
return settlementVerifyResultEnum;
}

public String getMessage() {


+ 1
- 0
mallinkService/src/main/java/com/iformall/mapper/WxProfitSharingReceiverApplyMapper.java Просмотреть файл

@@ -12,4 +12,5 @@ public interface WxProfitSharingReceiverApplyMapper extends CommonMapper<WxProfi

List<WxProfitSharingReceiverApply> findListByApplymentState(WxProfitSharingReceiverApply apply);

List<WxProfitSharingReceiverApply> findListByVerifyResult(WxProfitSharingReceiverApply apply);
}

+ 2
- 0
mallinkService/src/main/java/com/iformall/service/WxProfitSharingReceiverApplyService.java Просмотреть файл

@@ -29,4 +29,6 @@ public interface WxProfitSharingReceiverApplyService {
ResultData handApplymentStates(WxProfitSharingReceiverApply apply);

ResultData modifySettlement(WxProfitSharingReceiverApply receiverAdd,String subMchid);

ResultData handVerifyResult(WxProfitSharingReceiverApply apply);
}

+ 32
- 4
mallinkService/src/main/java/com/iformall/service/impl/WxProfitSharingReceiverApplyServiceImpl.java Просмотреть файл

@@ -4,10 +4,7 @@ import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.JSONArray;
import com.alibaba.fastjson.JSONObject;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.github.binarywang.wxpay.bean.applyment.ApplymentStateQueryResult;
import com.github.binarywang.wxpay.bean.applyment.ModifySettlementRequest;
import com.github.binarywang.wxpay.bean.applyment.WxPayApplyment4SubCreateRequest;
import com.github.binarywang.wxpay.bean.applyment.WxPayApplymentCreateResult;
import com.github.binarywang.wxpay.bean.applyment.*;
import com.github.binarywang.wxpay.bean.applyment.enums.SalesScenesTypeEnum;
import com.github.binarywang.wxpay.exception.WxPayException;
import com.github.binarywang.wxpay.service.WxPayService;
@@ -171,6 +168,8 @@ public class WxProfitSharingReceiverApplyServiceImpl implements WxProfitSharingR
receiverApplyUpd.setApplymentStateDesc(applymentStateQueryResult.getApplymentStateMsg());
if(enumApplymentState.equals(EnumSharingReceiverApplymentState.APPLYMENT_STATE_REJECTED)){
receiverApplyUpd.setAuditDetail(JSON.toJSONString(applymentStateQueryResult.getAuditDetail()));
}else{
receiverApplyUpd.setAuditDetail("[]");
}
receiverApplyUpd.setUpdateTime(new Date());
wxProfitSharingReceiverApplyMapper.updateById(receiverApplyUpd);
@@ -220,6 +219,35 @@ public class WxProfitSharingReceiverApplyServiceImpl implements WxProfitSharingR
return new ResultData(ErrorCode.SYS_PARAMETER_ERROR.getCode(), "结算帐号填写未完成");
}

@Override
public ResultData handVerifyResult(WxProfitSharingReceiverApply receiverApply) {
if(receiverApply == null || !EnumSharingReceiverVerifyResult.VERIFYING.getCode().equals(receiverApply.getVerifyResult())){
return new ResultData(ErrorCode.SYS_PARAMETER_ERROR.getCode(), "该状态无需同步");
}
WxPayService wxPayService = wxPayAccountService.getWxPayService(receiverApply.getTenantId());
try {
SettlementInfoResult settlementInfoResult = wxPayService.getApplyment4SubService().querySettlementBySubMchid(receiverApply.getSubMchid());
EnumSharingReceiverVerifyResult enumVerifyResult = EnumSharingReceiverVerifyResult.getEnum(settlementInfoResult.getVerifyResult());
if(enumVerifyResult != null && !enumVerifyResult.getCode().equals(receiverApply.getVerifyResult())){
WxProfitSharingReceiverApply receiverApplyUpd = new WxProfitSharingReceiverApply();
receiverApplyUpd.updateTenantInfo(receiverApply);
receiverApplyUpd.setId(receiverApply.getId());
receiverApplyUpd.setVerifyResult(enumVerifyResult.getCode());
if(enumVerifyResult.equals(EnumSharingReceiverVerifyResult.VERIFY_FAIL)){
receiverApplyUpd.setVerifyFailReason(settlementInfoResult.getVerifyFailReason());
}else{
receiverApplyUpd.setVerifyFailReason("");
}
receiverApplyUpd.setUpdateTime(new Date());
wxProfitSharingReceiverApplyMapper.updateById(receiverApplyUpd);
}
return new ResultData();
} catch (WxPayException e) {
e.printStackTrace();
return new ResultData(ErrorCode.SYS_SERVER_ERROR.getCode(),e.getMessage());
}
}


//------------------------------------------------------------------------------------------------------------------



+ 7
- 0
mallinkService/src/main/resources/mapper/WxProfitSharingReceiverApplyMapper.xml Просмотреть файл

@@ -144,5 +144,12 @@
from wx_profit_sharing_receiver_apply
<include refid="dynamicWhereConditions"/>
</select>

<select id="findListByVerifyResult" parameterType="com.iformall.domain.po.WxProfitSharingReceiverApply" resultMap="BaseResultMap">
select
`id`,`tenant_id`,`parent_tenant_id`,`merchant_id`,`plat`,`out_request_no`,`applyment_id`,`sub_mchid`,`verify_result`
from wx_profit_sharing_receiver_apply
<include refid="dynamicWhereConditions"/>
</select>
</mapper>

Загрузка…
Отмена
Сохранить