| @@ -5,6 +5,9 @@ import com.baomidou.mybatisplus.annotation.TableField; | |||||
| import com.baomidou.mybatisplus.annotation.TableName; | import com.baomidou.mybatisplus.annotation.TableName; | ||||
| import com.iformall.common.SortColumn; | import com.iformall.common.SortColumn; | ||||
| import com.iformall.domain.po.base.TenantEntity; | 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.Data; | ||||
| import lombok.EqualsAndHashCode; | import lombok.EqualsAndHashCode; | ||||
| import lombok.ToString; | import lombok.ToString; | ||||
| @@ -166,4 +169,12 @@ public class WxOrder extends TenantEntity { | |||||
| private Integer shippingType; | 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 JSCODE_TO_SESSION_URL = "https://developer.toutiao.com/api/apps/jscode2session"; | ||||
| String ORDER_PUSH = "https://developer.toutiao.com/api/apps/order/v2/push"; | |||||
| /** | /** | ||||
| * 获取登录后的session信息. | * 获取登录后的session信息. | ||||
| * | * | ||||
| @@ -172,6 +172,7 @@ public class WxPayOrderServiceImpl implements WxPayOrderService { | |||||
| throw new MallinkException(ErrorCode.SYS_SERVER_ERROR.getCode(),e.getMessage()); | throw new MallinkException(ErrorCode.SYS_SERVER_ERROR.getCode(),e.getMessage()); | ||||
| } | } | ||||
| } | } | ||||
| } | } | ||||
| } | } | ||||
| @@ -897,6 +898,14 @@ public class WxPayOrderServiceImpl implements WxPayOrderService { | |||||
| // 普通券, 修改订单状态 | // 普通券, 修改订单状态 | ||||
| try { | try { | ||||
| WxCouponOrder couponOrder = wxOrderService.couponOrderSuccess(order); | 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{ | try{ | ||||
| orderFactory.getOrderAdapterService(record.getComposeOrder()).doOthersAfterPaySuccess(order, record,couponOrder); | orderFactory.getOrderAdapterService(record.getComposeOrder()).doOthersAfterPaySuccess(order, record,couponOrder); | ||||
| }catch (Exception e) { | }catch (Exception e) { | ||||
| @@ -4,11 +4,7 @@ import java.io.File; | |||||
| import java.util.Date; | import java.util.Date; | ||||
| import java.util.Map; | 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.enums.EnumPayShare; | ||||
| import com.iformall.service.order.entity.WxComposeOrder; | import com.iformall.service.order.entity.WxComposeOrder; | ||||
| import com.iformall.service.pay.entity.PayExtraParam; | import com.iformall.service.pay.entity.PayExtraParam; | ||||
| @@ -86,11 +82,11 @@ public interface PayAdapterService { | |||||
| * API 订单同步 | * API 订单同步 | ||||
| * @param appInfo | * @param appInfo | ||||
| * @param record | * @param record | ||||
| * @param payAccount | |||||
| * @param | |||||
| * @return | * @return | ||||
| * @throws Exception | * @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 | @Autowired | ||||
| MaUtil maUtil; | |||||
| protected MaUtil maUtil; | |||||
| protected File getQrCode(WxAppinfo appinfo,String pageUrl,int type,String sceneParam) throws WxErrorException { | protected File getQrCode(WxAppinfo appinfo,String pageUrl,int type,String sceneParam) throws WxErrorException { | ||||
| TtMaService ttappService = maUtil.getTtappService(appinfo); | TtMaService ttappService = maUtil.getTtappService(appinfo); | ||||
| @@ -1,11 +1,14 @@ | |||||
| package com.iformall.service.pay.service.pay.douyin.miniApp; | 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.DouYinPayHelper; | ||||
| import com.iformall.douyin.pay.preOrder.CreatePreOrderResult; | import com.iformall.douyin.pay.preOrder.CreatePreOrderResult; | ||||
| import com.iformall.douyin.pay.preOrder.DouYinCreatePreOrder; | 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.enums.EnumPayShare; | ||||
| import com.iformall.service.order.entity.WxComposeOrder; | import com.iformall.service.order.entity.WxComposeOrder; | ||||
| import com.iformall.service.pay.entity.PayExtraParam; | 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.douyin.BaseTtPayAdapterService; | ||||
| import com.iformall.service.pay.service.pay.entity.PayAdapterResult; | import com.iformall.service.pay.service.pay.entity.PayAdapterResult; | ||||
| import com.iformall.service.pay.service.pay.entity.PayQueryAdapterResult; | import com.iformall.service.pay.service.pay.entity.PayQueryAdapterResult; | ||||
| import com.iformall.utils.DateUtils; | |||||
| import lombok.extern.slf4j.Slf4j; | import lombok.extern.slf4j.Slf4j; | ||||
| import me.chanjar.weixin.common.error.WxErrorException; | |||||
| import org.springframework.stereotype.Service; | import org.springframework.stereotype.Service; | ||||
| import java.io.File; | import java.io.File; | ||||
| import java.util.Date; | |||||
| import java.util.*; | |||||
| @Slf4j | @Slf4j | ||||
| @Service | @Service | ||||
| @@ -83,8 +88,46 @@ public class TtMiniAppPayAdapterService extends BaseTtPayAdapterService implemen | |||||
| } | } | ||||
| @Override | @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 | @Override | ||||
| @@ -4,13 +4,9 @@ import java.io.File; | |||||
| import java.util.Date; | import java.util.Date; | ||||
| import java.util.Map; | import java.util.Map; | ||||
| import com.iformall.domain.po.*; | |||||
| import org.springframework.stereotype.Service; | 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.enums.EnumPayShare; | ||||
| import com.iformall.service.order.entity.WxComposeOrder; | import com.iformall.service.order.entity.WxComposeOrder; | ||||
| import com.iformall.service.pay.entity.PayExtraParam; | import com.iformall.service.pay.entity.PayExtraParam; | ||||
| @@ -61,7 +57,7 @@ public class WxH5PayService extends BaseWxPayAdapterService implements CDriving | |||||
| } | } | ||||
| @Override | @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; | return null; | ||||
| } | } | ||||
| @@ -4,6 +4,7 @@ import java.io.File; | |||||
| import java.util.Date; | import java.util.Date; | ||||
| import java.util.Map; | import java.util.Map; | ||||
| import com.iformall.domain.po.*; | |||||
| import org.apache.commons.lang3.StringUtils; | import org.apache.commons.lang3.StringUtils; | ||||
| import org.springframework.stereotype.Service; | import org.springframework.stereotype.Service; | ||||
| @@ -12,11 +13,6 @@ import com.alibaba.fastjson.JSONObject; | |||||
| import com.iformall.common.ErrorCode; | import com.iformall.common.ErrorCode; | ||||
| import com.iformall.common.Result; | import com.iformall.common.Result; | ||||
| import com.iformall.common.ResultData; | 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.EnumOrderStatus; | ||||
| import com.iformall.enums.EnumPayMode; | import com.iformall.enums.EnumPayMode; | ||||
| import com.iformall.enums.EnumPayShare; | import com.iformall.enums.EnumPayShare; | ||||
| @@ -269,7 +265,7 @@ public class WxMiniAppPayAdapterService extends BaseWxPayAdapterService implemen | |||||
| } | } | ||||
| @Override | @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; | return null; | ||||
| } | } | ||||
| @@ -3,20 +3,14 @@ package com.iformall.service.pay.service.pay.wx.miniApp.maPay; | |||||
| import java.io.File; | import java.io.File; | ||||
| import java.util.Date; | import java.util.Date; | ||||
| import java.util.Map; | import java.util.Map; | ||||
| import com.iformall.domain.po.*; | |||||
| import org.apache.commons.lang3.StringUtils; | import org.apache.commons.lang3.StringUtils; | ||||
| import org.springframework.beans.factory.annotation.Autowired; | import org.springframework.beans.factory.annotation.Autowired; | ||||
| import org.springframework.stereotype.Service; | import org.springframework.stereotype.Service; | ||||
| import com.iformall.common.ErrorCode; | import com.iformall.common.ErrorCode; | ||||
| import com.iformall.common.IdWorker; | 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.domain.po.base.TenantEntity; | ||||
| import com.iformall.enums.EnumPayMode; | import com.iformall.enums.EnumPayMode; | ||||
| import com.iformall.enums.EnumPayShare; | import com.iformall.enums.EnumPayShare; | ||||
| @@ -256,7 +250,7 @@ public class WxMiniMaPayAdapterService extends BaseWxPayAdapterService implement | |||||
| } | } | ||||
| @Override | @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; | return null; | ||||
| } | } | ||||