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(); } } }