admin
2019-08-05 35c25585cf6fea9e29574a75a03c57381cbe19e1
Merge remote-tracking branch 'origin/div' into div
7个文件已修改
1个文件已添加
248 ■■■■ 已修改文件
fanli/src/main/java/com/yeshi/fanli/controller/client/v1/ShareController.java 10 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
fanli/src/main/java/com/yeshi/fanli/controller/client/v1/UserOrderController.java 6 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
fanli/src/main/java/com/yeshi/fanli/mapping/taobao/TaoBaoWeiQuanOrderMapper.xml 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
fanli/src/main/java/com/yeshi/fanli/service/impl/dynamic/DynamicInfoServiceImpl.java 71 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
fanli/src/main/java/com/yeshi/fanli/service/impl/order/CommonOrderServiceImpl.java 55 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
fanli/src/main/java/com/yeshi/fanli/vo/order/CommonOrderVO.java 11 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
fanli/src/main/java/com/yeshi/fanli/vo/order/WeiQuanInfo.java 39 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
fanli/src/test/java/org/fanli/dynamic/Test_InviteMaterialService.java 54 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
fanli/src/main/java/com/yeshi/fanli/controller/client/v1/ShareController.java
@@ -926,6 +926,11 @@
            if (cid == 1 || cid == 2) { // 1 热销单品 2 推荐好货
                if (cid == 1) {
                    List<GoodsPicture> imgs = dynamicInfo.getImgs();
                    if (imgs == null || imgs.size() == 0) {
                        out.print(JsonUtil.loadFalseResult("该商品已下架"));
                        return;
                    }
                    GoodsPicture goodsPicture = imgs.get(0);
                    if (goodsPicture.getGoodState() == 1) {
                        out.print(JsonUtil.loadFalseResult("该商品已下架"));
@@ -933,6 +938,11 @@
                    } 
                    
                    TaoBaoGoodsBriefExtra goods = goodsPicture.getGoods();
                    if (goods == null) {
                        out.print(JsonUtil.loadFalseResult("该商品已下架"));
                        return;
                    }
                    if (goods.getState() != null && goods.getState() == 1) {
                        out.print(JsonUtil.loadFalseResult("该商品已下架"));
                        return;
fanli/src/main/java/com/yeshi/fanli/controller/client/v1/UserOrderController.java
@@ -131,6 +131,12 @@
            state = null; // 清空
        }
        // 转换状态
        if (state != null && state == 5) {
            orderState = 2; // 已维权
            state = null; // 清空
        }
        if (type != null && type == 0) {
            type = null; // 所有类型订单
        }
fanli/src/main/java/com/yeshi/fanli/mapping/taobao/TaoBaoWeiQuanOrderMapper.xml
@@ -41,7 +41,7 @@
        select
        <include refid="Base_Column_List" />
        from yeshi_ec_taobao_weiqaun_order where tmo_order_id =#{orderId} and
        tmo_state=#{state}
        tmo_state like '${state}%'
    </select>
    <select id="selectByOrderItemId" resultMap="BaseResultMap">
        select
fanli/src/main/java/com/yeshi/fanli/service/impl/dynamic/DynamicInfoServiceImpl.java
@@ -414,7 +414,12 @@
    public void insertTimeHotSale() {
        Long classId = 1L;
        try {
            saveHotSale(classId, 0L);
            for (int i = 0; i < 3; i++) {
                boolean addSuccess = saveHotSale(classId, 0L);
                if (addSuccess) {
                    break;
                }
            }
        } catch (Exception e) {
            try {
                LogHelper.errorDetailInfo(e);
@@ -427,7 +432,12 @@
        List<GoodsClass> list = DaTaoKeUtil.goodsClasses;
        for (GoodsClass goodsClass : list) {
            try {
                saveHotSale(classId, goodsClass.getId());
                for (int i = 0; i < 3; i++) {
                    boolean addSuccess = saveHotSale(classId, goodsClass.getId());
                    if (addSuccess) {
                        break;
                    }
                }
            } catch (Exception e) {
                try {
                    LogHelper.errorDetailInfo(e);
@@ -445,7 +455,8 @@
     * @param subclassId
     * @throws TaobaoGoodsDownException
     */
    public void saveHotSale(Long classId, Long subclassId) throws TaobaoGoodsDownException {
    public boolean saveHotSale(Long classId, Long subclassId) throws TaobaoGoodsDownException {
        boolean addSuccess = false;
        List<Long> listId = null;
        List<DynamicInfo> listInfo = dynamicInfoDao.query(classId, subclassId);
        if (listInfo != null && listInfo.size() > 0) {
@@ -459,6 +470,9 @@
        }
        // 大淘客数据
        DaTaoKeDetail daTaoKe = daTaoKeGoodsService.getGoodsNotInList(subclassId, listId, 1).get(0);
        if (daTaoKe == null) {
            return addSuccess;
        }
        try {
            daTaoKe = DaTaoKeUtil.filterDaTaoKe(TaoKeApiUtil.searchGoodsDetail(daTaoKe.getGoodsId()), daTaoKe);
@@ -466,41 +480,27 @@
        }
        
        // 过滤为空的
        if (daTaoKe == null) {
            return;
        }
        List<TaoBaoGoodsBrief> listGoods = new ArrayList<TaoBaoGoodsBrief>();
        TaoBaoGoodsBrief taoBaoGoodsBrief = TaoBaoUtil.convert(daTaoKe);
        listGoods.add(taoBaoGoodsBrief);
        BigDecimal proportion = hongBaoManageService.getFanLiRate();
        TaoBaoGoodsBriefExtra taoBaoGoodsBriefExtra = TaoBaoUtil.getTaoBaoGoodsBriefExtra(taoBaoGoodsBrief,
        TaoBaoGoodsBriefExtra goodsExtra = TaoBaoUtil.getTaoBaoGoodsBriefExtra(taoBaoGoodsBrief,
                proportion.toString(), null);
        
        // 商品图片
        GoodsPicture goodsPicture = getGoodsPicture(daTaoKe);
        if (!taoBaoGoodsBriefExtra.isCoupon()) {
            taoBaoGoodsBriefExtra.setState(1);
            goodsPicture.setGoodState(1);
        if (!goodsExtra.isCoupon() || (goodsExtra.getState() != null && goodsExtra.getState() == 1)) {
            return addSuccess;  // 已下架 、无券 不加入
        }
        taoBaoGoodsBriefExtra.setTkRate(taoBaoGoodsBrief.getTkRate());
        taoBaoGoodsBriefExtra.setUpdatetime(new Date());
        taoBaoGoodsBriefExtra.setCouponInfo(null);
        goodsPicture.setGoods(taoBaoGoodsBriefExtra);
        
        List<TaoBaoGoodsBrief> listGoods = new ArrayList<TaoBaoGoodsBrief>();
        listGoods.add(taoBaoGoodsBrief);
        goodsExtra.setTkRate(taoBaoGoodsBrief.getTkRate());
        goodsExtra.setUpdatetime(new Date());
        goodsExtra.setCouponInfo(null);
        GoodsPicture goodsPicture = getGoodsPicture(daTaoKe);
        goodsPicture.setGoods(goodsExtra);
        // 商品列表
        List<GoodsPicture> listPicture = new ArrayList<GoodsPicture>();
        listPicture.add(goodsPicture);
        // 分享奖金
        BigDecimal shareMoney = taoBaoGoodsBriefService.getShareGoodsUserHongBao(taoBaoGoodsBrief);
        ClientTextStyleVO shareMoneyDesc = new ClientTextStyleVO();
        shareMoneyDesc.setColor("#FFFFFF");
        shareMoneyDesc.setBottomColor("#E8AE48");
        shareMoneyDesc.setContent("预估分享奖金:¥" + shareMoney);
        // 获取商品列表图片
        TaoBaoGoodsBrief taoBaoGoodsBrief2 = TaoKeApiUtil.getSimpleGoodsInfo(daTaoKe.getGoodsId());
@@ -526,8 +526,14 @@
                listPicture.add(picture);
            }
        }
        taoBaoGoodsBriefExtra.setImgList(imgList);
        goodsExtra.setImgList(imgList);
        // 分享奖金
        BigDecimal shareMoney = taoBaoGoodsBriefService.getShareGoodsUserHongBao(taoBaoGoodsBrief);
        ClientTextStyleVO shareMoneyDesc = new ClientTextStyleVO();
        shareMoneyDesc.setColor("#FFFFFF");
        shareMoneyDesc.setBottomColor("#E8AE48");
        shareMoneyDesc.setContent("预估分享奖金:¥" + shareMoney);
        // 组织动态信息
        DynamicInfo dynamicInfo = getDynamicInfo(daTaoKe, classId, subclassId);
@@ -550,6 +556,9 @@
        // 保存信息
        dynamicInfoDao.insert(dynamicInfo);
        addSuccess = true;
        return addSuccess;
    }
    /**
fanli/src/main/java/com/yeshi/fanli/service/impl/order/CommonOrderServiceImpl.java
@@ -1,6 +1,7 @@
package com.yeshi.fanli.service.impl.order;
import java.math.BigDecimal;
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.ArrayList;
import java.util.Date;
@@ -52,6 +53,8 @@
import com.yeshi.fanli.util.Constant;
import com.yeshi.fanli.util.MoneyBigDecimalUtil;
import com.yeshi.fanli.util.StringUtil;
import com.yeshi.fanli.util.TimeUtil;
import com.yeshi.fanli.util.VersionUtil;
import com.yeshi.fanli.util.account.UserUtil;
import com.yeshi.fanli.util.factory.CommonOrderGoodsFactory;
import com.yeshi.fanli.util.factory.goods.CommonOrderFactory;
@@ -64,6 +67,7 @@
import com.yeshi.fanli.vo.msg.ClientTextStyleVO;
import com.yeshi.fanli.vo.order.CommonOrderGoodsVO;
import com.yeshi.fanli.vo.order.CommonOrderVO;
import com.yeshi.fanli.vo.order.WeiQuanInfo;
import net.sf.json.JSONObject;
@@ -326,6 +330,14 @@
        // 是否存在奖励券
        boolean hasRewardCoupon = userSystemCouponService.hasRewardCoupon(uid);
        // 2019.8.1开始返回维权信息
        Date august = null;
        try {
            august = TimeUtil.parse("2019-08-01");
        } catch (ParseException e) {
            e.printStackTrace();
        }
        /* 组织订单状态 等信息 */
        for (CommonOrderVO order : listOrder) {
@@ -374,6 +386,11 @@
                }
            }
            BigDecimal hongBao = order.getHongBao();
            if (hongBao == null) {
                hongBao = new BigDecimal(0);
            }
            if (CommonOrder.STATE_FK == orderState) {
                orderStateContent = "已付款";
            } else if (CommonOrder.STATE_JS == orderState) {
@@ -390,7 +407,7 @@
                            .selectListByOrderIdAndState(order.getOrderNo(), "维权成功");
                    boolean isPart = false;// 默认失效
                    BigDecimal weiQuanMoney = new BigDecimal(0);
                    if (listWQ != null && listWQ.size() > 0) {
                        BigDecimal fanTotalMoney = new BigDecimal(0);
                        for (TaoBaoWeiQuanOrder weiQuanOrder : listWQ) {
@@ -398,17 +415,38 @@
                            if (fanMoney != null) {
                                fanTotalMoney = MoneyBigDecimalUtil.add(fanTotalMoney, fanMoney);
                            }
                            weiQuanMoney = MoneyBigDecimalUtil.add(weiQuanOrder.getMoney(), weiQuanMoney);
                        }
                        if (fanTotalMoney.compareTo(order.getHongBao()) < 0) {
                        if (fanTotalMoney.compareTo(hongBao) < 0) {
                            isPart = true;
                        }
                    }
                    if (isPart) {
                        hongBaoState = HongBaoV2.STATE_BUFENSHIXIAO; // 部分失效
                    if (!VersionUtil.greaterThan_1_6_0(acceptData.getPlatform(), acceptData.getVersion())) {
                        if (isPart) {
                            hongBaoState = HongBaoV2.STATE_BUFENSHIXIAO; // 部分失效
                        } else {
                            hongBaoState = HongBaoV2.STATE_SHIXIAO; // 全部失效
                        }
                    } else {
                        hongBaoState = HongBaoV2.STATE_SHIXIAO; // 全部失效
                        // 2019.8.1 返回维权信息
                        if (settleTime != null && august != null && settleTime.getTime() > august.getTime()) {
                            orderStateContent = "维权成功";
                            WeiQuanInfo weiQuanInfo = new WeiQuanInfo();
                            weiQuanInfo.setOldHongBao("¥" + hongBao.setScale(2, BigDecimal.ROUND_DOWN).toString());
                            if (isPart) {
                                // 维权失效金额=维权的金额*获得的红包/结算金额
                                BigDecimal settlement = order.getSettlement();
                                BigDecimal wqHongbao = MoneyBigDecimalUtil.div(MoneyBigDecimalUtil.mul(hongBao, settlement), settlement);
                                weiQuanInfo.setWqHongBao("维权:-¥" + wqHongbao.setScale(2, BigDecimal.ROUND_DOWN).toString());
                                hongBao = MoneyBigDecimalUtil.sub(hongBao, wqHongbao);
                            } else {
                                hongBao = new BigDecimal(0);
                                weiQuanInfo.setWqHongBao("维权:-¥" + hongBao.setScale(2, BigDecimal.ROUND_DOWN).toString());
                            }
                            order.setWeiQuanInfo(weiQuanInfo);
                        }
                    }
                }
            }
@@ -495,10 +533,7 @@
            hongbaoInfo = hongBaoState_Str + hongbaoInfo;
            BigDecimal hongBao = order.getHongBao();
            if (hongBao == null) {
                hongBao = new BigDecimal(0);
            }
            Map<String, String> hongBaoMap = new HashMap<String, String>();
            hongBaoMap.put("content", hongbaoInfo + " ¥" + hongBao.setScale(2, BigDecimal.ROUND_DOWN).toString());
            hongBaoMap.put("fontColor", hongbaoInfoFontColor);
fanli/src/main/java/com/yeshi/fanli/vo/order/CommonOrderVO.java
@@ -84,6 +84,10 @@
    @Expose
    private Map<String, Object> rewardDetail;
    
    // 维权信息
    @Expose
    private WeiQuanInfo weiQuanInfo;
    
    
    // 直接收益人-ID
@@ -379,4 +383,11 @@
        this.otherState = otherState;
    }
    public WeiQuanInfo getWeiQuanInfo() {
        return weiQuanInfo;
    }
    public void setWeiQuanInfo(WeiQuanInfo weiQuanInfo) {
        this.weiQuanInfo = weiQuanInfo;
    }
}
fanli/src/main/java/com/yeshi/fanli/vo/order/WeiQuanInfo.java
New file
@@ -0,0 +1,39 @@
package com.yeshi.fanli.vo.order;
import java.io.Serializable;
import com.google.gson.annotations.Expose;
/**
 * 订单-维权信息
 *
 */
public class WeiQuanInfo implements Serializable {
    private static final long serialVersionUID = 1L;
    // 维权之前红包
    @Expose
    private String oldHongBao;
    // 维权成功红包
    @Expose
    private String wqHongBao;
    public String getOldHongBao() {
        return oldHongBao;
    }
    public void setOldHongBao(String oldHongBao) {
        this.oldHongBao = oldHongBao;
    }
    public String getWqHongBao() {
        return wqHongBao;
    }
    public void setWqHongBao(String wqHongBao) {
        this.wqHongBao = wqHongBao;
    }
}
fanli/src/test/java/org/fanli/dynamic/Test_InviteMaterialService.java
@@ -1,24 +1,68 @@
package org.fanli.dynamic;
import java.io.BufferedReader;
import java.io.FileInputStream;
import java.io.InputStreamReader;
import java.util.ArrayList;
import java.util.List;
import org.junit.Test;
import com.yeshi.fanli.entity.dynamic.InviteMaterial;
import com.yeshi.fanli.service.inter.dynamic.DynamicInfoService;
import com.yeshi.fanli.service.inter.dynamic.InviteMaterialService;
import com.yeshi.fanli.util.BeanUtil;
import com.yeshi.fanli.util.StringUtil;
public class Test_InviteMaterialService {
    @Test
    public void draw1() {
    public void insertMaterial() {
        try {
            DynamicInfoService service = BeanUtil.getBean(DynamicInfoService.class);
            InviteMaterialService service = BeanUtil.getBean(InviteMaterialService.class);
            String s = "";
            List<String> list = new ArrayList<String>();
            String fliePath = "F:\\company_material\\invite\\name.txt";
//            File file = new File("F:\\company_material\\invite\\name.txt");//Text文件
//            BufferedReader buff = new BufferedReader(new FileReader(file));// 构造一个BufferedReader类来读取文件
            BufferedReader buff = new BufferedReader(new InputStreamReader(new FileInputStream(fliePath),"gbk"));
            
            service.insertShopInfo();
            while ((s = buff.readLine()) != null) {// 使用readLine方法,一次读一行
                if (!StringUtil.isNullOrEmpty(s)) {
                    list.add(s.trim());
                }
            }
            buff.close();
            // 图片格式
            int startPic = 118;
            int endPic = 141;
            for (int i = 0; i < list.size(); i++) {
                String text = list.get(i);
                if (startPic > endPic) {
                    System.out.println("---------------------------------");
                    System.out.println(text);
                    System.out.println("---------------------------------");
                    break;
                }
                InviteMaterial record = new InviteMaterial();
                record.setText(text);
                record.setPicture("http://img.flqapp.com/resource/invite/everyday/"+ startPic +".jpg");
                record.setState(0);
                service.insert(record);
                startPic ++;
                if (i == list.size()-1) {
                    System.out.println("---------------------------------");
                    System.out.println(text);
                    System.out.println("---------------------------------");
                }
            }
            System.out.println("test");
        } catch (Exception e) {
            e.printStackTrace();
        }
    }
    
}