3 changed files with 202 additions and 1 deletions
-
13xm-core/src/main/java/com/xm/core/service/XmTaskExecuserService.java
-
144xm-core/src/main/java/com/xm/core/service/client/CashOperateServie.java
-
46xm-core/src/main/java/com/xm/core/service/client/MkClient.java
@ -0,0 +1,144 @@ |
|||
package com.xm.core.service.client; |
|||
|
|||
import com.fasterxml.jackson.databind.ObjectMapper; |
|||
import com.mdp.core.entity.Tips; |
|||
import com.mdp.core.err.BizException; |
|||
import com.mdp.core.utils.BaseUtils; |
|||
import com.mdp.core.utils.SequenceFormat; |
|||
import com.mdp.micro.client.CallBizService; |
|||
import com.mdp.tpa.client.entity.AppShopConfig; |
|||
import com.mdp.tpa.client.service.AppShopConfigService; |
|||
import org.springframework.beans.factory.annotation.Autowired; |
|||
import org.springframework.stereotype.Service; |
|||
import org.springframework.util.StringUtils; |
|||
|
|||
import java.math.BigDecimal; |
|||
import java.util.HashMap; |
|||
import java.util.HashSet; |
|||
import java.util.Map; |
|||
import java.util.Set; |
|||
|
|||
@Service |
|||
public class CashOperateServie { |
|||
@Autowired |
|||
CallBizService restTemplate; |
|||
|
|||
@Autowired |
|||
ObjectMapper om; |
|||
|
|||
@Autowired |
|||
AppShopConfigService appShopConfigService; |
|||
|
|||
Set<String> userCardCodeSet=new HashSet<String>(1000); |
|||
|
|||
|
|||
/** |
|||
* 结算商家付款给客户。不适用第三方支付、而是直接使用本系统账户余额支付。登记流水及记账一次性完成 |
|||
* @param payShopId 支付商户编号 |
|||
* @param payLocationId 支付方店铺编号 |
|||
* @param acctPrjType 核算项目类型 platfrom/shop/location |
|||
* @param orderId 订单号 如没有,调用者自行编码一个订单号 |
|||
* @param orderAmount 订单总金额 如果有多次付款,即为所有子单总金额之和 |
|||
* @param remark 备注 |
|||
* @param goodsShopId 收款方商户编号 |
|||
* @param goodsLocationId 收款方店铺编号 |
|||
* @return |
|||
*/ |
|||
public Map<String,Object> shopBalancePayToClient(String payShopId,String payLocationId,String acctPrjType, String orderId, BigDecimal orderAmount, String remark, |
|||
String incomeUserid, String goodsShopId, String goodsLocationId){ |
|||
String urls = "/accore/accore/tpa/pay/shopBalancePayToClient"; |
|||
Map<String,Object> m=new HashMap<>(); |
|||
m.put("payShopId", payShopId); |
|||
m.put("payLocationId", payLocationId); |
|||
m.put("acctPrjType", acctPrjType); |
|||
m.put("orderId",orderId); |
|||
m.put("orderAmount", orderAmount); |
|||
m.put("remark", remark); |
|||
m.put("incomeUserid", incomeUserid); |
|||
m.put("goodsShopId", goodsShopId); |
|||
m.put("goodsLocationId", goodsLocationId); |
|||
Map<String,Object> tipMap = restTemplate.postForMap(urls,m); |
|||
Tips tips= BaseUtils.mapToTips(tipMap); |
|||
if(!tips.isOk()){ |
|||
throw new BizException(tips); |
|||
} |
|||
return tipMap; |
|||
} |
|||
|
|||
|
|||
/** |
|||
* 结算商家付款给客户。不适用第三方支付、而是直接使用本系统账户余额支付。登记流水及记账一次性完成 |
|||
* @param payBranchId 支付商户归属机构编号 |
|||
* @param acctPrjType 核算项目类型 platfrom/shop/location |
|||
* @param orderId 订单号 如没有,调用者自行编码一个订单号 |
|||
* @param orderAmount 订单总金额 如果有多次付款,即为所有子单总金额之和 |
|||
* @param remark 备注 |
|||
* @param receBranchId 收款方商户归属机构编号 |
|||
* @return |
|||
*/ |
|||
public Map<String,Object> shopBalancePayToClient(String payBranchId,String acctPrjType, String orderId, BigDecimal orderAmount, String remark, |
|||
String incomeUserid,String receBranchId){ |
|||
AppShopConfig payConfig=appShopConfigService.getShopConfigByBranchId(payBranchId); |
|||
|
|||
AppShopConfig receConfig=payConfig; |
|||
if( StringUtils.hasText(receBranchId) && !payBranchId.equals(receBranchId)){ |
|||
receConfig=appShopConfigService.getShopConfigByBranchId(receBranchId); |
|||
} |
|||
String urls = "/accore/accore/tpa/pay/shopBalancePayToClient"; |
|||
Map<String,Object> m=new HashMap<>(); |
|||
m.put("payShopId", payConfig.getShopId()); |
|||
m.put("payLocationId", payConfig.getHeadLocationId()); |
|||
m.put("acctPrjType", acctPrjType); |
|||
m.put("orderId",orderId); |
|||
m.put("orderAmount", orderAmount); |
|||
m.put("remark", remark); |
|||
m.put("incomeUserid", incomeUserid); |
|||
m.put("goodsShopId", receConfig.getShopId()); |
|||
m.put("goodsLocationId", receConfig.getHeadLocationId()); |
|||
Map<String,Object> tipMap = restTemplate.postForMap(urls,m); |
|||
Tips tips= BaseUtils.mapToTips(tipMap); |
|||
if(!tips.isOk()){ |
|||
throw new BizException(tips); |
|||
} |
|||
return tipMap; |
|||
} |
|||
/** |
|||
* 结算商家 付款 给 合作商家、用于退还合作商家缴纳的活动保证金等。核销卡券时,付款给合作商家等。不适用第三方支付、而是直接使用本系统账户余额支付。登记流水及记账一次性完成 |
|||
* @param payShopId 支付商户编号 |
|||
* @param payLocationId 支付方店铺编号 |
|||
* @param acctPrjType 核算项目类型 platfrom/shop/location |
|||
* @param orderId 订单号 如没有,调用者自行编码一个订单号 |
|||
* @param orderAmount 订单总金额 如果有多次付款,即为所有子单总金额之和 |
|||
* @param remark 备注 |
|||
* @param goodsShopId 收款方商户编号 |
|||
* @param goodsLocationId 收款方店铺编号 |
|||
* @return |
|||
*/ |
|||
public Map<String,Object> shopBanlancePayToShop(String payShopId,String payLocationId,String acctPrjType, String orderId, BigDecimal orderAmount, String remark, |
|||
String goodsShopId, String goodsLocationId){ |
|||
String urls = "/accore/accore/tpa/pay/shopBanlancePayToShop"; |
|||
Map<String,Object> m=new HashMap<>(); |
|||
m.put("payShopId", payShopId); |
|||
m.put("payLocationId", payLocationId); |
|||
m.put("acctPrjType", acctPrjType); |
|||
m.put("orderId",orderId); |
|||
m.put("orderAmount", orderAmount); |
|||
m.put("remark", remark); |
|||
m.put("goodsShopId", goodsShopId); |
|||
m.put("goodsLocationId", goodsLocationId); |
|||
Map<String,Object> tipMap = restTemplate.postForMap(urls,m); |
|||
Tips tips= BaseUtils.mapToTips(tipMap); |
|||
if(!tips.isOk()){ |
|||
throw new BizException(tips); |
|||
} |
|||
return tipMap; |
|||
} |
|||
public String getOrderId(){ |
|||
String s= SequenceFormat.parse("{date:yyMMddHH}{rands:2}{rand:2}"); |
|||
while(userCardCodeSet.contains(s)){ |
|||
s= SequenceFormat.parse("{date:yyMMddHH}{rands:2}{rand:2}"); |
|||
} |
|||
userCardCodeSet.add(s); |
|||
return s; |
|||
} |
|||
} |
|||
@ -0,0 +1,46 @@ |
|||
package com.xm.core.service.client; |
|||
|
|||
import com.mdp.core.entity.Tips; |
|||
import com.mdp.core.utils.BaseUtils; |
|||
import com.mdp.micro.client.CallBizService; |
|||
import org.springframework.beans.factory.annotation.Autowired; |
|||
import org.springframework.stereotype.Service; |
|||
|
|||
import java.math.BigDecimal; |
|||
import java.util.HashMap; |
|||
import java.util.Map; |
|||
|
|||
@Service |
|||
/** |
|||
* 对mk接口调用 |
|||
*/ |
|||
public class MkClient { |
|||
|
|||
@Autowired |
|||
CallBizService callBizService; |
|||
|
|||
/** |
|||
* execOrder.setOrderId(sequence.getReqFlowNo()); |
|||
* execOrder.setActNum(new BigDecimal("1")); |
|||
* execOrder.setEntityId(entityId); |
|||
* execOrder.setCustId(receiverId); |
|||
* execOrder.setActSinglePrice(new BigDecimal("10.22")); |
|||
* execOrder.setTotalPrice(new BigDecimal("10.22")); |
|||
* execOrder.setCustBranchId("platform-branch-001"); |
|||
* @return |
|||
*/ |
|||
public Tips pushActiExecOrder(String orderId,String custId,String custBranchId, String entityId,BigDecimal actNum,BigDecimal actSinglePrice,BigDecimal totalPrice){ |
|||
Tips tips = new Tips("推送订单成功"); |
|||
String restUrl="/mk/mk/acti/execOrder/add"; |
|||
Map<String,Object> params=new HashMap<>(); |
|||
params.put("orderId",orderId); |
|||
params.put("custId",custId); |
|||
params.put("entityId",entityId); |
|||
params.put("actNum",actNum); |
|||
params.put("actSinglePrice",orderId); |
|||
params.put("totalPrice",totalPrice); |
|||
Map<String,Object> resultMap=callBizService.postForMap(restUrl,params); |
|||
tips= BaseUtils.mapToTips(resultMap); |
|||
return tips; |
|||
} |
|||
} |
|||
Write
Preview
Loading…
Cancel
Save
Reference in new issue