| @@ -5,6 +5,9 @@ import com.baomidou.mybatisplus.annotation.TableField; | |||
| import com.baomidou.mybatisplus.annotation.TableName; | |||
| import com.iformall.common.SortColumn; | |||
| import com.iformall.domain.po.base.TenantEntity; | |||
| import com.iformall.enums.EnumAppPlat; | |||
| import com.iformall.enums.EnumCouponType; | |||
| import com.iformall.utils.Constant; | |||
| import lombok.Data; | |||
| import lombok.EqualsAndHashCode; | |||
| import lombok.ToString; | |||
| @@ -166,4 +169,12 @@ public class WxOrder extends TenantEntity { | |||
| private Integer shippingType; | |||
| public String getWeappOrderPath(EnumAppPlat appPlat){ | |||
| if(EnumAppPlat.WX.equals(appPlat)){ | |||
| }else if (EnumAppPlat.TOUTIAO.equals(appPlat)){ | |||
| return Constant.mainPageUrl + "?type=cd&couponId=" + productId; | |||
| } | |||
| return null; | |||
| } | |||
| } | |||
| @@ -18,6 +18,8 @@ public interface TtMaService { | |||
| String JSCODE_TO_SESSION_URL = "https://developer.toutiao.com/api/apps/jscode2session"; | |||
| String ORDER_PUSH = "https://developer.toutiao.com/api/apps/order/v2/push"; | |||
| /** | |||
| * 获取登录后的session信息. | |||
| * | |||
| @@ -172,6 +172,7 @@ public class WxPayOrderServiceImpl implements WxPayOrderService { | |||
| throw new MallinkException(ErrorCode.SYS_SERVER_ERROR.getCode(),e.getMessage()); | |||
| } | |||
| } | |||
| } | |||
| } | |||
| @@ -897,6 +898,14 @@ public class WxPayOrderServiceImpl implements WxPayOrderService { | |||
| // 普通券, 修改订单状态 | |||
| try { | |||
| WxCouponOrder couponOrder = wxOrderService.couponOrderSuccess(order); | |||
| try { | |||
| WxAppinfo appinfo = wxAppinfoService.getCAppInfo(order,EnumPayWay.getEnum(record.getPayVendor()).getPlat()); | |||
| payServiceFactory.getPayAdapterService(record.getPayVendor()).payOrderPush(appinfo, order, record, wxCoupon); | |||
| }catch (Exception e) { | |||
| logger.error("doOthersAfterPaySuccess----error"+e.getMessage()); | |||
| } | |||
| try{ | |||
| orderFactory.getOrderAdapterService(record.getComposeOrder()).doOthersAfterPaySuccess(order, record,couponOrder); | |||
| }catch (Exception e) { | |||
| @@ -4,11 +4,7 @@ import java.io.File; | |||
| import java.util.Date; | |||
| import java.util.Map; | |||
| import com.iformall.domain.po.WxAppinfo; | |||
| import com.iformall.domain.po.WxBatchOrder; | |||
| import com.iformall.domain.po.WxOrder; | |||
| import com.iformall.domain.po.WxPayAccount; | |||
| import com.iformall.domain.po.WxPayOrder; | |||
| import com.iformall.domain.po.*; | |||
| import com.iformall.enums.EnumPayShare; | |||
| import com.iformall.service.order.entity.WxComposeOrder; | |||
| import com.iformall.service.pay.entity.PayExtraParam; | |||
| @@ -86,11 +82,11 @@ public interface PayAdapterService { | |||
| * API 订单同步 | |||
| * @param appInfo | |||
| * @param record | |||
| * @param payAccount | |||
| * @param | |||
| * @return | |||
| * @throws Exception | |||
| */ | |||
| public PayAdapterResult payOrderPush(WxAppinfo appInfo, WxPayOrder record,WxPayAccount payAccount) throws Exception; | |||
| public PayAdapterResult payOrderPush(WxAppinfo appInfo, WxOrder order, WxPayOrder record, WxCoupon coupon) throws Exception; | |||
| /** | |||
| * 获取二维码 | |||
| @@ -47,7 +47,7 @@ public class BaseTtPayAdapterService { | |||
| } | |||
| @Autowired | |||
| MaUtil maUtil; | |||
| protected MaUtil maUtil; | |||
| protected File getQrCode(WxAppinfo appinfo,String pageUrl,int type,String sceneParam) throws WxErrorException { | |||
| TtMaService ttappService = maUtil.getTtappService(appinfo); | |||
| @@ -1,11 +1,14 @@ | |||
| package com.iformall.service.pay.service.pay.douyin.miniApp; | |||
| import com.iformall.domain.po.WxAppinfo; | |||
| import com.iformall.domain.po.WxPayAccount; | |||
| import com.iformall.domain.po.WxPayOrder; | |||
| import com.alibaba.fastjson.JSON; | |||
| import com.alibaba.fastjson.JSONObject; | |||
| import com.iformall.domain.po.*; | |||
| import com.iformall.douyin.miniapp.api.TtMaService; | |||
| import com.iformall.douyin.pay.DouYinPayHelper; | |||
| import com.iformall.douyin.pay.preOrder.CreatePreOrderResult; | |||
| import com.iformall.douyin.pay.preOrder.DouYinCreatePreOrder; | |||
| import com.iformall.enums.EnumAppPlat; | |||
| import com.iformall.enums.EnumOrderStatus; | |||
| import com.iformall.enums.EnumPayShare; | |||
| import com.iformall.service.order.entity.WxComposeOrder; | |||
| import com.iformall.service.pay.entity.PayExtraParam; | |||
| @@ -13,11 +16,13 @@ import com.iformall.service.pay.service.pay.CDrivingPayService; | |||
| import com.iformall.service.pay.service.pay.douyin.BaseTtPayAdapterService; | |||
| import com.iformall.service.pay.service.pay.entity.PayAdapterResult; | |||
| import com.iformall.service.pay.service.pay.entity.PayQueryAdapterResult; | |||
| import com.iformall.utils.DateUtils; | |||
| import lombok.extern.slf4j.Slf4j; | |||
| import me.chanjar.weixin.common.error.WxErrorException; | |||
| import org.springframework.stereotype.Service; | |||
| import java.io.File; | |||
| import java.util.Date; | |||
| import java.util.*; | |||
| @Slf4j | |||
| @Service | |||
| @@ -83,8 +88,46 @@ public class TtMiniAppPayAdapterService extends BaseTtPayAdapterService implemen | |||
| } | |||
| @Override | |||
| public PayAdapterResult payOrderPush(WxAppinfo appInfo, WxPayOrder record, WxPayAccount payAccount) throws Exception { | |||
| return null; | |||
| public PayAdapterResult payOrderPush(WxAppinfo appInfo, WxOrder order, WxPayOrder record, WxCoupon coupon) throws Exception { | |||
| TtMaService ttappService = maUtil.getTtappService(appInfo); | |||
| Map<String,Object> map = new HashMap<>(); | |||
| map.put("access_token",appInfo.getAccessToken()); | |||
| map.put("app_name","douyin"); | |||
| map.put("open_id",record.getOpenId()); | |||
| Map<String,Object> orderDetail = new HashMap<>(); | |||
| orderDetail.put("order_id",order.getId().toString()); | |||
| orderDetail.put("create_time",order.getCreateDate().getTime()); | |||
| orderDetail.put("status", EnumOrderStatus.getEnum(order.getOrderStatus()).getMessage()); | |||
| orderDetail.put("total_price",order.getPayment()); | |||
| orderDetail.put("detail_url",order.getWeappOrderPath(EnumAppPlat.TOUTIAO)); | |||
| List<Map> itemList = new ArrayList<>(); | |||
| Map<String,Object> item = new HashMap<>(); | |||
| item.put("img",coupon.getCoverImg()); | |||
| item.put("title",coupon.getTitle()); | |||
| item.put("sub_title",coupon.getSubTitle()); | |||
| item.put("price",coupon.getSalePrice()); | |||
| itemList.add(item); | |||
| orderDetail.put("item_list",itemList); | |||
| map.put("order_detail", JSON.toJSONString(orderDetail)); | |||
| map.put("order_type",0); | |||
| map.put("update_time", order.getPaymentTime().getTime()); | |||
| try { | |||
| String response = ttappService.post(ttappService.ORDER_PUSH, map); | |||
| JSONObject jsonObject = JSON.parseObject(response); | |||
| Integer code = jsonObject.getInteger("err_code"); | |||
| if (null != code && code.intValue() == 0 ) { | |||
| return new PayAdapterResult(true, "SUCCESS", null, null); | |||
| }else{ | |||
| String err_msg = jsonObject.getString("err_msg"); | |||
| return new PayAdapterResult(false, err_msg, null, null); | |||
| } | |||
| } catch (WxErrorException e) { | |||
| return new PayAdapterResult(false, "订单同步异常", null, null); | |||
| } catch (Exception e){ | |||
| return new PayAdapterResult(false, "订单同步异常", null, null); | |||
| } | |||
| } | |||
| @Override | |||
| @@ -4,13 +4,9 @@ import java.io.File; | |||
| import java.util.Date; | |||
| import java.util.Map; | |||
| import com.iformall.domain.po.*; | |||
| import org.springframework.stereotype.Service; | |||
| import com.iformall.domain.po.WxAppinfo; | |||
| import com.iformall.domain.po.WxBatchOrder; | |||
| import com.iformall.domain.po.WxOrder; | |||
| import com.iformall.domain.po.WxPayAccount; | |||
| import com.iformall.domain.po.WxPayOrder; | |||
| import com.iformall.enums.EnumPayShare; | |||
| import com.iformall.service.order.entity.WxComposeOrder; | |||
| import com.iformall.service.pay.entity.PayExtraParam; | |||
| @@ -61,7 +57,7 @@ public class WxH5PayService extends BaseWxPayAdapterService implements CDriving | |||
| } | |||
| @Override | |||
| public PayAdapterResult payOrderPush(WxAppinfo appInfo, WxPayOrder record, WxPayAccount payAccount) throws Exception { | |||
| public PayAdapterResult payOrderPush(WxAppinfo appInfo, WxOrder order, WxPayOrder record, WxCoupon coupon) throws Exception { | |||
| return null; | |||
| } | |||
| @@ -4,6 +4,7 @@ import java.io.File; | |||
| import java.util.Date; | |||
| import java.util.Map; | |||
| import com.iformall.domain.po.*; | |||
| import org.apache.commons.lang3.StringUtils; | |||
| import org.springframework.stereotype.Service; | |||
| @@ -12,11 +13,6 @@ import com.alibaba.fastjson.JSONObject; | |||
| import com.iformall.common.ErrorCode; | |||
| import com.iformall.common.Result; | |||
| import com.iformall.common.ResultData; | |||
| import com.iformall.domain.po.WxAppinfo; | |||
| import com.iformall.domain.po.WxBatchOrder; | |||
| import com.iformall.domain.po.WxOrder; | |||
| import com.iformall.domain.po.WxPayAccount; | |||
| import com.iformall.domain.po.WxPayOrder; | |||
| import com.iformall.enums.EnumOrderStatus; | |||
| import com.iformall.enums.EnumPayMode; | |||
| import com.iformall.enums.EnumPayShare; | |||
| @@ -269,7 +265,7 @@ public class WxMiniAppPayAdapterService extends BaseWxPayAdapterService implemen | |||
| } | |||
| @Override | |||
| public PayAdapterResult payOrderPush(WxAppinfo appInfo, WxPayOrder record, WxPayAccount payAccount) throws Exception { | |||
| public PayAdapterResult payOrderPush(WxAppinfo appInfo, WxOrder order, WxPayOrder record, WxCoupon coupon) throws Exception { | |||
| return null; | |||
| } | |||
| @@ -3,20 +3,14 @@ package com.iformall.service.pay.service.pay.wx.miniApp.maPay; | |||
| import java.io.File; | |||
| import java.util.Date; | |||
| import java.util.Map; | |||
| import com.iformall.domain.po.*; | |||
| import org.apache.commons.lang3.StringUtils; | |||
| import org.springframework.beans.factory.annotation.Autowired; | |||
| import org.springframework.stereotype.Service; | |||
| import com.iformall.common.ErrorCode; | |||
| import com.iformall.common.IdWorker; | |||
| import com.iformall.domain.po.WxAppinfo; | |||
| import com.iformall.domain.po.WxCUser; | |||
| import com.iformall.domain.po.WxCUserBasicInfo; | |||
| import com.iformall.domain.po.WxBatchOrder; | |||
| import com.iformall.domain.po.WxMall; | |||
| import com.iformall.domain.po.WxOrder; | |||
| import com.iformall.domain.po.WxPayAccount; | |||
| import com.iformall.domain.po.WxPayOrder; | |||
| import com.iformall.domain.po.base.TenantEntity; | |||
| import com.iformall.enums.EnumPayMode; | |||
| import com.iformall.enums.EnumPayShare; | |||
| @@ -256,7 +250,7 @@ public class WxMiniMaPayAdapterService extends BaseWxPayAdapterService implement | |||
| } | |||
| @Override | |||
| public PayAdapterResult payOrderPush(WxAppinfo appInfo, WxPayOrder record, WxPayAccount payAccount) throws Exception { | |||
| public PayAdapterResult payOrderPush(WxAppinfo appInfo, WxOrder order, WxPayOrder record, WxCoupon coupon) throws Exception { | |||
| return null; | |||
| } | |||