From d85af61932a03bd03663daf9da33177af5824a5c Mon Sep 17 00:00:00 2001
From: jyy <935090232@qq.com>
Date: Tue, 20 Apr 2021 14:09:45 +0800
Subject: [PATCH] Merge remote-tracking branch 'origin/api_score_meger' into api_score_meger
---
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..55c708d 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.system.hive.bean.SysVipInfo;
+import com.matrix.system.hive.dao.SysVipInfoDao;
+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
+ SysVipInfoDao sysVipInfoDao;
+
+ 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()) {
+ SysVipInfo vipInfo = sysVipInfoDao.selectById(shopSalesmanOrder.getSalesUserId());
+ if(ObjectUtil.isEmpty(vipInfo)) {
+ return AjaxResult.buildFailInstance("收益人信息不存在");
+ }
+ Double withdrawalCash = vipInfo.getWithdrawalCash();
+ Double amount = shopSalesmanOrder.getAmount();
+ withdrawalCash = (withdrawalCash == null?0:withdrawalCash)+(amount== null?0:amount);
+ vipInfo.setWithdrawalCash(withdrawalCash);
+ sysVipInfoDao.update(vipInfo);
+ }
+ }
+ }
+ return AjaxResult.buildSuccessInstance("操作成功");
+ }
--
Gitblit v1.9.1