From 72396cbbb60d0418dd4cb63f310532fc70a28c10 Mon Sep 17 00:00:00 2001 From: jyy <935090232@qq.com> Date: Tue, 16 Mar 2021 17:59:49 +0800 Subject: [PATCH] Merge remote-tracking branch 'origin/score_shop' into score_shop --- zq-erp/src/main/java/com/matrix/system/fenxiao/dto/UpdateSetOrderDoneDto.java | 15 + zq-erp/src/main/resources/templates/views/admin/fenxiao/fenxiao-order.html | 169 +++++++++++++++--- zq-erp/src/main/java/com/matrix/system/fenxiao/dto/LoadFenxiaoOrderListDto.java | 26 ++ zq-erp/src/main/resources/mybatis/mapper/fenxiao/ShopSalesmanOrderDao.xml | 48 ++++ zq-erp/src/main/java/com/matrix/system/fenxiao/action/FenXiaoUserAction.java | 4 zq-erp/src/main/java/com/matrix/system/fenxiao/action/FenXiaoSettingAction.java | 24 - zq-erp/src/main/java/com/matrix/system/fenxiao/entity/ShopSalemanSettlement.java | 13 + zq-erp/src/main/java/com/matrix/system/hive/service/imp/CodeServiceImpl.java | 5 zq-erp/src/main/java/com/matrix/system/fenxiao/dto/LoadSetOrderListDtoDto.java | 8 zq-erp/src/main/resources/templates/views/admin/fenxiao/fenxiao-user.html | 4 zq-erp/src/main/java/com/matrix/system/fenxiao/service/ShopSalesmanApplyService.java | 7 zq-erp/src/main/java/com/matrix/system/fenxiao/service/ShopSalesmanOrderService.java | 130 +++++++++++--- zq-erp/src/main/java/com/matrix/system/fenxiao/vo/LoadSetOrderListDtoVo.java | 11 zq-erp/src/main/java/com/matrix/system/hive/service/CodeService.java | 7 zq-erp/src/main/java/com/matrix/system/fenxiao/vo/LoadFenxiaoOrderListVo.java | 2 zq-erp/src/main/java/com/matrix/system/fenxiao/entity/ShopRevenueFlow.java | 10 + zq-erp/src/main/resources/mybatis/mapper/fenxiao/ShopSalesmanApplyDao.xml | 4 17 files changed, 384 insertions(+), 103 deletions(-) diff --git a/zq-erp/src/main/java/com/matrix/system/fenxiao/action/FenXiaoSettingAction.java b/zq-erp/src/main/java/com/matrix/system/fenxiao/action/FenXiaoSettingAction.java index 865f5da..98e2f77 100644 --- a/zq-erp/src/main/java/com/matrix/system/fenxiao/action/FenXiaoSettingAction.java +++ b/zq-erp/src/main/java/com/matrix/system/fenxiao/action/FenXiaoSettingAction.java @@ -1,5 +1,7 @@ package com.matrix.system.fenxiao.action; +import cn.hutool.core.collection.CollUtil; +import cn.hutool.core.util.StrUtil; import com.matrix.biz.dao.BizUserDao; import com.matrix.core.constance.MatrixConstance; import com.matrix.core.pojo.AjaxResult; @@ -10,25 +12,15 @@ import com.matrix.system.fenxiao.constant.FenxiaoSettingConstant; import com.matrix.system.fenxiao.service.FenXiaoSettingService; import com.matrix.system.fenxiao.vo.FenXiaoSettingVo; +import com.matrix.system.hive.bean.ShoppingGoods; +import com.matrix.system.hive.dao.ShoppingGoodsDao; +import org.springframework.beans.BeanUtils; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.*; import java.util.ArrayList; import java.util.Arrays; import java.util.List; - -import com.matrix.system.hive.bean.ShoppingGoods; -import com.matrix.system.hive.dao.ShoppingGoodsDao; - -import cn.hutool.core.collection.CollUtil; -import cn.hutool.core.util.StrUtil; - -import org.apache.commons.collections.CollectionUtils; -import org.springframework.beans.BeanUtils; -import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.web.bind.annotation.PostMapping; -import org.springframework.web.bind.annotation.RequestBody; -import org.springframework.web.bind.annotation.RequestMapping; -import org.springframework.web.bind.annotation.ResponseBody; -import org.springframework.web.bind.annotation.RestController; @RestController @RequestMapping(value = "/fenXiao/ruleSetting") @@ -84,7 +76,7 @@ if(CollUtil.isNotEmpty(sqtjRuleSettingsVo)){ for(FenXiaoSettingVo fenXiaoSettingVo : sqtjRuleSettingsVo) { //选择申请条件条件3时,获得选中产品集合 - if("3".equals(fenXiaoSettingVo.getParamValue())) { + if(FenxiaoSettingConstant.FX_APPLY_CONDITION_XFZDCP.equals(fenXiaoSettingVo.getParamValue())) { String paramValue1 = fenXiaoSettingVo.getParamValue1(); if(StrUtil.isNotEmpty(paramValue1)) { List<Integer> idsList = new ArrayList<>(); diff --git a/zq-erp/src/main/java/com/matrix/system/fenxiao/action/FenXiaoUserAction.java b/zq-erp/src/main/java/com/matrix/system/fenxiao/action/FenXiaoUserAction.java index f0fe454..f7ef70f 100644 --- a/zq-erp/src/main/java/com/matrix/system/fenxiao/action/FenXiaoUserAction.java +++ b/zq-erp/src/main/java/com/matrix/system/fenxiao/action/FenXiaoUserAction.java @@ -298,11 +298,11 @@ AjaxResult addSaleManApply(@RequestBody AddSaleManApplyDto addSaleManApplyDto) { String gradeId = addSaleManApplyDto.getGradeId(); if(StrUtil.isBlankOrUndefined(gradeId)) { - return AjaxResult.buildSuccessInstance("请选择分销等级"); + return AjaxResult.buildFailInstance("请选择分销等级"); } ShopSalesmanGrade selectById = shopSalesmanGradeDao.selectById(Long.parseLong(gradeId)); if(ObjectUtil.isEmpty(selectById)) { - return AjaxResult.buildSuccessInstance("请选择分销等级"); + return AjaxResult.buildFailInstance("请选择分销等级"); } //设置用户公司ID diff --git a/zq-erp/src/main/java/com/matrix/system/fenxiao/dto/LoadFenxiaoOrderListDto.java b/zq-erp/src/main/java/com/matrix/system/fenxiao/dto/LoadFenxiaoOrderListDto.java index 7e287db..006e414 100644 --- a/zq-erp/src/main/java/com/matrix/system/fenxiao/dto/LoadFenxiaoOrderListDto.java +++ b/zq-erp/src/main/java/com/matrix/system/fenxiao/dto/LoadFenxiaoOrderListDto.java @@ -1,10 +1,11 @@ package com.matrix.system.fenxiao.dto; import com.matrix.core.pojo.BasePageQueryDto; - import io.swagger.annotations.ApiModel; import io.swagger.annotations.ApiModelProperty; import lombok.Data; + +import java.util.Date; @Data @ApiModel(value = "LoadFenxiaoOrderListDto", description = "查询参数") @@ -12,8 +13,29 @@ @ApiModelProperty(hidden = true) private Long companyId; + + @ApiModelProperty(value ="订单状态") + private Integer ddType; + + @ApiModelProperty(value ="结算状态") + private Integer orderType; - @ApiModelProperty(value ="会员姓名") + @ApiModelProperty(value ="客户名称") private String userName; + + @ApiModelProperty(value ="推广员名称") + private String tgy; + + @ApiModelProperty(value ="开始时间") + private Date startTime; + + @ApiModelProperty(value ="结束时间") + private Date endTime; + + @ApiModelProperty(value ="结算编号") + private String jsbh; + + @ApiModelProperty(value ="订单号") + private String ddh; } diff --git a/zq-erp/src/main/java/com/matrix/system/fenxiao/dto/LoadSetOrderListDtoDto.java b/zq-erp/src/main/java/com/matrix/system/fenxiao/dto/LoadSetOrderListDtoDto.java index b68eaff..b23b183 100644 --- a/zq-erp/src/main/java/com/matrix/system/fenxiao/dto/LoadSetOrderListDtoDto.java +++ b/zq-erp/src/main/java/com/matrix/system/fenxiao/dto/LoadSetOrderListDtoDto.java @@ -1,5 +1,7 @@ package com.matrix.system.fenxiao.dto; +import java.util.Date; + import com.matrix.core.pojo.BasePageQueryDto; import io.swagger.annotations.ApiModel; @@ -15,5 +17,11 @@ @ApiModelProperty(value ="会员姓名") private String userName; + + @ApiModelProperty(value ="开始时间") + private Date startTime; + + @ApiModelProperty(value ="结束时间") + private Date endTime; } diff --git a/zq-erp/src/main/java/com/matrix/system/fenxiao/dto/UpdateSetOrderDoneDto.java b/zq-erp/src/main/java/com/matrix/system/fenxiao/dto/UpdateSetOrderDoneDto.java index e3f1ca6..dd4c723 100644 --- a/zq-erp/src/main/java/com/matrix/system/fenxiao/dto/UpdateSetOrderDoneDto.java +++ b/zq-erp/src/main/java/com/matrix/system/fenxiao/dto/UpdateSetOrderDoneDto.java @@ -13,5 +13,20 @@ @ApiModelProperty(value ="需要处理的IDs(字符串逗号隔开)") private String orderIds; + + @ApiModelProperty(value ="结算方式1,线下结算,2余额结算") + private Integer setType; + + @ApiModelProperty(value ="结算人数") + private Integer manCount; + + @ApiModelProperty(value ="结算单数") + private Integer orderCount; + + @ApiModelProperty(value ="结算金额") + private Double amount; + + @ApiModelProperty(value ="备注") + private String remark; } diff --git a/zq-erp/src/main/java/com/matrix/system/fenxiao/entity/ShopRevenueFlow.java b/zq-erp/src/main/java/com/matrix/system/fenxiao/entity/ShopRevenueFlow.java index 9239bfd..fd8d9b2 100644 --- a/zq-erp/src/main/java/com/matrix/system/fenxiao/entity/ShopRevenueFlow.java +++ b/zq-erp/src/main/java/com/matrix/system/fenxiao/entity/ShopRevenueFlow.java @@ -17,7 +17,15 @@ @Extend private static final long serialVersionUID = 1L; - + /** + * 推广收益类型 推广收益 + */ + public static final String TYPE_TGSY = "推广收益"; + /** + * 推广收益类型 邀请收益 + */ + + public static final String TYPE_YQSY = "邀请收益"; diff --git a/zq-erp/src/main/java/com/matrix/system/fenxiao/entity/ShopSalemanSettlement.java b/zq-erp/src/main/java/com/matrix/system/fenxiao/entity/ShopSalemanSettlement.java index 176f3d8..66a9dc1 100644 --- a/zq-erp/src/main/java/com/matrix/system/fenxiao/entity/ShopSalemanSettlement.java +++ b/zq-erp/src/main/java/com/matrix/system/fenxiao/entity/ShopSalemanSettlement.java @@ -15,9 +15,20 @@ public class ShopSalemanSettlement extends BaseEntity { @Extend private static final long serialVersionUID = 1L; - + /** + * 结算编号头部编码 + */ + public static final String ORDERNO_START = "J"; + /** + * 结算方式 1 线下结算 + */ + public static final Integer SETTLEMENTWAY_XXJS = 1; + /** + * 结算方式 2 微信余额结算 + */ + public static final Integer SETTLEMENTWAY_YEJS = 2; /** diff --git a/zq-erp/src/main/java/com/matrix/system/fenxiao/service/ShopSalesmanApplyService.java b/zq-erp/src/main/java/com/matrix/system/fenxiao/service/ShopSalesmanApplyService.java index 786bf40..d9b69d5 100644 --- a/zq-erp/src/main/java/com/matrix/system/fenxiao/service/ShopSalesmanApplyService.java +++ b/zq-erp/src/main/java/com/matrix/system/fenxiao/service/ShopSalesmanApplyService.java @@ -2,7 +2,6 @@ import cn.hutool.core.util.ObjectUtil; import cn.hutool.core.util.StrUtil; -import com.baomidou.mybatisplus.core.conditions.Wrapper; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; @@ -104,9 +103,9 @@ shopSalesmanApply.setGradeId(Long.parseLong(gradeId)); }else{ //获取初始等级ID(公司id,是否为初始等级) - Wrapper<ShopSalesmanGrade> queryWrapperOrepool = new QueryWrapper<>(); - ((QueryWrapper<ShopSalesmanGrade>) queryWrapperOrepool).eq("company_id", loginUser.getCompanyId()); - ((QueryWrapper<ShopSalesmanGrade>) queryWrapperOrepool).eq("is_default", 1); + QueryWrapper<ShopSalesmanGrade> queryWrapperOrepool = new QueryWrapper<>(); + queryWrapperOrepool.eq("company_id", loginUser.getCompanyId()); + queryWrapperOrepool.eq("is_default", 1); ShopSalesmanGrade shopSalesmanGrade = shopSalesmanGradeDao.selectOne(queryWrapperOrepool); shopSalesmanApply.setGradeId(shopSalesmanGrade.getId()); } 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 7fce100..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,23 +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 分销订单 @@ -29,6 +49,16 @@ @Autowired ShopSalesmanOrderDao shopSalesmanOrderDao; + @Autowired + CodeService codeService; + @Autowired + ShopSalemanSettlementDao shopSalemanSettlementDao; + @Autowired + ShopRevenueFlowDao shopRevenueFlowDao; + @Autowired + ShopOrderDao shopOrderDao; + @Autowired + BizUserDao bizUserDao; public AjaxResult loadFenxiaoOrderBasic(LoadFenxiaoOrderBasicDto loadFenxiaoOrderBasicDto) { //设置用户公司ID @@ -71,41 +101,81 @@ 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<Integer> idsList = new ArrayList<>(); 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); - //记录收益流水 -// ShopRevenueFlow salesRevenueFlow=new ShopRevenueFlow(); -// salesRevenueFlow.setCompanyId(order.getCompanyId()); -// salesRevenueFlow.setCreateBy(MatrixConstance.SYSTEM_USER); -// salesRevenueFlow.setUpdateBy(MatrixConstance.SYSTEM_USER); -// salesRevenueFlow.setCreateTime(new Date()); -// salesRevenueFlow.setUpdateTime(new Date()); -// salesRevenueFlow.setAmount(salesAmount); -// salesRevenueFlow.setUserId(salesmanOrder.getSalesUserId()); -// salesRevenueFlow.setRevenueContent("推广收益"); -// salesRevenueFlow.setBusinessId(salesmanOrder.getOrderId()); -// shopRevenueFlowDao.insert(salesRevenueFlow); - - //收益流水 -// ShopRevenueFlow invitationRevenueFlow=new ShopRevenueFlow(); -// invitationRevenueFlow.setCompanyId(order.getCompanyId()); -// invitationRevenueFlow.setCreateBy(MatrixConstance.SYSTEM_USER); -// invitationRevenueFlow.setUpdateBy(MatrixConstance.SYSTEM_USER); -// invitationRevenueFlow.setCreateTime(new Date()); -// invitationRevenueFlow.setUpdateTime(new Date()); -// invitationRevenueFlow.setAmount(salesAmount); -// invitationRevenueFlow.setUserId(invitationOrder.getSalesUserId()); -// invitationRevenueFlow.setRevenueContent("邀请收益"); -// invitationRevenueFlow.setBusinessId(invitationOrder.getOrderId()); -// shopRevenueFlowDao.insert(invitationRevenueFlow); - - }*/ - return AjaxResult.buildFailInstance("操作成功"); + 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("操作成功"); } diff --git a/zq-erp/src/main/java/com/matrix/system/fenxiao/vo/LoadFenxiaoOrderListVo.java b/zq-erp/src/main/java/com/matrix/system/fenxiao/vo/LoadFenxiaoOrderListVo.java index b397718..b0e5aef 100644 --- a/zq-erp/src/main/java/com/matrix/system/fenxiao/vo/LoadFenxiaoOrderListVo.java +++ b/zq-erp/src/main/java/com/matrix/system/fenxiao/vo/LoadFenxiaoOrderListVo.java @@ -16,6 +16,8 @@ private Long id; @ApiModelProperty(value = "订单编号") private String orderNo; + @ApiModelProperty(value = "订单状态") + private Integer orderState; @ApiModelProperty(value = "实付金额(元)") private BigDecimal actualBalance; @ApiModelProperty(value = "下单门店") diff --git a/zq-erp/src/main/java/com/matrix/system/fenxiao/vo/LoadSetOrderListDtoVo.java b/zq-erp/src/main/java/com/matrix/system/fenxiao/vo/LoadSetOrderListDtoVo.java index c1d410d..b769ec7 100644 --- a/zq-erp/src/main/java/com/matrix/system/fenxiao/vo/LoadSetOrderListDtoVo.java +++ b/zq-erp/src/main/java/com/matrix/system/fenxiao/vo/LoadSetOrderListDtoVo.java @@ -1,13 +1,12 @@ package com.matrix.system.fenxiao.vo; -import java.math.BigDecimal; -import java.util.Date; - import com.fasterxml.jackson.annotation.JsonFormat; - import io.swagger.annotations.ApiModel; import io.swagger.annotations.ApiModelProperty; import lombok.Data; + +import java.math.BigDecimal; +import java.util.Date; @Data @ApiModel(value = "LoadSetOrderListDtoVo", description = "返回类") @@ -27,10 +26,10 @@ @ApiModelProperty(value = "结算时间") private Date setTime; @ApiModelProperty(value = "结算人") - private Integer setMan; + private String setMan; @ApiModelProperty(value = "结算方式") private BigDecimal settlementWay; @ApiModelProperty(value = "备注") - private Integer remark; + private String remark; } diff --git a/zq-erp/src/main/java/com/matrix/system/hive/service/CodeService.java b/zq-erp/src/main/java/com/matrix/system/hive/service/CodeService.java index 094d971..13508db 100644 --- a/zq-erp/src/main/java/com/matrix/system/hive/service/CodeService.java +++ b/zq-erp/src/main/java/com/matrix/system/hive/service/CodeService.java @@ -28,6 +28,13 @@ String get32LenNumberCode(); public String getFlowCode(); + /** + * 生成一个加上typeName前缀的编号 + * typeName+时间戳+四位随机数 + * @param typeName + * @return + */ + public String getCodeByTyle(String typeName); /** * 根据一定的规则返回一个随机编号。 diff --git a/zq-erp/src/main/java/com/matrix/system/hive/service/imp/CodeServiceImpl.java b/zq-erp/src/main/java/com/matrix/system/hive/service/imp/CodeServiceImpl.java index cc94459..77c291c 100644 --- a/zq-erp/src/main/java/com/matrix/system/hive/service/imp/CodeServiceImpl.java +++ b/zq-erp/src/main/java/com/matrix/system/hive/service/imp/CodeServiceImpl.java @@ -116,4 +116,9 @@ public String getFlowCode() { return "F" + getNowTimeString(); } + + @Override + public String getCodeByTyle(String typeName) { + return typeName+getNowTimeString()+ StringUtils.getRandomString(4); + } } \ No newline at end of file diff --git a/zq-erp/src/main/resources/mybatis/mapper/fenxiao/ShopSalesmanApplyDao.xml b/zq-erp/src/main/resources/mybatis/mapper/fenxiao/ShopSalesmanApplyDao.xml index ae2981e..041b364 100644 --- a/zq-erp/src/main/resources/mybatis/mapper/fenxiao/ShopSalesmanApplyDao.xml +++ b/zq-erp/src/main/resources/mybatis/mapper/fenxiao/ShopSalesmanApplyDao.xml @@ -73,7 +73,7 @@ ( SELECT IFNULL(sum(IFNULL(amount, 0)), 0) FROM shop_salesman_order WHERE user_id = a.user_id AND order_status = 1 AND sales_user_id = a.user_id ) balance, g.NAME grade, - b.binding_parent_time createTime, + a.create_time createTime, a.apply_status applyStatus, a.apply_way applyWay FROM @@ -215,7 +215,7 @@ WHERE user_id = a.user_id AND order_status = 2 AND sales_user_id = a.user_id ) totalRevenue, ( SELECT IFNULL(sum(IFNULL(amount, 0)), 0) FROM shop_salesman_order WHERE user_id = a.user_id AND order_status = 1 AND sales_user_id = a.user_id ) balance, - b.binding_parent_time createTime, + a.create_time createTime, a.apply_status applyStatus, a.apply_way applyWay FROM diff --git a/zq-erp/src/main/resources/mybatis/mapper/fenxiao/ShopSalesmanOrderDao.xml b/zq-erp/src/main/resources/mybatis/mapper/fenxiao/ShopSalesmanOrderDao.xml index 34510ff..2dd7257 100644 --- a/zq-erp/src/main/resources/mybatis/mapper/fenxiao/ShopSalesmanOrderDao.xml +++ b/zq-erp/src/main/resources/mybatis/mapper/fenxiao/ShopSalesmanOrderDao.xml @@ -85,26 +85,52 @@ <select id="findFenxiaoOrderList" resultType="com.matrix.system.fenxiao.vo.LoadFenxiaoOrderListVo"> SELECT a.id id, - (select order_no from shop_order where id = a.order_id) orderNo, - (select order_money from shop_order where id = a.order_id) actualBalance, - (select store_name from shop_store where store_id = (select store_id from shop_order where id = a.order_id)) address, + d.order_no, + d.order_money actualBalance, + f.shop_name address, + d.order_status orderState, b.nick_name custom, b.open_id customUserId, - (select nick_name from biz_user where open_id = b.parent_open_id) parentSale, + e.nick_name parentSale, a.revenue_type profitType, a.amount profitBalance, a.order_status settleType, c.order_no settleNo, c.create_time settleTime, - (select nick_name from biz_user where c.user_id = open_id) settler + g.su_name settler FROM shop_salesman_order a LEFT JOIN biz_user b on a.user_id = b.open_id LEFT JOIN shop_saleman_settlement c on a.settlement_id = c.id + LEFT JOIN shop_order d on d.id = a.order_id + LEFT JOIN biz_user e on a.sales_user_id = e.open_id + LEFT JOIN sys_shop_info f on f.id = d.store_id + LEFT JOIN sys_users g on c.user_id = g.su_id <where> a.company_id = #{record.companyId} <if test="record.userName != null and record.userName != ''"> and b.nick_name like concat('%',#{record.userName},'%') + </if> + <if test="record.ddType != null and record.ddType != ''"> + and d.order_status = #{record.ddType} + </if> + <if test="record.startTime != null "> + and a.create_time >= #{record.startTime} + </if> + <if test="record.endTime != null"> + and #{record.endTime} >= a.create_time + </if> + <if test="record.tgy != null and record.tgy != ''"> + and e.nick_name like concat('%',#{record.tgy},'%') + </if> + <if test="record.orderType != null and record.orderType != ''"> + and a.order_status = #{record.orderType} + </if> + <if test="record.jsbh != null and record.jsbh != ''"> + and c.order_no = #{record.jsbh} + </if> + <if test="record.ddh != null and record.ddh != ''"> + and d.order_no = #{record.ddh} </if> </where> <if test="record.sort !=null"> @@ -121,16 +147,22 @@ a.order_count setNum, a.man_count setManNum, a.create_time setTime, - b.nick_name setMan, + b.su_name setMan, a.settlement_way settlementWay, a.remark remark from shop_saleman_settlement a - left join biz_user b on a.user_id = b.open_id + left join sys_users b on a.user_id = b.su_id <where> a.company_id = #{record.companyId} <if test="record.userName != null and record.userName != ''"> - and b.nick_name like concat('%',#{record.userName},'%') + and b.su_name like concat('%',#{record.userName},'%') + </if> + <if test="record.startTime != null "> + and a.create_time >= #{record.startTime} + </if> + <if test="record.endTime != null"> + and #{record.endTime} >= a.create_time </if> </where> <if test="record.sort !=null"> diff --git a/zq-erp/src/main/resources/templates/views/admin/fenxiao/fenxiao-order.html b/zq-erp/src/main/resources/templates/views/admin/fenxiao/fenxiao-order.html index 217cabc..92aafbd 100644 --- a/zq-erp/src/main/resources/templates/views/admin/fenxiao/fenxiao-order.html +++ b/zq-erp/src/main/resources/templates/views/admin/fenxiao/fenxiao-order.html @@ -66,7 +66,7 @@ <el-dialog title="本次结算分销订单" :visible.sync="dialogFormVisible"> <el-form :model="formSelect"> <el-form-item label="结算金额:" :label-width="formLabelWidth"> - <div style="font-size: 30px;color: red">¥{{formSelect.jsje}}</div> + <div style="font-size: 30px;color: #ff0000">¥{{formSelect.jsje}}</div> </el-form-item> <el-form-item label="结算订单:" :label-width="formLabelWidth"> <div style="font-size: 20px;">{{formSelect.jsdds}}单</div> @@ -89,8 +89,20 @@ <el-button type="primary" @click="updateSetOrderDone()">确 定</el-button> </div> </el-dialog> + <el-col> <el-form ref="form" :model="form" inline > + <el-form-item label="订单状态" prop="ddType"> + <el-select v-model="form.ddType" placeholder="订单状态"> + <el-option + v-for="item in ddTypeList" + :key="item.value" + :label="item.label" + :value="item.value" + > + </el-option> + </el-select> + </el-form-item> <el-form-item label="结算状态" prop="orderType"> <el-select v-model="form.orderType" placeholder="结算状态"> <el-option @@ -103,28 +115,34 @@ </el-select> </el-form-item> <el-form-item prop="userName" > - <el-input v-model="form.userName" placeholder="请输入推广员名称"></el-input> - </el-form-item> - <el-form-item prop="userName" > - <el-input v-model="form.userName" placeholder="选择订单时间范围"></el-input> - </el-form-item> - <el-form-item prop="userName" > - <el-input v-model="form.userName" placeholder="请输入会员姓名"></el-input> - </el-form-item> - <el-form-item prop="userName" > - <el-input v-model="form.userName" placeholder="请输入结算编号"></el-input> - </el-form-item> - <el-form-item prop="userName" > - <el-input v-model="form.userName" placeholder="请输入订单号"></el-input> - </el-form-item> - <el-form-item prop="userName" > <el-input v-model="form.userName" placeholder="请输入客户名称"></el-input> + </el-form-item> + <el-form-item prop="tgy" > + <el-input v-model="form.tgy" placeholder="请输入推广员名称"></el-input> + </el-form-item> + <el-form-item prop="ddsj" > + <el-date-picker + v-model="form.ddsj" + type="datetimerange" + :picker-options="pickerOptions" + range-separator="至" + start-placeholder="开始日期" + end-placeholder="结束日期" + align="right"> + </el-date-picker> + </el-form-item> + <el-form-item prop="jsbh" > + <el-input v-model="form.jsbh" placeholder="请输入结算编号"></el-input> + </el-form-item> + <el-form-item prop="ddh" > + <el-input v-model="form.ddh" placeholder="请输入订单号"></el-input> </el-form-item> <el-button type="primary" @click="search" >搜索</el-button> <el-button @click="resetForm('form')">重置</el-button> </el-form> </el-col> </el-row> + <el-row class="table-style" > <el-table ref="multipleTable" :data="fxyList.rows" @@ -142,6 +160,20 @@ <el-table-column prop="actualBalance" label="实付金额(元)"> + </el-table-column> + <el-table-column + label="订单状态"> + <template slot-scope="scope"> + <span v-if="scope.row.orderState == 1">待付款</span> + <span v-if="scope.row.orderState == 2">待配送</span> + <span v-if="scope.row.orderState == 3">待收货</span> + <span v-if="scope.row.orderState == 4">待评价</span> + <span v-if="scope.row.orderState == 5">已评价</span> + <span v-if="scope.row.orderState == 6">申请退款</span> + <span v-if="scope.row.orderState == 7">退款成功</span> + <span v-if="scope.row.orderState == 8">退款拒绝</span> + <span v-if="scope.row.orderState == 9">已取消</span> + </template> </el-table-column> <el-table-column prop="address" @@ -176,7 +208,7 @@ </el-table-column> <el-table-column prop="settleNo" - label="结算编号"> + label="结算编号" width="150"> </el-table-column> <el-table-column prop="settleTime" @@ -186,12 +218,7 @@ prop="settler" label="结算人"> </el-table-column> - <el-table-column label="操作" width="240"> - <template slot-scope="scope"> - <el-row style="display:flex;"> - <el-button type="primary" size="mini" @click="openExaminesaleMan(scope.row)">查看订单</el-button> - </el-row> - </template> + <el-table-column label="操作"> </el-table-column> </el-table> </el-row> @@ -212,6 +239,17 @@ <el-row style="display:flex;align-items: center;text-align: right;"> <el-col> <el-form ref="formOrder" :model="formOrder" inline > + <el-form-item prop="jssj" > + <el-date-picker + v-model="formOrder.jssj" + type="datetimerange" + :picker-options="pickerOptions" + range-separator="至" + start-placeholder="开始日期" + end-placeholder="结束日期" + align="right"> + </el-date-picker> + </el-form-item> <el-form-item prop="userName"> <el-input v-model="formOrder.userName" placeholder="请输入结算人姓名"></el-input> </el-form-item> @@ -295,11 +333,38 @@ data: { activeName: 'first', height:'calc(100vh - 240px)', - //基本数据 + //--基本数据 basicdetail:{}, + //--时间选择 + pickerOptions: { + shortcuts: [{ + text: '最近一周', + onClick(picker) { + const end = new Date(); + const start = new Date(); + start.setTime(start.getTime() - 3600 * 1000 * 24 * 7); + picker.$emit('pick', [start, end]); + } + }, { + text: '最近一个月', + onClick(picker) { + const end = new Date(); + const start = new Date(); + start.setTime(start.getTime() - 3600 * 1000 * 24 * 30); + picker.$emit('pick', [start, end]); + } + }, { + text: '最近三个月', + onClick(picker) { + const end = new Date(); + const start = new Date(); + start.setTime(start.getTime() - 3600 * 1000 * 24 * 90); + picker.$emit('pick', [start, end]); + } + }] + }, - - //选中操作 + //--批量审核选中操作 multipleSelection: [], orderIds:"", orderNums:0, @@ -321,9 +386,26 @@ {value:2,label:'已结算'}, {value:3,label:'已退款'} ], + ddTypeList:[ + {value:'',label:'全部'}, + {value:1,label:'待付款'}, + {value:2,label:'待配送'}, + {value:3,label:'待收货'}, + {value:4,label:'待评价'}, + {value:5,label:'已评价'}, + {value:6,label:'申请退款'}, + {value:7,label:'退款成功'}, + {value:8,label:'退款拒绝'}, + {value:9,label:'已取消'} + ], form:{ userName:'', orderType:'', + ddType:'', + ddsj: '', + tgy:'', + jsbh:'', + ddh:'', order:'', sort:'' }, @@ -336,6 +418,7 @@ //--结算记录 formOrder:{ userName:'', + jssj:'', order:'', sort:'' }, @@ -357,6 +440,7 @@ let _this = this; _this.loadFenxiaoOrderBasic(); _this.loadFenxiaoOrderList(); + _this.loadSetOrderList(); }, //--基础数据 loadFenxiaoOrderBasic() { @@ -390,8 +474,16 @@ //查询参数 getRequestParamOrder(){ let _this = this; + let startTime = ''; + let endTime = ''; + if(_this.formOrder.jssj.length > 0){ + startTime = _this.formOrder.jssj[0]; + endTime = _this.formOrder.jssj[1]; + } return { userName:_this.formOrder.userName, + startTime:startTime, + endTime:endTime, order:_this.formOrder.order, sort:_this.formOrder.sort, } @@ -432,8 +524,21 @@ //查询参数 getRequestParam(){ let _this = this; + let startTime = ''; + let endTime = ''; + if(_this.form.ddsj.length > 0){ + startTime = _this.form.ddsj[0]; + endTime = _this.form.ddsj[1]; + } return { + orderType:_this.form.orderType, + ddType:_this.form.ddType, + tgy:_this.form.tgy, userName:_this.form.userName, + jsbh:_this.form.jsbh, + startTime:startTime, + endTime:endTime, + ddh:_this.form.ddh, order:_this.form.order, sort:_this.form.sort, } @@ -480,8 +585,8 @@ for (let i = 0; i < _this.multipleSelection.length; i++) { let order = _this.multipleSelection[i]; //待审核的计算到弹出框 - let ordersetType = order.settleType; - if(ordersetType == 1){ + let orderState = order.orderState; + if(orderState == 4 || orderState == 5){ let orderId = order.id; name.push(order.customUserId); orderNum = orderNum + 1; @@ -519,7 +624,7 @@ setOrderDone() { if(this.orderNumsDones > 0){ this.$message({ - message: '请取消已经结算的订单', + message: '订单状态【待评价】和【已评价】才允许结算', type: 'warning' }); }else if(this.orderNums > 0){ @@ -535,6 +640,11 @@ let _this = this; let obj = { orderIds: _this.orderIds, + setType: _this.formSelect.jsfs, + manCount: _this.formSelect.jsrs, + orderCount: _this.formSelect.jsdds, + amount: _this.formSelect.jsje, + remark: _this.formSelect.bz, } AjaxProxy.requst({ app: _this, @@ -543,6 +653,7 @@ callback: function (data) { _this.$message.success(data.info); _this.loadFenxiaoOrderList(); + _this.dialogFormVisible = false; } }); }, diff --git a/zq-erp/src/main/resources/templates/views/admin/fenxiao/fenxiao-user.html b/zq-erp/src/main/resources/templates/views/admin/fenxiao/fenxiao-user.html index 80c154c..5ced92d 100644 --- a/zq-erp/src/main/resources/templates/views/admin/fenxiao/fenxiao-user.html +++ b/zq-erp/src/main/resources/templates/views/admin/fenxiao/fenxiao-user.html @@ -574,11 +574,11 @@ } }, changePageSize(val) { - this.table.pageSize = val; + this.fxyList.pageSize = val; this.loadParamSetting(); }, changeCurrentPage(val) { - this.table.currentPage = val; + this.fxyList.currentPage = val; this.loadParamSetting(); }, //时间格式化 -- Gitblit v1.9.1