From ec37a0bddbec09bab3eb23e7858a9a6a633d28c6 Mon Sep 17 00:00:00 2001 From: xiaoyong931011 <15274802129@163.com> Date: Thu, 05 May 2022 16:21:25 +0800 Subject: [PATCH] 20220505 --- zq-erp/src/main/java/com/matrix/system/hive/service/imp/SysOrderServiceImpl.java | 117 ++++++++++++++++++---------------------------------------- 1 files changed, 37 insertions(+), 80 deletions(-) diff --git a/zq-erp/src/main/java/com/matrix/system/hive/service/imp/SysOrderServiceImpl.java b/zq-erp/src/main/java/com/matrix/system/hive/service/imp/SysOrderServiceImpl.java index f6bb406..19b45ec 100644 --- a/zq-erp/src/main/java/com/matrix/system/hive/service/imp/SysOrderServiceImpl.java +++ b/zq-erp/src/main/java/com/matrix/system/hive/service/imp/SysOrderServiceImpl.java @@ -9,7 +9,6 @@ import com.matrix.core.constance.MatrixConstance; import com.matrix.core.exception.GlobleException; import com.matrix.core.pojo.PaginationVO; -import com.matrix.core.tools.DateUtil; import com.matrix.core.tools.LogUtil; import com.matrix.core.tools.WebUtil; import com.matrix.system.app.dto.OrderListDto; @@ -29,11 +28,15 @@ import com.matrix.system.enums.OperationFunctionEnum; import com.matrix.system.hive.bean.*; import com.matrix.system.hive.dao.*; -import com.matrix.system.hive.dto.*; +import com.matrix.system.hive.dto.GoodsSealLimitDto; +import com.matrix.system.hive.dto.MoneyCardOperationDto; +import com.matrix.system.hive.dto.ProjUseOperationDto; +import com.matrix.system.hive.dto.SysOrderItemDto; import com.matrix.system.hive.plugin.util.CollectionUtils; -import com.matrix.system.hive.plugin.util.MoneyUtil; import com.matrix.system.hive.pojo.CzXkVo; import com.matrix.system.hive.service.*; +import com.matrix.system.padApi.dto.PadOrderListDto; +import com.matrix.system.padApi.vo.PadOrderDetailVo; import com.matrix.system.score.service.ScoreVipDetailService; import com.matrix.system.shopXcx.mqTask.AsyncMessageRouting; import com.matrix.system.wechart.templateMsg.UniformMsgParam; @@ -41,7 +44,6 @@ import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; -import javax.validation.constraints.NotEmpty; import java.math.BigDecimal; import java.util.*; import java.util.stream.Collectors; @@ -56,14 +58,8 @@ @Autowired private SysOrderItemDao orderItemDao; @Autowired - private SysProjUseDao sysProjUseDao; private SysProjUseService sysProjUseService; - - @Autowired - private SysStoreInfoDao storeInfoDao; - @Autowired - private CodeService codeService; @Autowired SysVipInfoDao sysVipInfoDao; @Autowired @@ -103,26 +99,12 @@ @Autowired private AchieveNewDao achieveNewDao; - @Autowired - private WarehouseDao warehouseDao; @Autowired private ShoppingGoodsService shoppingGoodsService; @Autowired private SysOrderFlowDao sysOrderFlowDao; - - @Autowired - private SysSupplierInfoDao sysSupplierInfoDao; - - @Autowired - private SysInstoreInfoDao sysInstoreInfoDao; - - @Autowired - private SysInstoreDetailDao sysInstoreDetailDao; - - @Autowired - private SysInstoreInfoService sysInstoreInfoService; @Autowired BusParameterSettingsDao parameterSettingsDao; @@ -294,7 +276,6 @@ // 设置会员充值卡使用情况 sysOrderServiceHelper.addMoneyCardUse(pageOrder); - // 改变客户项目套餐使用情况 sysOrderServiceHelper.addTaocanProj(pageOrder); @@ -495,14 +476,17 @@ //新增会员卡金额 MoneyCardUse cardUser = moneyCardUseDao.selectVipCard(czVo.getVipId()); - MoneyCardPayDto moneyCardPayDto = new MoneyCardPayDto(); - moneyCardPayDto.setRealMoney(MoneyUtil.add(cardUser.getRealMoney(), czVo.getBjmoney())); - moneyCardPayDto.setGiftMoney(MoneyUtil.add(cardUser.getGiftMoney(), czVo.getGiftMoney())); - moneyCardPayDto.setCarUseId(cardUser.getId()); - moneyCardPayDto.setOrderId(order.getId()); - moneyCardPayDto.setOrderNo(order.getOrderNo()); - moneyCardPayDto.setType(MoneyCardUseFlow.USE_TYPE_CZ); - moneyCardUseService.changeMoneyCard(Arrays.asList(moneyCardPayDto)); + MoneyCardOperationDto moneyCardOperationDto = new MoneyCardOperationDto(); + moneyCardOperationDto.setRealMoney(czVo.getBjmoney()); + moneyCardOperationDto.setGiftMoney(czVo.getGiftMoney()); + moneyCardOperationDto.setCarUseId(cardUser.getId()); + moneyCardOperationDto.setOrderId(order.getId()); + moneyCardOperationDto.setOrderNo(order.getOrderNo()); + moneyCardOperationDto.setType(MoneyCardUseFlow.USE_TYPE_CZ); + + SysUsers user = WebUtil.getSessionAttribute(MatrixConstance.LOGIN_KEY); + moneyCardOperationDto.setUpdateUser(user.getSuId()); + moneyCardUseService.changeMoneyCard(Arrays.asList(moneyCardOperationDto)); // 更新订单主表信息 payEndUpdateOrderInfo(order); @@ -532,8 +516,18 @@ } @Override + public List<PadOrderDetailVo> findPadApiOrderListInPage(PadOrderListDto orderListDto, PaginationVO pageVo) { + return sysOrderDao.selectPadApiOrderListInPage(orderListDto, pageVo); + } + + @Override public int findApiOrderListTotal(OrderListDto orderListDto) { return sysOrderDao.selectApiOrderListTotal(orderListDto); + } + + @Override + public int findPadApiOrderListTotal(PadOrderListDto orderListDto) { + return sysOrderDao.selectPadApiOrderListTotal(orderListDto); } @Override @@ -566,7 +560,6 @@ @Override public void orderTk(SysOrder sysOrder) { - SysOrder oldOrder = sysOrderDao.selectById(sysOrder.getOldOrderId()); //创建并保存退款订单 sysOrder = sysOrderServiceHelper.createTkOrder(sysOrder); // 添加订单收款流水 @@ -574,6 +567,7 @@ //退款退套餐退项目 refundProjUse(sysOrder); //删除积分 + SysOrder oldOrder = sysOrderDao.selectById(sysOrder.getOldOrderId()); scoreVipDetailService.removeByBusinessId(oldOrder.getVipId(), oldOrder.getId()); // 设置业绩 @@ -616,27 +610,31 @@ || Dictionary.SHOPPING_GOODS_TYPE_XM.equals(item.getType())) { ProjUseOperationDto dto = new ProjUseOperationDto(); dto.setGoodsId(item.getGoodsId()); - dto.setCount(item.getCount()); + dto.setCount(item.getRefundCount()); dto.setOrderItemId(item.getOldItemId()); + dto.setUpdateUserId(user.getSuId()); projUseDtoList.add(dto); - }else if (Dictionary.SHOPPING_GOODS_TYPE_CZK.equals(item.getType())) { + }else if (Dictionary.SHOPPING_GOODS_TYPE_CZK.equals(item.getType())) { MoneyCardOperationDto moneyCardOperationDto = new MoneyCardOperationDto(); moneyCardOperationDto.setOrderId(sysOrder.getId()); + moneyCardOperationDto.setOrderNo(sysOrder.getOrderNo()); moneyCardOperationDto.setOrderItemId(item.getOldItemId()); - moneyCardOperationDto.setType(MoneyCardUseFlow.USE_TYPE_ORDRE_CANCEL); + moneyCardOperationDto.setType(MoneyCardUseFlow.USE_TYPE_ORDRE_TK); moneyCardOperationDto.setUpdateUser(user.getSuId()); moneyCardOperationDto.setOrderNo(sysOrder.getOrderNo()); + moneyCardOperationDto.setRealMoney(item.getZkPrice()); moneyCardOperationDtos.add(moneyCardOperationDto); } } BusParameterSettings manageStockSetting = busParameterSettingsDao.selectCompanyParamByCode(AppConstance.WAREHOUSE_MANAGE_STOCK, sysOrder.getCompanyId()); - if (AppConstance.IS_Y.equals(manageStockSetting.getParamValue())) { +// if (AppConstance.IS_Y.equals(manageStockSetting.getParamValue())) { + if (BooleanEnum.TRUE.getValue() == manageStockSetting.getIntParamValue()) { // 家居产品退库存 if (CollectionUtils.isNotEmpty(returnGoodsList)) { LogUtil.info("订单退款:退产品库存:{}", JSON.toJSONString(returnGoodsList)); - refundInstore(returnGoodsList); + sysOrderServiceHelper.refundInstore(returnGoodsList); } } @@ -651,50 +649,9 @@ } } - /** - * 退款入库 - */ - private void refundInstore(@NotEmpty List<SysOrderItem> items) { - SysUsers user = WebUtil.getSessionAttribute(MatrixConstance.LOGIN_KEY); - SysSupplierInfo supplierInfo = new SysSupplierInfo(); - supplierInfo.setShopId(user.getShopId()); - supplierInfo = sysSupplierInfoDao.selectByModel(supplierInfo).get(0); - Warehouse warehouse = warehouseDao.findShopWarehouse(user.getShopId()).get(0); - SysInstoreInfo instoreInfo = new SysInstoreInfo(); - instoreInfo.setInstoreType(SysInstoreInfo.INSTORE_TYPE_RETURN); - instoreInfo.setInstoreDate(new Date()); - instoreInfo.setSupplierId(supplierInfo.getId().toString()); - instoreInfo.setStoreId(warehouse.getId()); - instoreInfo.setCheckStatus(Dictionary.CHECK_STATUS_DSH); - // 设置入库单编号 - instoreInfo.setInstoreId(DateUtil.getTimeMark()); - instoreInfo.setShopId(user.getShopId()); - instoreInfo.setCompanyId(user.getCompanyId()); - sysInstoreInfoDao.insert(instoreInfo); - Double total = 0.0; - List<SysInstoreDetail> instoreDetails = new ArrayList<>(); - for (SysOrderItem item : items) { - ShoppingGoods goods = shoppingGoodsDao.selectById(item.getGoodsId()); - SysInstoreDetail sysInstoreDetail = new SysInstoreDetail(); - sysInstoreDetail.setAmount(item.getCount().doubleValue()); - sysInstoreDetail.setPrice(item.getZkPrice()); - sysInstoreDetail.setSkuId(goods.getId()); - total = MoneyUtil.add(MoneyUtil.mul(Double.parseDouble(sysInstoreDetail.getAmount() + ""), sysInstoreDetail.getPrice()), total); - sysInstoreDetail.setInstoreId(instoreInfo.getId()); - // 设置小计 - sysInstoreDetail.setPriceTotal(MoneyUtil.mul(Double.parseDouble(sysInstoreDetail.getAmount() + ""), sysInstoreDetail.getPrice())); - instoreDetails.add(sysInstoreDetail); - - } - instoreInfo.setSumall(total); - sysInstoreInfoDao.update(instoreInfo); - sysInstoreDetailDao.batchInsert(instoreDetails); - - sysInstoreInfoService.check(instoreInfo); - } @Override public BigDecimal findVipArrearsByVipId(Long vipId) { -- Gitblit v1.9.1