From 9974b1fffff1cad712b7c30fb4c708ef45ec4b8c Mon Sep 17 00:00:00 2001 From: Helius <wangdoubleone@gmail.com> Date: Wed, 17 Mar 2021 09:44:03 +0800 Subject: [PATCH] Merge branch 'score_shop' of http://120.27.238.55:7000/r/beauty-erp into score_shop --- zq-erp/src/main/java/com/matrix/system/fenxiao/service/ShopSalesmanOrderService.java | 165 +++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 files changed, 165 insertions(+), 0 deletions(-) diff --git a/zq-erp/src/main/java/com/matrix/system/fenxiao/service/ShopSalesmanOrderService.java b/zq-erp/src/main/java/com/matrix/system/fenxiao/service/ShopSalesmanOrderService.java index 8a6ca27..256be95 100644 --- a/zq-erp/src/main/java/com/matrix/system/fenxiao/service/ShopSalesmanOrderService.java +++ b/zq-erp/src/main/java/com/matrix/system/fenxiao/service/ShopSalesmanOrderService.java @@ -1,9 +1,43 @@ package com.matrix.system.fenxiao.service; +import cn.hutool.core.collection.CollUtil; +import cn.hutool.core.util.ObjectUtil; +import cn.hutool.core.util.StrUtil; +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.matrix.biz.bean.BizUser; +import com.matrix.biz.dao.BizUserDao; +import com.matrix.core.constance.MatrixConstance; +import com.matrix.core.pojo.AjaxResult; +import com.matrix.core.tools.StringUtils; +import com.matrix.core.tools.WebUtil; +import com.matrix.system.common.bean.SysUsers; +import com.matrix.system.fenxiao.dao.ShopRevenueFlowDao; +import com.matrix.system.fenxiao.dao.ShopSalemanSettlementDao; import com.matrix.system.fenxiao.dao.ShopSalesmanOrderDao; +import com.matrix.system.fenxiao.dto.LoadFenxiaoOrderBasicDto; +import com.matrix.system.fenxiao.dto.LoadFenxiaoOrderListDto; +import com.matrix.system.fenxiao.dto.LoadSetOrderListDtoDto; +import com.matrix.system.fenxiao.dto.UpdateSetOrderDoneDto; +import com.matrix.system.fenxiao.entity.ShopRevenueFlow; +import com.matrix.system.fenxiao.entity.ShopSalemanSettlement; import com.matrix.system.fenxiao.entity.ShopSalesmanOrder; +import com.matrix.system.fenxiao.vo.LoadFenxiaoOrderBasicVo; +import com.matrix.system.fenxiao.vo.LoadFenxiaoOrderListVo; +import com.matrix.system.fenxiao.vo.LoadSetOrderListDtoVo; +import com.matrix.system.hive.action.util.QueryUtil; +import com.matrix.system.hive.service.CodeService; +import com.matrix.system.shopXcx.bean.ShopOrder; +import com.matrix.system.shopXcx.dao.ShopOrderDao; + +import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; +import org.springframework.transaction.annotation.Transactional; + +import java.util.Arrays; +import java.util.Date; +import java.util.List; /** * @description 分销订单 @@ -12,6 +46,137 @@ */ @Service public class ShopSalesmanOrderService extends ServiceImpl<ShopSalesmanOrderDao, ShopSalesmanOrder>{ + + @Autowired + ShopSalesmanOrderDao shopSalesmanOrderDao; + @Autowired + CodeService codeService; + @Autowired + ShopSalemanSettlementDao shopSalemanSettlementDao; + @Autowired + ShopRevenueFlowDao shopRevenueFlowDao; + @Autowired + ShopOrderDao shopOrderDao; + @Autowired + BizUserDao bizUserDao; + + public AjaxResult loadFenxiaoOrderBasic(LoadFenxiaoOrderBasicDto loadFenxiaoOrderBasicDto) { + //设置用户公司ID + QueryUtil.setQueryLimitCom(loadFenxiaoOrderBasicDto); + AjaxResult result= AjaxResult.buildSuccessInstance("查询成功"); + //根据OPENID查询基础信息 + Long companyId = loadFenxiaoOrderBasicDto.getCompanyId(); + LoadFenxiaoOrderBasicVo loadFenxiaoOrderBasicVo = shopSalesmanOrderDao.selectFenxiaoOrderBasicByCompanyId(companyId); + result.putInMap("basicdetail", loadFenxiaoOrderBasicVo); + return result; + } + + public AjaxResult loadFenxiaoOrderList(LoadFenxiaoOrderListDto loadFenxiaoOrderListDto) { + //设置用户公司ID + QueryUtil.setQueryLimitCom(loadFenxiaoOrderListDto); + //排序 + if(StringUtils.isBlank(loadFenxiaoOrderListDto.getSort())){ + loadFenxiaoOrderListDto.setSort("create_time"); + loadFenxiaoOrderListDto.setOrder("desc"); + } + Page<LoadFenxiaoOrderListVo> page = new Page(loadFenxiaoOrderListDto.getPageNum(), loadFenxiaoOrderListDto.getPageSize()); + IPage<LoadFenxiaoOrderListVo> loadFenxiaoOrderListVos = shopSalesmanOrderDao.findFenxiaoOrderList(page,loadFenxiaoOrderListDto); + return AjaxResult.buildSuccessInstance(loadFenxiaoOrderListVos.getRecords(),loadFenxiaoOrderListVos.getTotal()); + } + + public AjaxResult loadSetOrderList(LoadSetOrderListDtoDto loadSetOrderListDto) { + //设置用户公司ID + QueryUtil.setQueryLimitCom(loadSetOrderListDto); + //排序 + if(StringUtils.isBlank(loadSetOrderListDto.getSort())){ + loadSetOrderListDto.setSort("create_time"); + loadSetOrderListDto.setOrder("desc"); + } + Page<LoadSetOrderListDtoVo> page = new Page(loadSetOrderListDto.getPageNum(), loadSetOrderListDto.getPageSize()); + IPage<LoadSetOrderListDtoVo> loadFenxiaoOrderListVos = shopSalesmanOrderDao.findSetOrderList(page,loadSetOrderListDto); + return AjaxResult.buildSuccessInstance(loadFenxiaoOrderListVos.getRecords(),loadFenxiaoOrderListVos.getTotal()); + } + + @Transactional(rollbackFor = Exception.class) + public AjaxResult updateSetOrderDone(UpdateSetOrderDoneDto updateSetOrderDoneDto) { + //设置用户公司ID + QueryUtil.setQueryLimitCom(updateSetOrderDoneDto); + SysUsers user = WebUtil.getSessionAttribute(MatrixConstance.LOGIN_KEY); + Long companyId = updateSetOrderDoneDto.getCompanyId(); + Integer setType = updateSetOrderDoneDto.getSetType(); + + String orderIds = updateSetOrderDoneDto.getOrderIds(); + if(StrUtil.isNotEmpty(orderIds)){ + List<String> idsStringList = Arrays.asList(orderIds.split(",")); + if(CollUtil.isEmpty(idsStringList)) { + return AjaxResult.buildFailInstance("请至少选择一条记录"); + } + //产生订单结算记录 + ShopSalemanSettlement shopSalemanSettlement = new ShopSalemanSettlement(); + shopSalemanSettlement.setCompanyId(companyId); + shopSalemanSettlement.setCreateBy(MatrixConstance.SYSTEM_USER); + shopSalemanSettlement.setUpdateBy(MatrixConstance.SYSTEM_USER); + shopSalemanSettlement.setCreateTime(new Date()); + shopSalemanSettlement.setUpdateTime(new Date()); + shopSalemanSettlement.setOrderNo(codeService.getCodeByTyle(ShopSalemanSettlement.ORDERNO_START)); + shopSalemanSettlement.setSettlementWay(setType); + shopSalemanSettlement.setManCount(updateSetOrderDoneDto.getManCount()); + shopSalemanSettlement.setOrderCount(updateSetOrderDoneDto.getOrderCount()); + shopSalemanSettlement.setUserId(user.getSuId().intValue()); + shopSalemanSettlement.setAmount(updateSetOrderDoneDto.getAmount()); + shopSalemanSettlement.setRemark(updateSetOrderDoneDto.getRemark()); + shopSalemanSettlement.setCompanyId(companyId); + shopSalemanSettlementDao.insert(shopSalemanSettlement); + + for(String idString : idsStringList) { + long id = Long.parseLong(idString); + //更新分销订单 + ShopSalesmanOrder shopSalesmanOrder = shopSalesmanOrderDao.selectById(id); + if(!ShopSalesmanOrder.STATUS_DJS.equals(shopSalesmanOrder.getOrderStatus())) { + return AjaxResult.buildFailInstance("选中记录中存在【已结算】的记录"); + } + //判断原始订单的状态【4=待评价, 5=已评价】才能结算 + ShopOrder shopOrder = shopOrderDao.selectById(shopSalesmanOrder.getOrderId().intValue()); + if(ShopOrder.ORDER_STATUS_WAIT_REMARK != shopOrder.getOrderStatus() && + ShopOrder.ORDER_STATUS_ALREADY_REMARK != shopOrder.getOrderStatus()) { + return AjaxResult.buildFailInstance("未收货订单不允许结算"); + } + shopSalesmanOrder.setOrderStatus(ShopSalesmanOrder.STATUS_YJS); + shopSalesmanOrder.setSettlementId(shopSalemanSettlement.getId()); + shopSalesmanOrderDao.updateById(shopSalesmanOrder); + //记录流水 + ShopRevenueFlow salesRevenueFlow=new ShopRevenueFlow(); + salesRevenueFlow.setCompanyId(companyId); + salesRevenueFlow.setCreateBy(MatrixConstance.SYSTEM_USER); + salesRevenueFlow.setUpdateBy(MatrixConstance.SYSTEM_USER); + salesRevenueFlow.setCreateTime(new Date()); + salesRevenueFlow.setUpdateTime(new Date()); + salesRevenueFlow.setAmount(shopSalesmanOrder.getAmount()); + salesRevenueFlow.setUserId(shopSalesmanOrder.getSalesUserId()); + if(ShopSalesmanOrder.REVENUE_TYPE_SALES.equals(shopSalesmanOrder.getRevenueType())) { + salesRevenueFlow.setRevenueContent(ShopRevenueFlow.TYPE_TGSY); + } + if(ShopSalesmanOrder.REVENUE_TYPE_INVITATION.equals(shopSalesmanOrder.getRevenueType())) { + salesRevenueFlow.setRevenueContent(ShopRevenueFlow.TYPE_YQSY); + } + salesRevenueFlow.setBusinessId(shopSalesmanOrder.getId()); + shopRevenueFlowDao.insert(salesRevenueFlow); + //选择微信余额支付,更新用户的金额 + if(ShopSalemanSettlement.SETTLEMENTWAY_YEJS == updateSetOrderDoneDto.getSetType()) { + BizUser findByOpenId = bizUserDao.findByOpenId(shopSalesmanOrder.getSalesUserId()); + if(ObjectUtil.isEmpty(findByOpenId)) { + return AjaxResult.buildFailInstance("收益人信息不存在"); + } + Double withdrawalCash = findByOpenId.getWithdrawalCash(); + Double amount = shopSalesmanOrder.getAmount(); + withdrawalCash = (withdrawalCash == null?0:withdrawalCash)+(amount== null?0:amount); + findByOpenId.setWithdrawalCash(withdrawalCash); + bizUserDao.updateByModel(findByOpenId); + } + } + } + return AjaxResult.buildSuccessInstance("操作成功"); + } -- Gitblit v1.9.1