admin
2020-04-01 5c03e2dd5afd65c483ef5da8346e78abc29dc7e3
新增淘客接口,订单返利比例计算相关service修改
10个文件已修改
119 ■■■■ 已修改文件
fanli/src/main/java/com/yeshi/fanli/controller/client/v1/UserInfoController.java 1 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
fanli/src/main/java/com/yeshi/fanli/controller/client/v2/DynamicControllerV2.java 1 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
fanli/src/main/java/com/yeshi/fanli/service/impl/order/CommonOrderServiceImpl.java 1 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
fanli/src/main/java/com/yeshi/fanli/service/impl/order/InviteOrderSubsidyServiceImpl.java 3 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
fanli/src/main/java/com/yeshi/fanli/service/impl/order/OrderHongBaoMoneyComputeServiceImpl.java 10 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
fanli/src/main/java/com/yeshi/fanli/service/impl/order/OrderProcessServiceImpl.java 25 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
fanli/src/main/java/com/yeshi/fanli/service/impl/user/SpreadUserImgServiceImpl.java 3 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
fanli/src/main/java/com/yeshi/fanli/service/inter/order/OrderHongBaoMoneyComputeService.java 22 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
fanli/src/main/java/com/yeshi/fanli/util/rocketmq/consumer/user/InvitePictureChangeMessageListener.java 19 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
fanli/src/main/java/com/yeshi/fanli/util/taobao/TaoKeApiUtil.java 34 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
fanli/src/main/java/com/yeshi/fanli/controller/client/v1/UserInfoController.java
@@ -2395,6 +2395,7 @@
                }
            }
            //修改邀请码
            if (!StringUtil.isNullOrEmpty(inviteCode)) {// 邀请码不为空
                inviteCode = inviteCode.trim();
                if (inviteCode.length() >= 4 && inviteCode.length() <= 12) {
fanli/src/main/java/com/yeshi/fanli/controller/client/v2/DynamicControllerV2.java
@@ -42,7 +42,6 @@
import com.yeshi.fanli.entity.dynamic.ImgInfo.ImgEnum;
import com.yeshi.fanli.entity.jd.JDGoods;
import com.yeshi.fanli.entity.system.ConfigKeyEnum;
import com.yeshi.fanli.entity.taobao.TaoBaoGoodsBrief;
import com.yeshi.fanli.entity.taobao.TaoBaoLink;
import com.yeshi.fanli.exception.goods.ConvertLinkExceptionException;
import com.yeshi.fanli.exception.share.ShareGoodsException;
fanli/src/main/java/com/yeshi/fanli/service/impl/order/CommonOrderServiceImpl.java
@@ -958,6 +958,7 @@
            if ("饿了么".equalsIgnoreCase(taoBaoOrder.getOrderType())) {
                cog.setGoodsId(taoBaoOrder.getTradeId() + "");
                cog.setGoodsType(Constant.SOURCE_TYPE_ELME);
                cog.setPicture("http://img.flqapp.com/resource/goods/elme_picture_demo.png");
                cog.setTitle(taoBaoOrder.getTitle());
                newCommonOrder.setCommonOrderGoods(cog);
            } else {
fanli/src/main/java/com/yeshi/fanli/service/impl/order/InviteOrderSubsidyServiceImpl.java
@@ -2,7 +2,6 @@
import java.math.BigDecimal;
import java.util.ArrayList;
import java.util.Calendar;
import java.util.Date;
import java.util.Iterator;
import java.util.List;
@@ -17,7 +16,6 @@
import com.yeshi.fanli.dao.mybatis.order.InviteOrderSubsidyMapper;
import com.yeshi.fanli.entity.bus.user.HongBaoV2;
import com.yeshi.fanli.entity.bus.user.Order;
import com.yeshi.fanli.entity.order.CommonOrder;
import com.yeshi.fanli.entity.order.HongBaoOrder;
import com.yeshi.fanli.entity.order.InviteOrderSubsidy;
import com.yeshi.fanli.exception.order.InviteOrderSubsidyException;
@@ -31,7 +29,6 @@
import com.yeshi.fanli.service.inter.user.vip.UserVIPInfoService;
import com.yeshi.fanli.util.MoneyBigDecimalUtil;
import com.yeshi.fanli.util.StringUtil;
import com.yeshi.fanli.util.TimeUtil;
@Service
public class InviteOrderSubsidyServiceImpl implements InviteOrderSubsidyService {
fanli/src/main/java/com/yeshi/fanli/service/impl/order/OrderHongBaoMoneyComputeServiceImpl.java
@@ -19,6 +19,16 @@
    @Resource
    private HongBaoManageService hongBaoManageService;
    @Override
    public BigDecimal computeBaseFanliMoney(CommonOrder order) {
        return getBaseCommission(order);
    }
    @Override
    public BigDecimal computeBaseShareMoney(CommonOrder order) {
        return getBaseCommission(order);
    }
    // 获取基础佣金
    private BigDecimal getBaseCommission(CommonOrder order) {
        BigDecimal rate = hongBaoManageService.getBaseFanliRate(order.getThirdCreateTime().getTime());
fanli/src/main/java/com/yeshi/fanli/service/impl/order/OrderProcessServiceImpl.java
@@ -218,15 +218,13 @@
                String pid = String.format("mm_%s_%s_%s", configList.get(0).getAccountId(),
                        list.get(0).getSourceMediaId(), list.get(0).getAdPositionId());
                if ("饿了么".equalsIgnoreCase(list.get(0).getOrderType())) {
                    // 处理饿了么订单
                    elmeOrderMap.put(orderId, list);
                    // TODO 处理饿了么订单
                    // if(list.get(0).getCreateTime()){
                    // //下单时间大于一个定值就进入淘宝订单
                    // //获取relationId
                    //
                    //
                    // }
                    // 饿了么订单开始归入到淘宝订单
                    if (TimeUtil.convertToTimeTemp(list.get(0).getCreateTime(), "yyyy-MM-dd HH:mm:ss") > TimeUtil
                            .convertToTimeTemp("2020-04-15", "yyyy-MM-dd")) {
                        fanliOrderMap.put(orderId, list);
                    } else {
                        elmeOrderMap.put(orderId, list);
                    }
                } else {
                    if (!StringUtil.isNullOrEmpty(list.get(0).getSpecialId())
                            || pid.equalsIgnoreCase(TaoBaoConstant.TAOBAO_RELATION_AS_SPECIAL_PID)) {// 设置渠道ID当做会员运营ID的位置ID
@@ -677,9 +675,16 @@
            if (oldOrder == null) {
                Long targetUid = null;
                if (pid.equalsIgnoreCase(TaoBaoConstant.TAOBAO_RELATION_AS_SPECIAL_PID)
                        && !StringUtil.isNullOrEmpty(orderList.get(0).getRelationId())) {
                        && !StringUtil.isNullOrEmpty(orderList.get(0).getRelationId())) {// 处理非返利商品库的商品
                    targetUid = taoBaoBuyRelationMapService.selectUidByRelationId(orderList.get(0).getRelationId());
                } else if (pid.equalsIgnoreCase(TaoBaoConstant.TAOBAO_ELEME_PID)
                        && !StringUtil.isNullOrEmpty(orderList.get(0).getRelationId())) {// 处理饿了么的订单
                    UserExtraTaoBaoInfo extraInfo = userExtraTaoBaoInfoService
                            .getByRelationId(orderList.get(0).getRelationId());
                    if (extraInfo != null) {
                        targetUid = extraInfo.getUser().getId();
                    }
                } else if (!StringUtil.isNullOrEmpty(orderList.get(0).getSpecialId())) {
                    UserExtraTaoBaoInfo info = userExtraTaoBaoInfoService
                            .getBySpecialId(orderList.get(0).getSpecialId());
fanli/src/main/java/com/yeshi/fanli/service/impl/user/SpreadUserImgServiceImpl.java
@@ -53,9 +53,6 @@
    
    @Resource
    private SpreadImgService spreadImgService;
    @Override
    public void addUserInviteImg(Long uid, String imgUrl) {
fanli/src/main/java/com/yeshi/fanli/service/inter/order/OrderHongBaoMoneyComputeService.java
@@ -14,6 +14,28 @@
public interface OrderHongBaoMoneyComputeService {
    /**
     * 获取基础的返利金额
     * @Title: computeBaseFanliMoney
     * @Description:
     * @param order
     * @return
     * BigDecimal 返回类型
     * @throws
     */
    public BigDecimal computeBaseFanliMoney(CommonOrder order);
    /**
     * 获取基础的分享金额
     * @Title: computeBaseShareMoney
     * @Description:
     * @param order
     * @return
     * BigDecimal 返回类型
     * @throws
     */
    public BigDecimal computeBaseShareMoney(CommonOrder order);
    /**
     * 计算自购订单返利金额
     * @Title: computeFanliMoney
     * @Description: 
fanli/src/main/java/com/yeshi/fanli/util/rocketmq/consumer/user/InvitePictureChangeMessageListener.java
@@ -46,15 +46,20 @@
                return Action.CommitMessage;
            } else if (tag.equalsIgnoreCase(UserTopicTagEnum.userInfoUpdate.name())) {// 订单统计
                UserInfoUpdateMQMsg userInfoUpdateMQMsg = new Gson().fromJson(new String(message.getBody()),
                        UserInfoUpdateMQMsg.class);
                if (userInfoUpdateMQMsg != null && (userInfoUpdateMQMsg.getType() == UserInfoUpdateTypeEnum.portrait
                        || userInfoUpdateMQMsg.getType() == UserInfoUpdateTypeEnum.inviteCode)) {
                    if (userInfoUpdateMQMsg.getUid() != null)
                        spreadUserImgService.deleteImgUrl(userInfoUpdateMQMsg.getUid());
                try {
                    UserInfoUpdateMQMsg userInfoUpdateMQMsg = new Gson().fromJson(new String(message.getBody()),
                            UserInfoUpdateMQMsg.class);
                    if (userInfoUpdateMQMsg != null && (userInfoUpdateMQMsg.getType() == UserInfoUpdateTypeEnum.portrait
                            || userInfoUpdateMQMsg.getType() == UserInfoUpdateTypeEnum.inviteCode)) {
                        if (userInfoUpdateMQMsg.getUid() != null)
                            spreadUserImgService.deleteImgUrl(userInfoUpdateMQMsg.getUid());
                    }
                    return Action.CommitMessage;
                } catch (Exception e) {
                    LogHelper.errorDetailInfo(e, "msgId:" + message.getMsgID(), "");
                }
                return Action.CommitMessage;
            }
        }
        return Action.CommitMessage;
fanli/src/main/java/com/yeshi/fanli/util/taobao/TaoKeApiUtil.java
@@ -2166,6 +2166,40 @@
        return goodsList;
    }
    /**
     * 淘宝客-推广者-官方活动信息获取
     * @Title: getActivityInfo
     * @Description:
     * @param activityMaterialId
     * @param pid
     * @param relationId
     * @return
     * String 返回类型
     * @throws
     */
    public static String getActivityInfo(String activityMaterialId, String pid, String relationId) {
        Map<String, String> map = new HashMap<>();
        map.put("method", "taobao.tbk.activity.info.get");
        map.put("activity_material_id", activityMaterialId);
        map.put("adzone_id", pid.split("_")[3] + "");
        map.put("relation_id", relationId);
        JSONObject resultJSON = null;
        try {
            resultJSON = TaoKeBaseUtil.baseRequest(map,
                    new TaoKeAppInfo(TaoBaoConstant.TAOBAO_AUTH_APPKEY, TaoBaoConstant.TAOBAO_AUTH_APPSECRET, pid));
            JSONObject response = resultJSON.optJSONObject("tbk_activity_info_get_response");
            if (response != null && response.optJSONObject("data") != null) {
                return response.optJSONObject("data").optString("click_url");
            }
        } catch (Exception e) {
            e.printStackTrace();
        }
        return null;
    }
}
class QuanInfo {