yujian
2019-08-05 e6a463cdaa220f7b245fe9bcae6da83a6bf65f87
订单维权信息
6个文件已修改
138 ■■■■ 已修改文件
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/order/CommonOrderServiceImpl.java 55 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
fanli/src/main/java/com/yeshi/fanli/vo/order/CommonOrderVO.java 11 ●●●●● 补丁 | 查看 | 原始文档 | 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/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/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();
        }
    }
    
}