Explorar el Código

优化认证流程

wuxw hace 2 años
padre
commit
1e34f5daea

+ 76 - 0
service-fee/src/main/java/com/java110/fee/cmd/returnPayFee/TryRefundMoneyCmd.java

@@ -0,0 +1,76 @@
+package com.java110.fee.cmd.returnPayFee;
+
+import com.alibaba.fastjson.JSONObject;
+import com.java110.core.annotation.Java110Cmd;
+import com.java110.core.annotation.Java110Transactional;
+import com.java110.core.context.ICmdDataFlowContext;
+import com.java110.core.event.cmd.Cmd;
+import com.java110.core.event.cmd.CmdEvent;
+import com.java110.core.factory.GenerateCodeFactory;
+import com.java110.dto.onlinePayRefund.OnlinePayRefundDto;
+import com.java110.dto.wechat.OnlinePayDto;
+import com.java110.intf.acct.IOnlinePayRefundV1InnerServiceSMO;
+import com.java110.intf.acct.IOnlinePayV1InnerServiceSMO;
+import com.java110.po.onlinePayRefund.OnlinePayRefundPo;
+import com.java110.po.wechat.OnlinePayPo;
+import com.java110.utils.exception.CmdException;
+import com.java110.utils.util.Assert;
+import com.java110.utils.util.ListUtil;
+import org.springframework.beans.factory.annotation.Autowired;
+
+import java.text.ParseException;
+import java.util.List;
+
+@Java110Cmd(serviceCode = "returnPayFee.tryRefundMoney")
+public class TryRefundMoneyCmd extends Cmd {
+
+    @Autowired
+    private IOnlinePayRefundV1InnerServiceSMO onlinePayRefundV1InnerServiceSMOImpl;
+
+    @Autowired
+    private IOnlinePayV1InnerServiceSMO onlinePayV1InnerServiceSMOImpl;
+
+    @Override
+    public void validate(CmdEvent event, ICmdDataFlowContext context, JSONObject reqJson) throws CmdException, ParseException {
+        Assert.hasKeyAndValue(reqJson,"detailId","未包含缴费明细");
+
+
+    }
+
+    @Override
+    @Java110Transactional
+    public void doCmd(CmdEvent event, ICmdDataFlowContext context, JSONObject reqJson) throws CmdException, ParseException {
+
+        OnlinePayRefundDto onlinePayRefundDto = new OnlinePayRefundDto();
+        onlinePayRefundDto.setBusiId(reqJson.getString("detailId"));
+        onlinePayRefundDto.setState(OnlinePayDto.STATE_FT);
+        List<OnlinePayRefundDto> onlinePayRefundDtos = onlinePayRefundV1InnerServiceSMOImpl.queryOnlinePayRefunds(onlinePayRefundDto);
+        if(ListUtil.isNull(onlinePayRefundDtos)){
+            throw new CmdException("未查到退款失败订单");
+        }
+
+        OnlinePayDto onlinePayDto = new OnlinePayDto();
+        onlinePayDto.setPayId(onlinePayRefundDtos.get(0).getPayId());
+        List<OnlinePayDto> onlinePayDtos = onlinePayV1InnerServiceSMOImpl.queryOnlinePays(onlinePayDto);
+        if (ListUtil.isNull(onlinePayDtos)) {
+            return;
+        }
+
+        //todo 保存 退费明细
+
+        OnlinePayRefundPo onlinePayRefundPo = new OnlinePayRefundPo();
+        onlinePayRefundPo.setRefundId(onlinePayRefundDtos.get(0).getRefundId());
+        onlinePayRefundPo.setState(OnlinePayDto.STATE_WT);
+        onlinePayRefundPo.setMessage("待退费");
+        onlinePayRefundPo.setCommunityId(onlinePayRefundDtos.get(0).getCommunityId());
+        onlinePayRefundV1InnerServiceSMOImpl.updateOnlinePayRefund(onlinePayRefundPo);
+
+        OnlinePayPo onlinePayPo = new OnlinePayPo();
+        onlinePayPo.setOrderId(onlinePayDtos.get(0).getOrderId());
+        onlinePayPo.setPayId(onlinePayDtos.get(0).getPayId());
+        onlinePayPo.setState(OnlinePayDto.STATE_WT);
+        onlinePayPo.setRefundFee(onlinePayRefundDtos.get(0).getRefundFee());
+        onlinePayV1InnerServiceSMOImpl.updateOnlinePay(onlinePayPo);
+
+    }
+}