From 1b51c3e64ba8117900d594fcd5b677336e4759bc Mon Sep 17 00:00:00 2001 From: wzy <wzy19931122ai@163.com> Date: Thu, 25 Mar 2021 14:17:38 +0800 Subject: [PATCH] Merge branch 'data_move' of http://120.27.238.55:7000/r/beauty-erp into data_move --- zq-erp/src/main/java/com/matrix/system/dataMove/DateMoveServiceImpl.java | 277 +++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 files changed, 277 insertions(+), 0 deletions(-) diff --git a/zq-erp/src/main/java/com/matrix/system/dataMove/DateMoveServiceImpl.java b/zq-erp/src/main/java/com/matrix/system/dataMove/DateMoveServiceImpl.java index 2692c46..60b4d0b 100644 --- a/zq-erp/src/main/java/com/matrix/system/dataMove/DateMoveServiceImpl.java +++ b/zq-erp/src/main/java/com/matrix/system/dataMove/DateMoveServiceImpl.java @@ -19,6 +19,7 @@ import org.springframework.transaction.annotation.Transactional; import java.io.UnsupportedEncodingException; +import java.math.BigDecimal; import java.security.NoSuchAlgorithmException; import java.util.*; @@ -258,6 +259,8 @@ vipInfoIds.put(oldId, sysVipInfo.getId()); sysVipInfoService.addVipDefaultCard(sysVipInfo.getId()); } + + redisClient.saveMapValue("vip_info", vipInfoIds); } } @@ -760,4 +763,278 @@ return JSONObject.parseObject(idsStr, HashMap.class); } + @DS("slave") + public List<SysOrder> orderOld() { + List<Map<String, Object>> maps = jdbcTemplate.queryForList("select * from sys_order"); + List<SysOrder> orders = mapsToListBean(maps, SysOrder.class); + + + Map<String, Integer> goodsSku = getRedisIds("shopping_goods_sku"); + Map<String, Integer> goodProj = getRedisIds("shopping_goods_proj"); + Map<String, Integer> goodTc = getRedisIds("shopping_goods_tc"); + Map<String, Integer> goodCZK = getRedisIds("shopping_goods_czk"); + Map<String, Integer> goodZHK = getRedisIds("shopping_goods_zhk"); + Map<String, Integer> shopIds = getRedisIds("shopId"); + Map<String, Integer> sysUsers = getRedisIds("sys_users"); + Map<String, Integer> vipInfos = getRedisIds("vip_info"); + for (SysOrder order : orders) { + List<Map<String, Object>> itemsMap = jdbcTemplate.queryForList("select * from sys_order_item where ORDER_ID=" + order.getId()); + + Integer shopId = shopIds.get(order.getShopId().toString()); + order.setShopId(shopId.longValue()); + + Integer statffId = sysUsers.get(order.getStaffId().toString()); + if (statffId != null) { + order.setStaffId(statffId.longValue()); + } else { + order.setStaffId(-order.getStaffId()); + } + Integer vipId = vipInfos.get(order.getVipId().toString()); + if (vipId != null) { + order.setVipId(vipId.longValue()); + } else { + order.setVipId(-order.getVipId()); + } + + order.setCompanyId(companyId); + + List<SysOrderItem> items = mapsToListBean(itemsMap, SysOrderItem.class); + + Double cardPay = 0D; + Double cashPay = 0D; + Double arrears = 0D; + Map<Long, Long> shoppingGoodsIds = new HashMap<>(); + if (CollUtil.isNotEmpty(items)) { + Long goodsId = items.get(0).getGoodsId(); + Map<String, Object> goods = jdbcTemplate.queryForMap("select * from shopping_goods where id=" + goodsId); + order.setShopShortName((String) goods.get("name")); + for (SysOrderItem item : items) { + Double itemCard = item.getCardPay() == null ? 0D : item.getCardPay(); + Double itemCash = item.getCashPay() == null ? 0D : item.getCashPay(); + Double itemArrears = item.getArrears() == null ? 0D : item.getArrears(); + + cardPay += itemCard; + cashPay += itemCash; + arrears += itemArrears; + + if (itemCard != 0) { + item.setPayMethod("划扣"); + } else { + item.setPayMethod("现金"); + } + + Long oldID = item.getGoodsId(); + switch (item.getType()) { + case "家居产品" : + Map<String, Object> skuMap = jdbcTemplate.queryForMap("select * from shopping_goods_assemble where id=" + item.getAssembleId()); + Long skuId = (Long) skuMap.get("assemble_sku_id"); + Integer skuGoodsId = goodsSku.get(skuId.toString()); + if (skuGoodsId != null) { + item.setGoodsId(skuGoodsId.longValue()); + } else { + item.setGoodsId(-item.getAssembleId()); + } + break; + case "项目" : + Map<String, Object> projMap = jdbcTemplate.queryForMap("select * from shopping_goods_assemble where id=" + item.getAssembleId()); + Long projId = (Long) projMap.get("assemble_proj_id"); + Integer projGoodsId = goodProj.get(projId.toString()); + if (projGoodsId != null) { + item.setGoodsId(projGoodsId.longValue()); + } else { + item.setGoodsId(-item.getAssembleId()); + } + break; + case "套餐" : + Integer tcId = goodTc.get(item.getGoodsId().toString()); + if (tcId != null) { + item.setGoodsId(tcId.longValue()); + } else { + item.setGoodsId(-item.getGoodsId()); + } + break; + case "充值卡" : + Integer czkId = goodCZK.get(item.getGoodsId().toString()); + if (czkId != null) { + item.setGoodsId(czkId.longValue()); + } else { + item.setGoodsId(-item.getGoodsId()); + } + break; + case "综合卡" : + Integer zhkId = goodZHK.get(item.getGoodsId().toString()); + if (zhkId != null) { + item.setGoodsId(zhkId.longValue()); + } else { + item.setGoodsId(-item.getGoodsId()); + } + break; + default: + } + + shoppingGoodsIds.put(oldID, item.getGoodsId()); + } + order.setItems(items); + } + + List<SysOrderFlow> flows = new ArrayList<>(); + if (cardPay != 0D) { + flows.add(setOrderFLow(order, "储值卡", cardPay, 1)); + } + + if (cashPay != 0D) { + flows.add(setOrderFLow(order, "现金支付", cashPay, 1)); + } + + if (arrears != 0D) { + flows.add(setOrderFLow(order, "欠款", arrears, 1)); + } + order.setFlows(flows); + + List<Map<String, Object>> achievesMap = jdbcTemplate.queryForList("select sale_id, beault_id, shop_id, datatime, order_id, order_item_id, shopping_goods_id, vip_id, order_type, sum(t1) as t1 from achieve_new where order_type='订单' and order_id="+ order.getId() + " group by sale_id, beault_id, shop_id, datatime, order_id, order_item_id, shopping_goods_id, vip_id, order_type"); + if (CollUtil.isNotEmpty(achievesMap)) { + List<AchieveNew> achieves = mapsToListBean(achievesMap, AchieveNew.class); + for (AchieveNew achieve : achieves) { + Integer achiShopId = shopIds.get(achieve.getShopId().toString()); + achieve.setShopId(achiShopId.longValue()); + + if (achieve.getBeaultId() == null) { + achieve.setBeaultId(achieve.getSaleId()); + achieve.setAchieveType("顾问业绩"); + } else { + achieve.setAchieveType("美疗师业绩"); + } + Integer beaultId = sysUsers.get(achieve.getBeaultId().toString()); + if (beaultId != null) { + achieve.setBeaultId(beaultId.longValue()); + } else { + achieve.setBeaultId(-achieve.getBeaultId()); + } + + Integer saleId = sysUsers.get(achieve.getSaleId().toString()); + if (saleId != null) { + achieve.setSaleId(saleId.longValue()); + } else { + achieve.setSaleId(-achieve.getSaleId()); + } + + Integer achiVipId = vipInfos.get(achieve.getVipId().toString()); + if (achiVipId != null) { + achieve.setVipId(achiVipId.longValue()); + } else { + achieve.setVipId(-achieve.getVipId()); + } + achieve.setGoodsCash(Double.parseDouble(achieve.getT1())); + achieve.setCompanyId(companyId); + achieve.setShoppingGoodsId(shoppingGoodsIds.get(achieve.getShoppingGoodsId())); + + } + order.setAchieveNews(achieves); + } + } + return orders; + } + + public SysOrderFlow setOrderFLow(SysOrder sysOrder, String type, Double amount, int index) { + SysOrderFlow flow = new SysOrderFlow(); + flow.setFlowContent(sysOrder.getShopShortName() + "等" + sysOrder.getItems().size() + "件产品"); + flow.setFlowType(SysOrderFlow.FLOW_TYPE_BUY); + flow.setAmount(new BigDecimal(amount)); + flow.setFlowNo("F" + sysOrder.getOrderNo() + "-" + index); + flow.setVipId(sysOrder.getVipId()); + flow.setShopId(sysOrder.getShopId()); + flow.setCompanyId(sysOrder.getCompanyId()); + flow.setPayMethod(type); + return flow; + } + + @Autowired + private SysOrderDao sysOrderDao; + @Autowired + private SysOrderItemDao sysOrderItemDao; + @Autowired + private SysOrderFlowDao sysOrderFlowDao; + @Autowired + private AchieveNewDao achieveNewDao; + + @Transactional(rollbackFor = Exception.class) + public void orderNew(List<SysOrder> list) { + if (CollUtil.isNotEmpty(list)) { + Map<Long, Long> orderIds = new HashMap<>(); + Map<Long, Long> itemIds = new HashMap<>(); + + for (SysOrder sysOrder : list) { + Long oldOrderId = sysOrder.getId(); + sysOrder.setId(null); + sysOrderDao.insert(sysOrder); + orderIds.put(oldOrderId, sysOrder.getId()); + + if (CollUtil.isNotEmpty(sysOrder.getItems())) { + for (SysOrderItem item : sysOrder.getItems()) { + Long oldItemId = item.getId(); + item.setOrderId(sysOrder.getId()); + item.setId(null); + sysOrderItemDao.insert(item); + itemIds.put(oldItemId, item.getId()); + } + } + + if (CollUtil.isNotEmpty(sysOrder.getFlows())) { + for (SysOrderFlow flow : sysOrder.getFlows()) { + flow.setOrderId(oldOrderId); + sysOrderFlowDao.insert(flow); + } + } + + if (CollUtil.isNotEmpty(sysOrder.getAchieveNews())) { + for (AchieveNew achieveNew : sysOrder.getAchieveNews()) { + achieveNew.setOrderId(oldOrderId); + Long item = itemIds.get(achieveNew.getOrderItemId()); + achieveNew.setOrderItemId(item); + } + + achieveNewDao.batchInsert(sysOrder.getAchieveNews()); + } + } + + redisClient.saveMapValue("order", orderIds); + redisClient.saveMapValue("order_item", itemIds); + } + } + + @DS("slave") + public List<SysBedInfo> bedInfoOld() { + List<Map<String, Object>> maps = jdbcTemplate.queryForList("select * from sys_bed_info"); + List<SysBedInfo> beds = mapsToListBean(maps, SysBedInfo.class); + + Map<String, Integer> shopIds = getRedisIds("shopId"); + for (SysBedInfo bed : beds) { + Integer shopId = shopIds.get(bed.getShopId().toString()); + if (shopId != null) { + bed.setShopId(shopId.longValue()); + } else { + bed.setShopId(-bed.getShopId()); + } + } + return beds; + } + + @Autowired + private SysBedInfoDao sysBedInfoDao; + + @Transactional(rollbackFor = Exception.class) + public void bedInfoNew(List<SysBedInfo> list) { + if (CollUtil.isNotEmpty(list)) { + Map<Long, Long> map = new HashMap<>(); + for (SysBedInfo bed : list) { + Long oldId = bed.getId(); + bed.setId(null); + sysBedInfoDao.insert(bed); + map.put(oldId, bed.getId()); + } + + redisClient.saveMapValue("bed_info", map); + } + } + } -- Gitblit v1.9.1