Browse Source

//tt push

release_toaliyun_real
xhxu 3 years ago
parent
commit
bda241e92b
4 changed files with 75 additions and 45 deletions
  1. +14
    -14
      mallinkSchedule/src/main/java/com/iformall/schedule/TtOrderPushErrorSchedule.java
  2. +1
    -1
      mallinkService/src/main/java/com/iformall/douyin/pay/impl/TtPayServiceApacheHttpImpl.java
  3. +1
    -1
      mallinkService/src/main/java/com/iformall/douyin/payv2/auth/TtPayCredentials.java
  4. +59
    -29
      mallinkService/src/main/java/com/iformall/service/msg/impl/FmInsideOrderPushDeliveryMsgServiceImpl.java

+ 14
- 14
mallinkSchedule/src/main/java/com/iformall/schedule/TtOrderPushErrorSchedule.java View File

@@ -23,19 +23,19 @@ public class TtOrderPushErrorSchedule {
@Autowired
private WxOrderService wxOrderService;

// @Async
// @Scheduled(cron = "0 0 1 * * ?")
// public void OrderPushErrorTaskSchedule() {
// List<TtOrderPushError> orderPushErrors = ttOrderPushErrorMapper.findList(new TtOrderPushError());
// if(orderPushErrors != null && orderPushErrors.size() > 0){
// for (TtOrderPushError error:orderPushErrors) {
// try{
// wxOrderService.sendInsideOrderPushMsg(error,error.getId());
// }catch(Exception e){
// logger.error("订单同步重试error");
// }
// }
// }
// }
@Async
@Scheduled(cron = "0 0 */2 * * ?")
public void OrderPushErrorTaskSchedule() {
List<TtOrderPushError> orderPushErrors = ttOrderPushErrorMapper.findList(new TtOrderPushError());
if(orderPushErrors != null && orderPushErrors.size() > 0){
for (TtOrderPushError error:orderPushErrors) {
try{
wxOrderService.sendInsideOrderPushDeliveryMsg(error,null,error.getId());
}catch(Exception e){
logger.error("订单同步重试error");
}
}
}
}

}

+ 1
- 1
mallinkService/src/main/java/com/iformall/douyin/pay/impl/TtPayServiceApacheHttpImpl.java View File

@@ -120,7 +120,7 @@ public class TtPayServiceApacheHttpImpl extends BaseTtPayServiceImpl {

private StringEntity createEntry(String requestStr) {
try {
return new StringEntity(new String(requestStr.getBytes(StandardCharsets.UTF_8), StandardCharsets.ISO_8859_1));
return new StringEntity(new String(requestStr.getBytes(StandardCharsets.UTF_8), StandardCharsets.UTF_8));
} catch (UnsupportedEncodingException e) {
//cannot happen
this.log.error(e.getMessage(), e);


+ 1
- 1
mallinkService/src/main/java/com/iformall/douyin/payv2/auth/TtPayCredentials.java View File

@@ -79,7 +79,7 @@ public class TtPayCredentials implements Credentials {

String body = "";
// PATCH,POST,PUT
body = EntityUtils.toString(((HttpEntityEnclosingRequest) request).getEntity());
body = EntityUtils.toString(((HttpEntityEnclosingRequest) request).getEntity(),StandardCharsets.UTF_8);

return request.getRequestLine().getMethod() + "\n"
+ canonicalUrl + "\n"


+ 59
- 29
mallinkService/src/main/java/com/iformall/service/msg/impl/FmInsideOrderPushDeliveryMsgServiceImpl.java View File

@@ -59,6 +59,10 @@ public class FmInsideOrderPushDeliveryMsgServiceImpl implements MsgSendService {
@Autowired
private MaUtil maUtil;

@Autowired
private TtOrderPushErrorMapper ttOrderPushErrorMapper;



@Override
public void send(BaseMsg baseMsg) throws Exception{
@@ -72,39 +76,65 @@ public class FmInsideOrderPushDeliveryMsgServiceImpl implements MsgSendService {
tenantEntity.setTenantId(msg.getTenantId());
tenantEntity.setParentTenantId(msg.getParentTenantId());

WxCouponOrder couponOrder = wxCouponOrderService.getById(msg.getCouponOrderId(), tenantEntity.getTenantId());
if(EnumCouponOrderStatus.COUPON_ORDER_USED.getCode().equals(couponOrder.getCouponOrderStatus())
&& EnumPayWay.PAY_WAY_TT.getCode().equals(couponOrder.getPayVendor())){
WxOrder order = wxOrderService.getById(couponOrder.getOrderId(), tenantEntity.getTenantId());
String itemOrderId = (String) order.getExpParamValue("itemOrderId");
WxMerchant merchant = wxMerchantService.getById(couponOrder.getBMerchantId());
String shop_name = merchant.getName();
String ext_valid_shop_id = couponOrder.getBMerchantId().toString();
TtMerchantPoi poi = ttMerchantPoiService.getById(couponOrder.getBMerchantId());



WxAppinfo appinfo = wxAppinfoService.getCAppInfo(tenantEntity,EnumPayWay.PAY_WAY_TT.getPlat());
WxPayAccount payAccount = wxPayAccountService.getById(appinfo.getPayId());
TtPayService ttPayService = maUtil.getTtPayService(appinfo, payAccount);

TtOrderPushDeliveryRequest request = new TtOrderPushDeliveryRequest();
List<TtOrderPushDeliveryRequest.ItemOrder> itemOrderList = new ArrayList<>();
TtOrderPushDeliveryRequest.ItemOrder itemOrder = new TtOrderPushDeliveryRequest.ItemOrder();
itemOrder.setItemOrderId(itemOrderId);
itemOrderList.add(itemOrder);
request.setItemOrderList(itemOrderList);
JSONObject poiInfo = new JSONObject();
poiInfo.put("shop_name",shop_name);
poiInfo.put("ext_valid_shop_id",ext_valid_shop_id);
if(poi != null){
poiInfo.put("valid_poi_id_str",poi.getPoiId());
try{
WxCouponOrder couponOrder = wxCouponOrderService.getById(msg.getCouponOrderId(), tenantEntity.getTenantId());
if(EnumCouponOrderStatus.COUPON_ORDER_USED.getCode().equals(couponOrder.getCouponOrderStatus())
&& EnumPayWay.PAY_WAY_TT.getCode().equals(couponOrder.getPayVendor())){
WxOrder order = wxOrderService.getById(couponOrder.getOrderId(), tenantEntity.getTenantId());
String itemOrderId = (String) order.getExpParamValue("itemOrderId");
WxMerchant merchant = wxMerchantService.getById(couponOrder.getBMerchantId());
String shop_name = merchant.getName();
String ext_valid_shop_id = couponOrder.getBMerchantId().toString();
TtMerchantPoi poi = ttMerchantPoiService.getById(couponOrder.getBMerchantId());


WxAppinfo appinfo = wxAppinfoService.getCAppInfo(tenantEntity,EnumPayWay.PAY_WAY_TT.getPlat());
WxPayAccount payAccount = wxPayAccountService.getById(appinfo.getPayId());
TtPayService ttPayService = maUtil.getTtPayService(appinfo, payAccount);

TtOrderPushDeliveryRequest request = new TtOrderPushDeliveryRequest();
List<TtOrderPushDeliveryRequest.ItemOrder> itemOrderList = new ArrayList<>();
TtOrderPushDeliveryRequest.ItemOrder itemOrder = new TtOrderPushDeliveryRequest.ItemOrder();
itemOrder.setItemOrderId(itemOrderId);
itemOrderList.add(itemOrder);
request.setItemOrderList(itemOrderList);
JSONObject poiInfo = new JSONObject();
poiInfo.put("shop_name",shop_name);
poiInfo.put("ext_valid_shop_id",ext_valid_shop_id);
if(poi != null){
poiInfo.put("valid_poi_id_str",poi.getPoiId());
}
request.setPoiInfo(poiInfo.toJSONString());
boolean b = ttPayService.pushDelivery(request);
if(b){
ttOrderPushErrorMapper.deleteById(msg.getCouponOrderId());
}
}
request.setPoiInfo(poiInfo.toJSONString());
ttPayService.pushDelivery(request);
}catch(Exception e){
TtOrderPushError pushError = new TtOrderPushError();
pushError.setId(msg.getCouponOrderId());
pushError.updateTenantInfo(tenantEntity);
pushError.setErrMsg(e.getMessage());
saveOrUpdate(pushError);
}

}

private void saveOrUpdate(TtOrderPushError pushError){
Date now = new Date();
TtOrderPushError pushError1 = ttOrderPushErrorMapper.selectById(pushError.getId());
if(pushError1 != null){
pushError1.setErrMsg(pushError.getErrMsg());
pushError1.setUpdateDate(now);
ttOrderPushErrorMapper.updateById(pushError1);
}else{
pushError.setCreateDate(now);
pushError.setUpdateDate(now);
ttOrderPushErrorMapper.insert(pushError);
}
}




}

Loading…
Cancel
Save