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/dto/UpdateSetOrderDoneDto.java | 32
zq-erp/src/main/java/com/matrix/system/fenxiao/dao/ShopRevenueFlowDao.java | 6
zq-erp/src/main/resources/templates/views/admin/fenxiao/fenxiao-setting.html | 54 +
zq-erp/src/main/java/com/matrix/system/fenxiao/dto/LoadFenxiaoOrderListDto.java | 41 +
zq-erp/src/main/resources/mybatis/mapper/fenxiao/ShopSalesmanOrderDao.xml | 107 ++
zq-erp/src/main/java/com/matrix/system/fenxiao/action/FenXiaoUserAction.java | 4
zq-erp/src/main/resources/config/xcx/system.properties | 4
zq-erp/src/main/java/com/matrix/system/shopXcx/api/dto/RevenueFlowDto.java | 26
zq-erp/src/main/resources/config/prd/system.properties | 4
zq-erp/src/main/java/com/matrix/system/fenxiao/constant/FenxiaoSettingConstant.java | 16
zq-erp/src/main/java/com/matrix/system/fenxiao/action/FenXiaoOrderAction.java | 94 ++
zq-erp/src/main/java/com/matrix/system/fenxiao/service/ShopSalesmanApplyService.java | 185 +++--
zq-erp/src/main/java/com/matrix/core/tools/StringUtils.java | 17
zq-erp/src/main/java/com/matrix/system/shopXcx/dao/ShopOrderDao.java | 2
zq-erp/src/main/resources/config/system.properties | 4
zq-erp/src/main/resources/templates/views/admin/fenxiao/fenxiao-order.html | 665 +++++++++++++++++
zq-erp/src/main/java/com/matrix/system/fenxiao/dto/LoadFenxiaoOrderBasicDto.java | 14
zq-erp/src/main/java/com/matrix/system/shopXcx/vo/SalesmanCenterInfo.java | 6
zq-erp/src/main/java/com/matrix/system/fenxiao/action/FenXiaoSettingAction.java | 25
zq-erp/src/main/java/com/matrix/system/fenxiao/dao/ShopSalesmanOrderDao.java | 13
zq-erp/src/main/java/com/matrix/system/fenxiao/vo/LoadSetOrderListDtoVo.java | 35
zq-erp/src/main/java/com/matrix/system/fenxiao/vo/LoadFenxiaoOrderBasicVo.java | 20
zq-erp/src/main/java/com/matrix/system/shopXcx/api/action/WxSalesProductAction.java | 7
zq-erp/src/main/java/com/matrix/biz/action/BizUserAction.java | 15
zq-erp/src/main/java/com/matrix/core/pojo/VerificationResult.java | 47 +
zq-erp/src/main/resources/mybatis/mapper/xcxShop/ShopOrderV2Dao.xml | 24
zq-erp/src/main/java/com/matrix/system/fenxiao/vo/LoadFenxiaoOrderListVo.java | 45 +
zq-erp/src/main/java/com/matrix/component/wechat/externalInterface/weixinUtil/WeixinServiceUtil.java | 1
zq-erp/src/main/resources/templates/views/admin/shop/shopUser-list.html | 60 -
zq-erp/src/main/java/com/matrix/system/shopXcx/api/action/WxUserAction.java | 40
zq-erp/src/main/resources/config/application.properties | 2
zq-erp/src/main/java/com/matrix/system/hive/service/imp/CodeServiceImpl.java | 24
zq-erp/src/main/java/com/matrix/system/fenxiao/dto/LoadSetOrderListDtoDto.java | 27
zq-erp/src/main/resources/templates/views/admin/fenxiao/fenxiao-user.html | 6
zq-erp/src/main/java/com/matrix/system/shopXcx/api/dto/WithdrawalCashDto.java | 20
zq-erp/src/main/java/com/matrix/system/fenxiao/entity/ShopRevenueFlow.java | 22
zq-erp/src/main/java/com/matrix/system/shopXcx/dao/ShopOrderV2Dao.java | 19
zq-erp/src/main/resources/config/test/system.properties | 4
zq-erp/src/main/java/com/matrix/system/shopXcx/api/action/WxSalesmanAction.java | 28
zq-erp/src/main/resources/config/dev/system.properties | 4
zq-erp/src/main/java/com/matrix/system/fenxiao/dto/FyfaManageDto.java | 6
zq-erp/src/main/java/com/matrix/system/shopXcx/mqTask/SalesOrderTask.java | 4
zq-erp/src/main/java/com/matrix/system/fenxiao/entity/ShopSalemanSettlement.java | 13
zq-erp/src/main/java/com/matrix/system/shopXcx/api/action/WxSalesWithdrawalAction.java | 127 +++
zq-erp/src/test/java/com/matrix/JyyTests.java | 47 +
zq-erp/src/main/java/com/matrix/system/fenxiao/service/ShopSalesmanOrderService.java | 165 ++++
zq-erp/src/main/resources/mybatis/mapper/fenxiao/ShopRevenueFlowDao.xml | 14
zq-erp/src/main/java/com/matrix/system/hive/service/CodeService.java | 9
zq-erp/src/main/resources/mybatis/mapper/fenxiao/ShopSalesmanApplyDao.xml | 24
49 files changed, 1,908 insertions(+), 270 deletions(-)
diff --git a/zq-erp/src/main/java/com/matrix/biz/action/BizUserAction.java b/zq-erp/src/main/java/com/matrix/biz/action/BizUserAction.java
index daa4513..5b07806 100644
--- a/zq-erp/src/main/java/com/matrix/biz/action/BizUserAction.java
+++ b/zq-erp/src/main/java/com/matrix/biz/action/BizUserAction.java
@@ -5,7 +5,6 @@
import com.matrix.biz.dao.BizUserDao;
import com.matrix.core.pojo.AjaxResult;
import com.matrix.core.pojo.PaginationVO;
-import com.matrix.core.tools.StringUtils;
import com.matrix.system.hive.action.util.QueryUtil;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
@@ -44,18 +43,6 @@
}
- /**
- * 批量设置为销售员
- * @param ids
- * @param status 1=销售员,0=普通用户
- * @return
- */
- @RequestMapping(value = "/setUserSales")
- @ResponseBody
- public AjaxResult setUserSales(String ids,Integer status){
- List<String> userIds = StringUtils.strToCollToString(ids, ",");
- bizUserDao.updateSalesByIds(userIds,status);
- return new AjaxResult(AjaxResult.STATUS_SUCCESS,"修改成功");
- }
+
}
diff --git a/zq-erp/src/main/java/com/matrix/component/wechat/externalInterface/weixinUtil/WeixinServiceUtil.java b/zq-erp/src/main/java/com/matrix/component/wechat/externalInterface/weixinUtil/WeixinServiceUtil.java
index 5af497a..32ab3bb 100644
--- a/zq-erp/src/main/java/com/matrix/component/wechat/externalInterface/weixinUtil/WeixinServiceUtil.java
+++ b/zq-erp/src/main/java/com/matrix/component/wechat/externalInterface/weixinUtil/WeixinServiceUtil.java
@@ -144,7 +144,6 @@
*/
public JsApiPayComResData comPay(String desc, String outTradeNo,int totalFee, String openid,Long companyId){
JsApiPayComResData result=null;
- //boolean flag=false;
try {
JsApiPayBusiness jsApiPayBusiness = new JsApiPayBusiness();
// TODO 企业付款
diff --git a/zq-erp/src/main/java/com/matrix/core/pojo/VerificationResult.java b/zq-erp/src/main/java/com/matrix/core/pojo/VerificationResult.java
new file mode 100644
index 0000000..d4bb932
--- /dev/null
+++ b/zq-erp/src/main/java/com/matrix/core/pojo/VerificationResult.java
@@ -0,0 +1,47 @@
+package com.matrix.core.pojo;
+
+import lombok.Data;
+
+/**
+ * 通用的验证返回参数
+ */
+@Data
+public class VerificationResult {
+
+ private boolean judgeResult;
+
+ private String msg;
+
+ private Object info;
+
+ private VerificationResult(){
+
+ }
+
+ public static VerificationResult buildVerificationResult(boolean judgeResult){
+ VerificationResult obj=new VerificationResult();
+ obj.judgeResult =judgeResult;
+ return obj ;
+ }
+
+
+ public static VerificationResult buildVerificationResult(boolean judgeResult,String msg){
+ VerificationResult obj=new VerificationResult();
+ obj.judgeResult =judgeResult;
+ obj.msg=msg;
+ return obj ;
+ }
+
+
+ public static VerificationResult buildVerificationResult(boolean judgeResult,Object info){
+ VerificationResult obj=new VerificationResult();
+ obj.judgeResult =judgeResult;
+ obj.info=info;
+ return obj ;
+ }
+
+
+
+
+
+}
diff --git a/zq-erp/src/main/java/com/matrix/core/tools/StringUtils.java b/zq-erp/src/main/java/com/matrix/core/tools/StringUtils.java
index c2fbc63..60ff28d 100644
--- a/zq-erp/src/main/java/com/matrix/core/tools/StringUtils.java
+++ b/zq-erp/src/main/java/com/matrix/core/tools/StringUtils.java
@@ -1,15 +1,5 @@
package com.matrix.core.tools;
-import java.io.UnsupportedEncodingException;
-import java.util.ArrayList;
-import java.util.Collection;
-import java.util.Iterator;
-import java.util.List;
-import java.util.Random;
-import java.util.UUID;
-import java.util.regex.Matcher;
-import java.util.regex.Pattern;
-
import com.matrix.core.exception.GlobleException;
import net.sourceforge.pinyin4j.PinyinHelper;
import net.sourceforge.pinyin4j.format.HanyuPinyinCaseType;
@@ -18,6 +8,11 @@
import net.sourceforge.pinyin4j.format.HanyuPinyinVCharType;
import net.sourceforge.pinyin4j.format.exception.BadHanyuPinyinOutputFormatCombination;
import org.apache.commons.collections.CollectionUtils;
+
+import java.io.UnsupportedEncodingException;
+import java.util.*;
+import java.util.regex.Matcher;
+import java.util.regex.Pattern;
/**
* 字符串操作类,转换数据类型,切割字符串,对象比较等操作
@@ -404,6 +399,8 @@
return sb.toString();
}
+
+
/**
* 用逗号分开的存的id是否包含对应的id 如比较 123,123,124 中是否包含12这个主键 比对的方法是 字符串中是否包含"^12$"
* "^12,.*" 或者 ".+,12$" 或者 ".+,12,$" 或者 ".+,12,.+" 字符串
diff --git a/zq-erp/src/main/java/com/matrix/system/fenxiao/action/FenXiaoOrderAction.java b/zq-erp/src/main/java/com/matrix/system/fenxiao/action/FenXiaoOrderAction.java
new file mode 100644
index 0000000..46cdaf9
--- /dev/null
+++ b/zq-erp/src/main/java/com/matrix/system/fenxiao/action/FenXiaoOrderAction.java
@@ -0,0 +1,94 @@
+package com.matrix.system.fenxiao.action;
+
+import com.matrix.core.pojo.AjaxResult;
+import com.matrix.system.fenxiao.dto.ChangeSaleManGradeDto;
+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.service.ShopSalesmanOrderService;
+import com.matrix.system.fenxiao.vo.LoadFenxiaoOrderBasicVo;
+import com.matrix.system.fenxiao.vo.LoadFenxiaoOrderListVo;
+import com.matrix.system.fenxiao.vo.LoadSetOrderListDtoVo;
+
+import io.swagger.annotations.ApiOperation;
+import io.swagger.annotations.ApiResponse;
+import io.swagger.annotations.ApiResponses;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.*;
+
+@RestController
+@RequestMapping(value = "/fenXiao/fenXiaoOrder")
+public class FenXiaoOrderAction {
+
+ @Autowired
+ private ShopSalesmanOrderService shopSalesmanOrderService;
+
+ /**
+ * 分销订单基本信息
+ */
+ @ApiOperation(value = "分销订单基本信息")
+ @ApiResponses({
+ @ApiResponse(code = 200, message = "OK", response = LoadFenxiaoOrderBasicVo.class)
+ })
+ @PostMapping(value = "/loadFenxiaoOrderBasic")
+ public @ResponseBody
+ AjaxResult loadFenxiaoOrderBasic(@RequestBody LoadFenxiaoOrderBasicDto loadFenxiaoOrderBasicDto) {
+ return shopSalesmanOrderService.loadFenxiaoOrderBasic(loadFenxiaoOrderBasicDto);
+ }
+
+ /**
+ * 分销订单
+ */
+ @ApiOperation(value = "分销订单")
+ @ApiResponses({
+ @ApiResponse(code = 200, message = "OK", response = LoadFenxiaoOrderListVo.class)
+ })
+ @PostMapping(value = "/loadFenxiaoOrderList")
+ public @ResponseBody
+ AjaxResult loadFenxiaoOrderList(@RequestBody LoadFenxiaoOrderListDto loadFenxiaoOrderListDto) {
+ return shopSalesmanOrderService.loadFenxiaoOrderList(loadFenxiaoOrderListDto);
+ }
+
+ /**
+ *批量结算分销订单
+ */
+ @ApiOperation(value = "批量结算分销订单")
+ @PostMapping(value = "/updateSetOrderDone")
+ public @ResponseBody
+ AjaxResult updateSetOrderDone(@RequestBody UpdateSetOrderDoneDto updateSetOrderDoneDto) {
+ return shopSalesmanOrderService.updateSetOrderDone(updateSetOrderDoneDto);
+ }
+
+ /**
+ * 结算记录
+ */
+ @ApiOperation(value = "分销订单")
+ @ApiResponses({
+ @ApiResponse(code = 200, message = "OK", response = LoadSetOrderListDtoVo.class)
+ })
+ @PostMapping(value = "/loadSetOrderList")
+ public @ResponseBody
+ AjaxResult loadSetOrderList(@RequestBody LoadSetOrderListDtoDto loadSetOrderListDto) {
+ return shopSalesmanOrderService.loadSetOrderList(loadSetOrderListDto);
+ }
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+}
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 3ab2680..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")
@@ -83,7 +75,8 @@
result.putInMap("sqtj", sqtjRuleSettingsVo);
if(CollUtil.isNotEmpty(sqtjRuleSettingsVo)){
for(FenXiaoSettingVo fenXiaoSettingVo : sqtjRuleSettingsVo) {
- if("3".equals(fenXiaoSettingVo.getParamValue())) {
+ //选择申请条件条件3时,获得选中产品集合
+ 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/constant/FenxiaoSettingConstant.java b/zq-erp/src/main/java/com/matrix/system/fenxiao/constant/FenxiaoSettingConstant.java
index 194c31b..4faf796 100644
--- a/zq-erp/src/main/java/com/matrix/system/fenxiao/constant/FenxiaoSettingConstant.java
+++ b/zq-erp/src/main/java/com/matrix/system/fenxiao/constant/FenxiaoSettingConstant.java
@@ -22,6 +22,22 @@
*/
public final static String FX_APPLY_CONDITION = "FX_APPLY_CONDITION";
/**
+ * 申请条件 1 无条件
+ */
+ public final static String FX_APPLY_CONDITION_WTJ = "1";
+ /**
+ * 申请条件 1 消费任意产品
+ */
+ public final static String FX_APPLY_CONDITION_XFRYCP = "2";
+ /**
+ * 申请条件 1 消费指定产品
+ */
+ public final static String FX_APPLY_CONDITION_XFZDCP = "3";
+ /**
+ * 申请条件 1 消费指定金额
+ */
+ public final static String FX_APPLY_CONDITION_XCZDJE = "4";
+ /**
* 推广计划
*/
public final static String FX_TG_PLAN = "FX_TG_PLAN";
diff --git a/zq-erp/src/main/java/com/matrix/system/fenxiao/dao/ShopRevenueFlowDao.java b/zq-erp/src/main/java/com/matrix/system/fenxiao/dao/ShopRevenueFlowDao.java
index b01b42f..e4b1d83 100644
--- a/zq-erp/src/main/java/com/matrix/system/fenxiao/dao/ShopRevenueFlowDao.java
+++ b/zq-erp/src/main/java/com/matrix/system/fenxiao/dao/ShopRevenueFlowDao.java
@@ -1,7 +1,12 @@
package com.matrix.system.fenxiao.dao;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.baomidou.mybatisplus.core.metadata.IPage;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.matrix.system.fenxiao.entity.ShopRevenueFlow;
+import com.matrix.system.shopXcx.api.dto.RevenueFlowDto;
+import com.matrix.system.shopXcx.vo.SalesOrderVo;
+import org.apache.ibatis.annotations.Param;
/**
* @description 收益流水
@@ -10,4 +15,5 @@
*/
public interface ShopRevenueFlowDao extends BaseMapper<ShopRevenueFlow> {
+ IPage<SalesOrderVo> selectRevenuFlowList(Page<SalesOrderVo> page, @Param("record") RevenueFlowDto revenueFlowDto);
}
\ No newline at end of file
diff --git a/zq-erp/src/main/java/com/matrix/system/fenxiao/dao/ShopSalesmanOrderDao.java b/zq-erp/src/main/java/com/matrix/system/fenxiao/dao/ShopSalesmanOrderDao.java
index ac3d1f6..9d64d7a 100644
--- a/zq-erp/src/main/java/com/matrix/system/fenxiao/dao/ShopSalesmanOrderDao.java
+++ b/zq-erp/src/main/java/com/matrix/system/fenxiao/dao/ShopSalesmanOrderDao.java
@@ -3,7 +3,12 @@
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.matrix.system.fenxiao.dto.LoadFenxiaoOrderListDto;
+import com.matrix.system.fenxiao.dto.LoadSetOrderListDtoDto;
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.shopXcx.api.dto.SaleOrderDto;
import com.matrix.system.shopXcx.vo.SalesOrderVo;
import org.apache.ibatis.annotations.Param;
@@ -23,4 +28,12 @@
*/
IPage<SalesOrderVo> selectSalesManOrder(Page<SalesOrderVo> page, @Param("record")SaleOrderDto saleOrderDto);
+ LoadFenxiaoOrderBasicVo selectFenxiaoOrderBasicByCompanyId(@Param("companyId")Long companyId);
+
+ IPage<LoadFenxiaoOrderListVo> findFenxiaoOrderList(Page<LoadFenxiaoOrderListVo> page,
+ @Param("record")LoadFenxiaoOrderListDto loadFenxiaoOrderListDto);
+
+ IPage<LoadSetOrderListDtoVo> findSetOrderList(Page<LoadSetOrderListDtoVo> page,
+ @Param("record")LoadSetOrderListDtoDto loadSetOrderListDto);
+
}
\ No newline at end of file
diff --git a/zq-erp/src/main/java/com/matrix/system/fenxiao/dto/FyfaManageDto.java b/zq-erp/src/main/java/com/matrix/system/fenxiao/dto/FyfaManageDto.java
index 4966537..36a5df2 100644
--- a/zq-erp/src/main/java/com/matrix/system/fenxiao/dto/FyfaManageDto.java
+++ b/zq-erp/src/main/java/com/matrix/system/fenxiao/dto/FyfaManageDto.java
@@ -12,5 +12,11 @@
@ApiModelProperty(hidden = true)
private Long companyId;
+
+ @ApiModelProperty(value ="会员OPENID")
+ private String userId;
+
+ @ApiModelProperty(value ="申请记录ID")
+ private Long applyId;
}
diff --git a/zq-erp/src/main/java/com/matrix/system/fenxiao/dto/LoadFenxiaoOrderBasicDto.java b/zq-erp/src/main/java/com/matrix/system/fenxiao/dto/LoadFenxiaoOrderBasicDto.java
new file mode 100644
index 0000000..80a80fd
--- /dev/null
+++ b/zq-erp/src/main/java/com/matrix/system/fenxiao/dto/LoadFenxiaoOrderBasicDto.java
@@ -0,0 +1,14 @@
+package com.matrix.system.fenxiao.dto;
+
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+@Data
+@ApiModel(value = "LoadFenxiaoOrderBasicDto", description = "查询参数")
+public class LoadFenxiaoOrderBasicDto {
+
+ @ApiModelProperty(hidden = true)
+ private Long companyId;
+
+}
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
new file mode 100644
index 0000000..006e414
--- /dev/null
+++ b/zq-erp/src/main/java/com/matrix/system/fenxiao/dto/LoadFenxiaoOrderListDto.java
@@ -0,0 +1,41 @@
+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 = "查询参数")
+public class LoadFenxiaoOrderListDto extends BasePageQueryDto {
+
+ @ApiModelProperty(hidden = true)
+ private Long companyId;
+
+ @ApiModelProperty(value ="订单状态")
+ private Integer ddType;
+
+ @ApiModelProperty(value ="结算状态")
+ private Integer orderType;
+
+ @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
new file mode 100644
index 0000000..b23b183
--- /dev/null
+++ b/zq-erp/src/main/java/com/matrix/system/fenxiao/dto/LoadSetOrderListDtoDto.java
@@ -0,0 +1,27 @@
+package com.matrix.system.fenxiao.dto;
+
+import java.util.Date;
+
+import com.matrix.core.pojo.BasePageQueryDto;
+
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+@Data
+@ApiModel(value = "LoadSetOrderListDtoDto", description = "查询参数")
+public class LoadSetOrderListDtoDto extends BasePageQueryDto {
+
+ @ApiModelProperty(hidden = true)
+ private Long companyId;
+
+ @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
new file mode 100644
index 0000000..dd4c723
--- /dev/null
+++ b/zq-erp/src/main/java/com/matrix/system/fenxiao/dto/UpdateSetOrderDoneDto.java
@@ -0,0 +1,32 @@
+package com.matrix.system.fenxiao.dto;
+
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+@Data
+@ApiModel(value = "UpdateSetOrderDoneDto", description = "查询参数")
+public class UpdateSetOrderDoneDto {
+
+ @ApiModelProperty(hidden = true)
+ private Long companyId;
+
+ @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 68a0b7d..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
@@ -3,6 +3,7 @@
import com.baomidou.mybatisplus.annotation.TableName;
import com.matrix.core.anotations.Extend;
import com.matrix.system.score.entity.BaseEntity;
+import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
/**
@@ -16,43 +17,50 @@
@Extend
private static final long serialVersionUID = 1L;
-
+ /**
+ * 推广收益类型 推广收益
+ */
+ public static final String TYPE_TGSY = "推广收益";
+ /**
+ * 推广收益类型 邀请收益
+ */
+
+ public static final String TYPE_YQSY = "邀请收益";
/**
* 用户id
*/
-
-
+ @ApiModelProperty(hidden = true)
private String userId;
/**
* 收益说明
*/
-
+ @ApiModelProperty(value = "收益说明")
private String revenueContent;
/**
* 收益金额
*/
-
+ @ApiModelProperty(value = "收益金额")
private Double amount;
/**
* 原始订单ID
*/
-
+ @ApiModelProperty(value = "原始订单ID")
private Long businessId;
/**
* 公司ID
*/
-
+ @ApiModelProperty(hidden = true)
private Long companyId;
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 e13c1cc..9cf5e16 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
@@ -1,6 +1,7 @@
package com.matrix.system.fenxiao.service;
-import com.baomidou.mybatisplus.core.conditions.Wrapper;
+import cn.hutool.core.util.ObjectUtil;
+import cn.hutool.core.util.StrUtil;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
@@ -8,8 +9,10 @@
import com.matrix.biz.bean.BizUser;
import com.matrix.biz.dao.BizUserDao;
import com.matrix.biz.service.BizUserService;
+import com.matrix.core.constance.MatrixConstance;
import com.matrix.core.exception.GlobleException;
import com.matrix.core.pojo.AjaxResult;
+import com.matrix.core.pojo.VerificationResult;
import com.matrix.core.tools.StringUtils;
import com.matrix.system.common.bean.BusParameterSettings;
import com.matrix.system.common.bean.SysUsers;
@@ -17,31 +20,12 @@
import com.matrix.system.fenxiao.constant.FenxiaoSettingConstant;
import com.matrix.system.fenxiao.dao.ShopSalesmanApplyDao;
import com.matrix.system.fenxiao.dao.ShopSalesmanGradeDao;
-import com.matrix.system.fenxiao.dto.ChangeSaleManGradeDto;
-import com.matrix.system.fenxiao.dto.DelFyfaApplyDto;
-import com.matrix.system.fenxiao.dto.DelSaleManGradeApplyDto;
-import com.matrix.system.fenxiao.dto.FyfaManageDto;
-import com.matrix.system.fenxiao.dto.ShopSalesmanAppliingDto;
-import com.matrix.system.fenxiao.dto.ShopSalesmanApplyDto;
-import com.matrix.system.fenxiao.dto.ShopSalesmanDetailDto;
-import com.matrix.system.fenxiao.dto.UnbundlingSaleManDto;
-import com.matrix.system.fenxiao.dto.UpdateFyfaDto;
-import com.matrix.system.fenxiao.dto.UpdateTgjhDto;
-import com.matrix.system.fenxiao.dto.UpdateTgtpDto;
+import com.matrix.system.fenxiao.dto.*;
import com.matrix.system.fenxiao.entity.ShopSalesmanApply;
import com.matrix.system.fenxiao.entity.ShopSalesmanGrade;
-import com.matrix.system.fenxiao.vo.FyfaManageVo;
-import com.matrix.system.fenxiao.vo.SalesmanBasicDetailVo;
-import com.matrix.system.fenxiao.vo.ShopCustomDetailVo;
-import com.matrix.system.fenxiao.vo.ShopOrderDetailVo;
-import com.matrix.system.fenxiao.vo.ShopSalesmanAppliingVo;
-import com.matrix.system.fenxiao.vo.ShopSalesmanApplyVo;
-import com.matrix.system.fenxiao.vo.ShopSalesmanGradeVo;
+import com.matrix.system.fenxiao.vo.*;
import com.matrix.system.hive.action.util.QueryUtil;
-
-import cn.hutool.core.util.ObjectUtil;
-import cn.hutool.core.util.StrUtil;
-
+import com.matrix.system.shopXcx.dao.ShopOrderV2Dao;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
@@ -74,6 +58,9 @@
@Autowired
BizUserService bizUserService;
+ @Autowired
+ ShopOrderV2Dao shopOrderV2Dao;
+
/**
* 申请成为推广员
* @param openId
@@ -83,61 +70,111 @@
public ShopSalesmanApply applyToBeAnSalesman(String openId,String gradeId,String invitationId,int applyWay) {
BizUser loginUser=bizUserDao.findByOpenId(openId);
- //校验审核状态,和是否重复发起
- QueryWrapper<ShopSalesmanApply> queryWrapper = new QueryWrapper<>();
- queryWrapper.eq("user_id",loginUser.getOpenId());
- queryWrapper.in("apply_status",Arrays.asList("1,2".split(",")));
- ShopSalesmanApply checkApply = shopSalesmanApplyDao.selectOne(queryWrapper);
- if(checkApply==null||
- checkApply.getApplyStatus()==ShopSalesmanApply.APPLY_STATUS_WTG){
+ //验证申请条件
+ VerificationResult verificationResult = isAbleToBeAnSalesman(openId);
+ if(verificationResult.isJudgeResult()){
+ //校验审核状态,和是否重复发起
+ QueryWrapper<ShopSalesmanApply> queryWrapper = new QueryWrapper<>();
+ queryWrapper.eq("user_id",loginUser.getOpenId());
+ queryWrapper.in("apply_status",Arrays.asList("1,2".split(",")));
+ ShopSalesmanApply checkApply = shopSalesmanApplyDao.selectOne(queryWrapper);
+ if(checkApply==null||
+ checkApply.getApplyStatus()==ShopSalesmanApply.APPLY_STATUS_WTG){
- ShopSalesmanApply shopSalesmanApply=new ShopSalesmanApply();
- shopSalesmanApply.setUserId(openId);
-
- shopSalesmanApply.setCreateBy(loginUser.getNickName());
- shopSalesmanApply.setApplyWay(ShopSalesmanApply.APPLY_WAY_SELF);
+ ShopSalesmanApply shopSalesmanApply=new ShopSalesmanApply();
+ shopSalesmanApply.setUserId(openId);
- shopSalesmanApply.setCompanyId(loginUser.getCompanyId());
- shopSalesmanApply.setUpdateBy(loginUser.getNickName());
- Date date = new Date();
- shopSalesmanApply.setCreateTime(date);
- shopSalesmanApply.setUpdateTime(date);
+ shopSalesmanApply.setCreateBy(MatrixConstance.SYSTEM_USER);
+ shopSalesmanApply.setApplyWay(ShopSalesmanApply.APPLY_WAY_SELF);
- if(StringUtils.isNotBlank(invitationId)){
- shopSalesmanApply.setParentUserId(invitationId);
- }else if(StringUtils.isNotBlank(loginUser.getParentOpenId())){
- //如果曾经是被邀请进来的则自动绑定为之前邀请人的下级
- shopSalesmanApply.setParentUserId(loginUser.getParentOpenId());
- }
- if(StringUtils.isNotBlank(gradeId)){
- shopSalesmanApply.setGradeId(Long.parseLong(gradeId));
+ shopSalesmanApply.setCompanyId(loginUser.getCompanyId());
+ shopSalesmanApply.setUpdateBy(MatrixConstance.SYSTEM_USER);
+ Date date = new Date();
+ shopSalesmanApply.setCreateTime(date);
+ shopSalesmanApply.setUpdateTime(date);
+
+ if(StringUtils.isNotBlank(invitationId)){
+ shopSalesmanApply.setParentUserId(invitationId);
+ }else if(StringUtils.isNotBlank(loginUser.getParentOpenId())){
+ //如果曾经是被邀请进来的则自动绑定为之前邀请人的下级
+ shopSalesmanApply.setParentUserId(loginUser.getParentOpenId());
+ }
+ if(StringUtils.isNotBlank(gradeId)){
+ shopSalesmanApply.setGradeId(Long.parseLong(gradeId));
+ }else{
+ //获取初始等级ID(公司id,是否为初始等级)
+ 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());
+ }
+ shopSalesmanApply.setApplyWay(applyWay);
+
+ BusParameterSettings busParameterSettings = busParameterSettingsDao.selectCompanyParamByCode(FenxiaoSettingConstant.FX_AUDIT_METHOD, loginUser.getCompanyId());
+ if(busParameterSettings!=null
+ &&busParameterSettings.getParamValue().equals("1")){
+ //自动审核
+ shopSalesmanApply.setApplyStatus(ShopSalesmanApply.APPLY_STATUS_TG);
+ bizUserService.setToBeAnSalesman(loginUser.getOpenId(),invitationId);
+
+ }else{
+ shopSalesmanApply.setApplyStatus(ShopSalesmanApply.APPLY_STATUS_DSH);
+ }
+ shopSalesmanApplyDao.insert(shopSalesmanApply);
+ return shopSalesmanApply;
}else{
- //获取初始等级ID(公司id,是否为初始等级)
- Wrapper<ShopSalesmanGrade> queryWrapperOrepool = new QueryWrapper<>();
- ((QueryWrapper<ShopSalesmanGrade>) queryWrapperOrepool).eq("company_id", loginUser.getCompanyId());
- ((QueryWrapper<ShopSalesmanGrade>) queryWrapperOrepool).eq("is_default", 1);
- ShopSalesmanGrade shopSalesmanGrade = shopSalesmanGradeDao.selectOne(queryWrapperOrepool);
- shopSalesmanApply.setGradeId(shopSalesmanGrade.getId());
+ throw new GlobleException("不能重复申请");
}
- shopSalesmanApply.setApplyWay(applyWay);
-
- BusParameterSettings busParameterSettings = busParameterSettingsDao.selectCompanyParamByCode(FenxiaoSettingConstant.FX_AUDIT_METHOD, loginUser.getCompanyId());
- if(busParameterSettings!=null
- &&busParameterSettings.getParamValue().equals("1")){
- //自动审核
- shopSalesmanApply.setApplyStatus(ShopSalesmanApply.APPLY_STATUS_TG);
- bizUserService.setToBeAnSalesman(loginUser.getOpenId(),invitationId);
-
- }else{
- shopSalesmanApply.setApplyStatus(ShopSalesmanApply.APPLY_STATUS_DSH);
- }
- shopSalesmanApplyDao.insert(shopSalesmanApply);
- return shopSalesmanApply;
}else{
- throw new GlobleException("不能重复申请");
+ throw new GlobleException(verificationResult.getMsg());
}
-
}
+
+
+ /**
+ * 判断是否满足申请成为分销员的条件
+ */
+ public VerificationResult isAbleToBeAnSalesman(String openId) {
+ BizUser bizUser = bizUserDao.findByOpenId(openId);
+ VerificationResult verificationResult=null;
+ //申请条件
+ BusParameterSettings applyCondition = busParameterSettingsDao.selectCompanyParamByCode(FenxiaoSettingConstant.FX_APPLY_CONDITION, bizUser.getCompanyId());
+ switch (applyCondition.getParamValue()){
+ case FenxiaoSettingConstant.FX_APPLY_CONDITION_WTJ:
+ VerificationResult.buildVerificationResult(true);
+ case FenxiaoSettingConstant.FX_APPLY_CONDITION_XFZDCP:
+ VerificationResult.buildVerificationResult(true);
+ int buyZdcpCount= shopOrderV2Dao.countBuyZdcp(openId,applyCondition.getParamValue1());
+ if(buyZdcpCount>0){
+ verificationResult= VerificationResult.buildVerificationResult(true);
+ }else{
+ verificationResult= VerificationResult.buildVerificationResult(false,"不符合申请条件,请消费指定产品后再申请!");
+ }
+
+ case FenxiaoSettingConstant.FX_APPLY_CONDITION_XFRYCP:
+ //判断用户是否有确认收货的产品
+ int receivedOrderCount= shopOrderV2Dao.selectReceivedOrderCount(openId);
+ if(receivedOrderCount>0){
+ verificationResult= VerificationResult.buildVerificationResult(true);
+ }else{
+ verificationResult= VerificationResult.buildVerificationResult(false,"不符合申请条件,请消费任意产品后再申请!");
+ }
+ case FenxiaoSettingConstant.FX_APPLY_CONDITION_XCZDJE:
+ Double zdje=Double.parseDouble(applyCondition.getParamValue2());
+ Double yxfje=shopOrderV2Dao.countOrderAmount(openId);
+ if(zdje<yxfje){
+ verificationResult=VerificationResult.buildVerificationResult(true);
+ }else{
+ verificationResult= VerificationResult.buildVerificationResult(false,"不符合申请条件,请消费满"+zdje+"元后再申请!");
+ }
+ VerificationResult.buildVerificationResult(true);
+ default:
+ VerificationResult.buildVerificationResult(true);
+ }
+ return verificationResult;
+ }
+
public IPage<ShopSalesmanApplyVo> findShopSalesmanApplyList(Page<ShopSalesmanApplyVo> page, ShopSalesmanApplyDto shopSalesmanApplyDto) {
return shopSalesmanApplyDao.findShopSalesmanApplyList(page,shopSalesmanApplyDto);
@@ -329,19 +366,19 @@
return AjaxResult.buildFailInstance("请输入方案名称");
}
Double sealesCommission = updateFyfaDto.getSealesCommission();
- if(StrUtil.isEmpty(sealesCommission.toString())) {
+ if(ObjectUtil.isEmpty(sealesCommission)) {
return AjaxResult.buildFailInstance("请输入正确的推广提成");
}
Double invitationCommission = updateFyfaDto.getInvitationCommission();
- if(StrUtil.isEmpty(invitationCommission.toString())) {
+ if(ObjectUtil.isEmpty(invitationCommission)) {
return AjaxResult.buildFailInstance("请输入正确的邀请提成");
}
//设置用户公司ID
QueryUtil.setQueryLimitCom(updateFyfaDto);
selectById.setCompanyId(updateFyfaDto.getCompanyId());
selectById.setName(updateFyfaDto.getName());
- selectById.setSealesCommission(updateFyfaDto.getSealesCommission());
- selectById.setInvitationCommission(updateFyfaDto.getInvitationCommission());
+ selectById.setSealesCommission(sealesCommission);
+ selectById.setInvitationCommission(invitationCommission);
selectById.setGradeCondition(updateFyfaDto.getGradeCondition());
shopSalesmanGradeDao.updateById(selectById);
return AjaxResult.buildFailInstance("操作成功");
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("操作成功");
+ }
diff --git a/zq-erp/src/main/java/com/matrix/system/fenxiao/vo/LoadFenxiaoOrderBasicVo.java b/zq-erp/src/main/java/com/matrix/system/fenxiao/vo/LoadFenxiaoOrderBasicVo.java
new file mode 100644
index 0000000..c2ac378
--- /dev/null
+++ b/zq-erp/src/main/java/com/matrix/system/fenxiao/vo/LoadFenxiaoOrderBasicVo.java
@@ -0,0 +1,20 @@
+package com.matrix.system.fenxiao.vo;
+
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+import java.math.BigDecimal;
+
+@Data
+@ApiModel(value = "LoadFenxiaoOrderBasicVo", description = "返回类")
+public class LoadFenxiaoOrderBasicVo {
+
+ @ApiModelProperty(value = "待计算金额")
+ private BigDecimal balance;
+ @ApiModelProperty(value = "待结算人数")
+ private Integer waitNum;
+ @ApiModelProperty(value = "待结算订单")
+ private Integer waitOrderNum;
+
+}
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
new file mode 100644
index 0000000..b0e5aef
--- /dev/null
+++ b/zq-erp/src/main/java/com/matrix/system/fenxiao/vo/LoadFenxiaoOrderListVo.java
@@ -0,0 +1,45 @@
+package com.matrix.system.fenxiao.vo;
+
+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 = "LoadFenxiaoOrderListVo", description = "返回类")
+public class LoadFenxiaoOrderListVo {
+
+ @ApiModelProperty(value = "订单ID")
+ private Long id;
+ @ApiModelProperty(value = "订单编号")
+ private String orderNo;
+ @ApiModelProperty(value = "订单状态")
+ private Integer orderState;
+ @ApiModelProperty(value = "实付金额(元)")
+ private BigDecimal actualBalance;
+ @ApiModelProperty(value = "下单门店")
+ private String address;
+ @ApiModelProperty(value = "客户")
+ private String custom;
+ @ApiModelProperty(value = "客户openId")
+ private String customUserId;
+ @ApiModelProperty(value = "推广员")
+ private String parentSale;
+ @ApiModelProperty(value = "收益类型")
+ private Integer profitType;
+ @ApiModelProperty(value = "收益金额")
+ private BigDecimal profitBalance;
+ @ApiModelProperty(value = "结算状态")
+ private Integer settleType;
+ @ApiModelProperty(value = "结算编号")
+ private String settleNo;
+ @JsonFormat(pattern = "yyyy-MM-dd HH:mm", timezone = "GMT+8")
+ @ApiModelProperty(value = "结算时间")
+ private Date settleTime;
+ @ApiModelProperty(value = "结算人")
+ private String settler;
+
+}
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
new file mode 100644
index 0000000..b769ec7
--- /dev/null
+++ b/zq-erp/src/main/java/com/matrix/system/fenxiao/vo/LoadSetOrderListDtoVo.java
@@ -0,0 +1,35 @@
+package com.matrix.system.fenxiao.vo;
+
+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 = "返回类")
+public class LoadSetOrderListDtoVo {
+
+ @ApiModelProperty(value = "ID")
+ private Long id;
+ @ApiModelProperty(value = "结算编号")
+ private String orderNo;
+ @ApiModelProperty(value = "结算金额")
+ private BigDecimal actualBalance;
+ @ApiModelProperty(value = "结算订单数")
+ private String setNum;
+ @ApiModelProperty(value = "结算人数")
+ private String setManNum;
+ @JsonFormat(pattern = "yyyy-MM-dd HH:mm", timezone = "GMT+8")
+ @ApiModelProperty(value = "结算时间")
+ private Date setTime;
+ @ApiModelProperty(value = "结算人")
+ private String setMan;
+ @ApiModelProperty(value = "结算方式")
+ private BigDecimal settlementWay;
+ @ApiModelProperty(value = "备注")
+ 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 896518f..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
@@ -25,7 +25,16 @@
*/
public String getOrderCode();
+ 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 8d7277f..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
@@ -9,9 +9,9 @@
import java.text.DateFormat;
import java.text.SimpleDateFormat;
import java.util.Date;
+import java.util.Random;
-
/**
*
*
@@ -96,7 +96,29 @@
}
@Override
+ public String get32LenNumberCode(){
+ DateFormat fmt = new SimpleDateFormat("yyyyMMddHHmmss");
+ Date date=new Date();
+
+ String str = "0123456789";
+ Random random = new Random();
+ StringBuilder sb = new StringBuilder();
+ for (int i = 0; i < 18; i++) {
+ int number = random.nextInt(str.length());
+ sb.append(str.charAt(number));
+ }
+ return fmt.format(date)+sb.toString();
+ }
+
+
+
+ @Override
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/java/com/matrix/system/shopXcx/api/action/WxSalesProductAction.java b/zq-erp/src/main/java/com/matrix/system/shopXcx/api/action/WxSalesProductAction.java
index bdd6dff..b89cac9 100644
--- a/zq-erp/src/main/java/com/matrix/system/shopXcx/api/action/WxSalesProductAction.java
+++ b/zq-erp/src/main/java/com/matrix/system/shopXcx/api/action/WxSalesProductAction.java
@@ -8,6 +8,7 @@
import com.matrix.system.shopXcx.bean.ShopProductAttribute;
import com.matrix.system.shopXcx.dao.ShopProductAttributeDao;
import com.matrix.system.shopXcx.dao.ShopProductDao;
+import com.matrix.system.shopXcx.dao.ShopSkuDao;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import io.swagger.annotations.ApiResponse;
@@ -36,6 +37,9 @@
@Autowired
private ShopProductAttributeDao shopProductAttributeDao;
+ @Autowired
+ private ShopSkuDao shopSkuDao;
+
@ApiOperation(value = "查询推广商品", notes = "")
@PostMapping(value = "/getSalesProductList")
@ApiResponses({
@@ -46,12 +50,13 @@
ShopProductAttribute fxsc = shopProductAttributeDao.selectByCode("fxsc", HostInterceptor.getCompanyId());
shopProduct.setLimit(saleProductDto.getPageSize());
- shopProduct.setOffset(saleProductDto.getPageNum()* saleProductDto.getPageSize());
+ shopProduct.setOffset((saleProductDto.getPageNum()-1)* saleProductDto.getPageSize());
shopProduct.setDelFlag(AppConstance.DATA_USEABLE);
shopProduct.setStatus(AppConstance.IS_PUTAWAY);
shopProduct.setCompanyId(HostInterceptor.getCompanyId());
shopProduct.setAttrs(fxsc.getAttrId()+"");
List<ShopProduct> shopProducts = shopProductDao.selectByModelWx(shopProduct);
+ shopProducts.forEach(item->item.setSkus(shopSkuDao.selectByPid(item.getId())));
AjaxResult result = new AjaxResult(AjaxResult.STATUS_SUCCESS, shopProducts);
return result;
}
diff --git a/zq-erp/src/main/java/com/matrix/system/shopXcx/api/action/WxSalesWithdrawalAction.java b/zq-erp/src/main/java/com/matrix/system/shopXcx/api/action/WxSalesWithdrawalAction.java
new file mode 100644
index 0000000..5256ec0
--- /dev/null
+++ b/zq-erp/src/main/java/com/matrix/system/shopXcx/api/action/WxSalesWithdrawalAction.java
@@ -0,0 +1,127 @@
+package com.matrix.system.shopXcx.api.action;
+
+import com.baomidou.mybatisplus.core.metadata.IPage;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.matrix.biz.bean.BizUser;
+import com.matrix.biz.dao.BizUserDao;
+import com.matrix.component.redis.RedisUserLoginUtils;
+import com.matrix.component.wechat.externalInterface.weixinUtil.WeixinServiceUtil;
+import com.matrix.core.constance.MatrixConstance;
+import com.matrix.core.pojo.AjaxResult;
+import com.matrix.core.pojo.BasePageQueryDto;
+import com.matrix.system.fenxiao.dao.ShopRevenueFlowDao;
+import com.matrix.system.fenxiao.entity.ShopRevenueFlow;
+import com.matrix.system.hive.service.CodeService;
+import com.matrix.system.shopXcx.api.dto.RevenueFlowDto;
+import com.matrix.system.shopXcx.api.dto.WithdrawalCashDto;
+import com.matrix.system.shopXcx.vo.SalesOrderVo;
+import io.swagger.annotations.Api;
+import io.swagger.annotations.ApiOperation;
+import io.swagger.annotations.ApiResponse;
+import io.swagger.annotations.ApiResponses;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.transaction.annotation.Transactional;
+import org.springframework.validation.annotation.Validated;
+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.RestController;
+
+import java.util.Date;
+
+/**
+ * @author jyy
+ * @date 2021-03-10
+ **/
+@Api(tags = "提现接口类")
+@RestController
+@RequestMapping(value = "/wxapi/salesWithdrawal")
+public class WxSalesWithdrawalAction {
+
+
+ @Autowired
+ private RedisUserLoginUtils redisUserLoginUtils;
+
+ @Autowired
+ private BizUserDao bizUserDao;
+
+ @Autowired
+ private ShopRevenueFlowDao revenueFlowDao;
+
+
+ @Autowired
+ private ShopRevenueFlowDao shopRevenueFlowDao;
+ @Autowired
+ WeixinServiceUtil weixinServiceUtil;
+
+ @Autowired
+ CodeService codeService;
+
+ @ApiOperation(value = "获取收支明细", notes = "")
+ @PostMapping(value = "/getInvitationuserList")
+ @ApiResponses({
+ @ApiResponse(code = 200, message = "ok", response = ShopRevenueFlow.class)
+ })
+ AjaxResult getInvitationuserList(@RequestBody @Validated RevenueFlowDto revenueFlowDto) {
+ BizUser loginUser = redisUserLoginUtils.getLoginUser(BizUser.class);
+ Page<SalesOrderVo> page=new Page<>(revenueFlowDto.getPageNum(),revenueFlowDto.getPageSize());
+ revenueFlowDto.setUserId(loginUser.getOpenId());
+ IPage<SalesOrderVo> shopSalesmanApplyIPage = revenueFlowDao.selectRevenuFlowList(page, revenueFlowDto);
+ AjaxResult result=AjaxResult.buildSuccessInstance(shopSalesmanApplyIPage.getRecords());
+ return result;
+ }
+
+
+ @ApiOperation(value = "提现", notes = "")
+ @PostMapping(value = "/withdrawalCash")
+ @ApiResponses({
+ @ApiResponse(code = 200, message = "ok", response = BasePageQueryDto.class)
+ })
+ @Transactional
+ AjaxResult withdrawalCash(@RequestBody @Validated WithdrawalCashDto withdrawalCashDto) {
+ BizUser loginUser = redisUserLoginUtils.getLoginUser(BizUser.class);
+ loginUser=bizUserDao.selectById(loginUser.getUserId());
+ if(withdrawalCashDto.getAmount()<1){
+ return AjaxResult.buildFailInstance("最小提现金额为1元");
+ }else if(withdrawalCashDto.getAmount()>20000){
+ return AjaxResult.buildFailInstance("最大提现金额为2万元");
+ }else{
+ if(loginUser.getWithdrawalCash()==null || loginUser.getWithdrawalCash()<withdrawalCashDto.getAmount()){
+ return AjaxResult.buildFailInstance("余额不足");
+ }else{
+
+ String txNo = codeService.get32LenNumberCode();
+
+ /*调试注释
+ weixinServiceUtil.comPay("提现", txNo,Integer.parseInt((withdrawalCashDto.getAmount()*1000)+""),
+ loginUser.getOpenId(),loginUser.getCompanyId());
+ */
+ //记录收益流水
+ ShopRevenueFlow invitationRevenueFlow=new ShopRevenueFlow();
+ invitationRevenueFlow.setCompanyId(loginUser.getCompanyId());
+ invitationRevenueFlow.setCreateBy(MatrixConstance.SYSTEM_USER);
+ invitationRevenueFlow.setUpdateBy(txNo);
+ invitationRevenueFlow.setCreateTime(new Date());
+ invitationRevenueFlow.setUpdateTime(new Date());
+ invitationRevenueFlow.setAmount(-withdrawalCashDto.getAmount());
+ invitationRevenueFlow.setUserId(loginUser.getOpenId());
+ invitationRevenueFlow.setRevenueContent("提现");
+ shopRevenueFlowDao.insert(invitationRevenueFlow);
+ //扣除用户剩余提现金额
+ loginUser.setWithdrawalCash(loginUser.getWithdrawalCash()-withdrawalCashDto.getAmount());
+ bizUserDao.updateByModel(loginUser);
+ redisUserLoginUtils.updateUserInfo(loginUser);
+
+
+ return AjaxResult.buildSuccessInstance("提现成功");
+ }
+ }
+
+
+ }
+
+
+
+
+
+}
diff --git a/zq-erp/src/main/java/com/matrix/system/shopXcx/api/action/WxSalesmanAction.java b/zq-erp/src/main/java/com/matrix/system/shopXcx/api/action/WxSalesmanAction.java
index f2c9a3a..ed74a5d 100644
--- a/zq-erp/src/main/java/com/matrix/system/shopXcx/api/action/WxSalesmanAction.java
+++ b/zq-erp/src/main/java/com/matrix/system/shopXcx/api/action/WxSalesmanAction.java
@@ -76,6 +76,20 @@
return ajaxResult;
}
+ @ApiOperation(value = "查询分销商城开关", notes = "1开启分销,2关闭分销")
+ @GetMapping(value = "/getSalesMallSetting")
+ public AjaxResult getSalesMallSwith() {
+ BusParameterSettings fxSwith = busParameterSettingsDao.selectCompanyParamByCode(FenxiaoSettingConstant.FX_SWITCH, HostInterceptor.getCompanyId());
+ BusParameterSettings fxModel = busParameterSettingsDao.selectCompanyParamByCode(FenxiaoSettingConstant.FX_MODEL, HostInterceptor.getCompanyId());
+ AjaxResult ajaxResult = AjaxResult.buildSuccessInstance("查询成功");
+ ajaxResult.putInMap("fxSwith",fxSwith.getParamValue());
+ ajaxResult.putInMap("fxModel",fxModel.getParamValue());
+ return ajaxResult;
+ }
+
+
+
+
@ApiOperation(value = "申请成为推广员", notes = "传入参数invitationId 邀请人openId ,非必填 例: {invitationId:openId}")
@ApiResponses({
@@ -86,10 +100,20 @@
public AjaxResult applyToBeAnSalesman(@RequestBody Map<String,String> param) {
BizUser loginUser = redisUserLoginUtils.getLoginUser(BizUser.class);
String invitationId = param.get("invitationId");
+ if(StringUtils.isNotBlank(invitationId)){
+ BizUser invitationUser = bizUserDao.findByOpenId(invitationId);
+ if(invitationUser!=null && invitationUser.getOpenId().equals(loginUser.getOpenId())) {
+ return AjaxResult.buildFailInstance("不能邀请自己成为推广员");
+ }
+ }
+
ShopSalesmanApply shopSalesmanApply= shopSalesmanApplyService.applyToBeAnSalesman(loginUser.getOpenId(),"",invitationId,ShopSalesmanApply.APPLY_WAY_SELF);
loginUser=bizUserDao.selectById(loginUser.getUserId());
redisUserLoginUtils.updateUserInfo(loginUser);
return AjaxResult.buildSuccessInstance(shopSalesmanApply);
+
+
+
}
@@ -102,6 +126,7 @@
BizUser loginUser = redisUserLoginUtils.getLoginUser(BizUser.class);
QueryWrapper<ShopSalesmanApply> queryWrapper = new QueryWrapper<>();
queryWrapper.eq("user_id",loginUser.getOpenId());
+ queryWrapper.eq("apply_status",ShopSalesmanApply.APPLY_STATUS_DSH);
ShopSalesmanApply shopSalesmanApply = salesmanApplyDao.selectOne(queryWrapper);
return AjaxResult.buildSuccessInstance(shopSalesmanApply);
}
@@ -159,7 +184,7 @@
BufferedImage qrcordImgBuf = ImageIO.read(new File(qrcodeSavePath));
//获取海报
- BusParameterSettings posterSetting = busParameterSettingsDao.selectCompanyParamByCode(FenxiaoSettingConstant.FX_TG_POSTER, HostInterceptor.getCompanyId());
+ BusParameterSettings posterSetting = busParameterSettingsDao.selectCompanyParamByCode(FenxiaoSettingConstant.FX_TG_POSTER, loginUser.getCompanyId());
String posterPath=baseSavePath+"wxacode" + File.separatorChar+MD5Util.strToMD5(loginUser.getOpenId())+"poster.png";
ImageUtil.downloadPicture(posterSetting.getParamValue(),posterPath);
BufferedImage posterImgBuf = ImageIO.read(new File(posterPath));
@@ -173,7 +198,6 @@
BufferedImage backgroundImgBuf = new BufferedImage(700, 900, BufferedImage.TYPE_4BYTE_ABGR);
//绘制背景+产品
Graphics2D g = backgroundImgBuf.createGraphics();
- //g.setComposite(AlphaComposite.getInstance(AlphaComposite.SRC_ATOP, 1));
g.setColor(Color.WHITE);
g.fillRect(0,0,700,900);
g.drawImage(posterImgBuf,0,0,700, 700,null);
diff --git a/zq-erp/src/main/java/com/matrix/system/shopXcx/api/WxUserAction.java b/zq-erp/src/main/java/com/matrix/system/shopXcx/api/action/WxUserAction.java
similarity index 81%
rename from zq-erp/src/main/java/com/matrix/system/shopXcx/api/WxUserAction.java
rename to zq-erp/src/main/java/com/matrix/system/shopXcx/api/action/WxUserAction.java
index 5c927d6..7a523f3 100644
--- a/zq-erp/src/main/java/com/matrix/system/shopXcx/api/WxUserAction.java
+++ b/zq-erp/src/main/java/com/matrix/system/shopXcx/api/action/WxUserAction.java
@@ -1,7 +1,6 @@
-package com.matrix.system.shopXcx.api;
+package com.matrix.system.shopXcx.api.action;
import com.matrix.biz.bean.BizUser;
-import com.matrix.biz.dao.BizUserDao;
import com.matrix.biz.service.BizUserService;
import com.matrix.component.redis.RedisUserLoginUtils;
import com.matrix.component.tools.HttpCurlUtil;
@@ -12,6 +11,7 @@
import com.matrix.core.web.BaseAction;
import com.matrix.system.common.constance.AppConstance;
import com.matrix.system.common.interceptor.HostInterceptor;
+import com.matrix.system.shopXcx.api.WeChatApiTools;
import net.sf.json.JSONObject;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Value;
@@ -39,8 +39,7 @@
@Autowired
private RedisUserLoginUtils redisUserLoginUtils;
- @Autowired
- private BizUserDao bizUserDao;
+
@Autowired
WeChatApiTools weChatApiTools;
@@ -128,43 +127,12 @@
BizUser loginUser = redisUserLoginUtils.getLoginUser(BizUser.class);
String openId = loginUser.getOpenId();
BizUser bizUser = bizUserService.findByOpenId(openId);
-
- //处理用户当前所在店铺
- /*
- if(bizUser.getStaff()!=null){
- //当前用户是员工账号
- bizUser.setBusiness(bussinesssDao.selectById(bizUser.getStaff().getBusinessId()));
- bizUser.setRole(bizUser.getStaff().getRole());
- }else{
- //当前用户是boss账号
- bizUser.setBusiness(bussinesssDao.findByUserOpenId(bizUser.getOpenId()));
- bizUser.setRole(AppConstance.User_ROLE_BOSS);
- }*/
-
AjaxResult res = new AjaxResult();
res.putInMap("userInfo", bizUser);
res.setStatus(AjaxResult.STATUS_SUCCESS);
return res;
}
-
- /**
- * 获取其他用户简化信息
- * @author JIANGYOUYAO
- * @email 935090232@qq.com
- * @date 2018年9月5日
- * @param openId
- * @return
- */
- @RequestMapping(value = "/getOtherUserInfo/{openId}")
- public @ResponseBody
- AjaxResult getOtherUserInfo(@PathVariable String openId) {
- BizUser bizUser = bizUserService.findByOpenId(openId);
- AjaxResult res = new AjaxResult();
- res.putInMap("userInfo", bizUser);
- res.setStatus(AjaxResult.STATUS_SUCCESS);
- return res;
- }
-
+
/**
* 接收用户信息
diff --git a/zq-erp/src/main/java/com/matrix/system/shopXcx/api/dto/RevenueFlowDto.java b/zq-erp/src/main/java/com/matrix/system/shopXcx/api/dto/RevenueFlowDto.java
new file mode 100644
index 0000000..6d81221
--- /dev/null
+++ b/zq-erp/src/main/java/com/matrix/system/shopXcx/api/dto/RevenueFlowDto.java
@@ -0,0 +1,26 @@
+package com.matrix.system.shopXcx.api.dto;
+
+import com.matrix.core.pojo.BasePageQueryDto;
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+import javax.validation.constraints.NotNull;
+
+@Data
+@ApiModel(value = "RevenueFlowDto", description = "收益流水查询参数接收类")
+public class RevenueFlowDto extends BasePageQueryDto {
+
+ @NotNull(message = "查询月份不能为空")
+ @ApiModelProperty(value = "查询月份",example = "2021-03")
+ private String queryTime;
+
+
+ @ApiModelProperty(value = "收益类型 不传全部,1,收入,2支出", example = "1")
+ private Integer revenueType;
+
+ @ApiModelProperty(hidden = true)
+ private String userId;
+
+
+}
diff --git a/zq-erp/src/main/java/com/matrix/system/shopXcx/api/dto/WithdrawalCashDto.java b/zq-erp/src/main/java/com/matrix/system/shopXcx/api/dto/WithdrawalCashDto.java
new file mode 100644
index 0000000..0502904
--- /dev/null
+++ b/zq-erp/src/main/java/com/matrix/system/shopXcx/api/dto/WithdrawalCashDto.java
@@ -0,0 +1,20 @@
+package com.matrix.system.shopXcx.api.dto;
+
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+import javax.validation.constraints.NotNull;
+
+@Data
+@ApiModel(value = "WithdrawalCashDto", description = "提现参数接收类")
+public class WithdrawalCashDto {
+
+ @NotNull(message = "提现金额不能为空")
+ @ApiModelProperty(value = "提现金额", example = "1")
+ private Double amount;
+
+
+
+
+}
diff --git a/zq-erp/src/main/java/com/matrix/system/shopXcx/dao/ShopOrderDao.java b/zq-erp/src/main/java/com/matrix/system/shopXcx/dao/ShopOrderDao.java
index 5b4c41c..5a9729d 100644
--- a/zq-erp/src/main/java/com/matrix/system/shopXcx/dao/ShopOrderDao.java
+++ b/zq-erp/src/main/java/com/matrix/system/shopXcx/dao/ShopOrderDao.java
@@ -78,4 +78,6 @@
public List<Map<String,Object>> selectOrderStatusCount(String openId);
public int batchUpdateOrderStatus(@Param("list") List<ShopOrder> list);
+
+
}
\ No newline at end of file
diff --git a/zq-erp/src/main/java/com/matrix/system/shopXcx/dao/ShopOrderV2Dao.java b/zq-erp/src/main/java/com/matrix/system/shopXcx/dao/ShopOrderV2Dao.java
new file mode 100644
index 0000000..b68d63a
--- /dev/null
+++ b/zq-erp/src/main/java/com/matrix/system/shopXcx/dao/ShopOrderV2Dao.java
@@ -0,0 +1,19 @@
+package com.matrix.system.shopXcx.dao;
+
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.matrix.system.shopXcx.bean.ShopOrder;
+import org.apache.ibatis.annotations.Param;
+
+/**
+ * @description 订单表
+ */
+public interface ShopOrderV2Dao extends BaseMapper<ShopOrder> {
+
+ /** 统计已收货订单数 */
+ int selectReceivedOrderCount(String openId);
+ /** 统计已收货订单金额 */
+ Double countOrderAmount(String openId);
+
+ /** 统计是否消费过了指定产品 */
+ int countBuyZdcp(@Param("openId") String openId, @Param("productIds")String productIds);
+}
\ No newline at end of file
diff --git a/zq-erp/src/main/java/com/matrix/system/shopXcx/mqTask/SalesOrderTask.java b/zq-erp/src/main/java/com/matrix/system/shopXcx/mqTask/SalesOrderTask.java
index b8adbf2..ea4bcd3 100644
--- a/zq-erp/src/main/java/com/matrix/system/shopXcx/mqTask/SalesOrderTask.java
+++ b/zq-erp/src/main/java/com/matrix/system/shopXcx/mqTask/SalesOrderTask.java
@@ -7,6 +7,7 @@
import com.matrix.core.tools.LogUtil;
import com.matrix.core.tools.StringUtils;
import com.matrix.system.common.dao.BusParameterSettingsDao;
+import com.matrix.system.fenxiao.dao.ShopRevenueFlowDao;
import com.matrix.system.fenxiao.dao.ShopSalesmanGradeDao;
import com.matrix.system.fenxiao.dao.ShopSalesmanOrderDao;
import com.matrix.system.fenxiao.entity.ShopSalesmanGrade;
@@ -82,6 +83,7 @@
@Autowired
private ShopSalesmanGradeDao shopSalesmanGradeDao;
+
@Override
@@ -176,6 +178,8 @@
invitationAmount=invitationAmount*zk;
invitationOrder.setAmount(invitationAmount);
shopSalesmanOrderDao.insert(invitationOrder);
+
+
}
}
}else{
diff --git a/zq-erp/src/main/java/com/matrix/system/shopXcx/vo/SalesmanCenterInfo.java b/zq-erp/src/main/java/com/matrix/system/shopXcx/vo/SalesmanCenterInfo.java
index f75ff89..7d41aee 100644
--- a/zq-erp/src/main/java/com/matrix/system/shopXcx/vo/SalesmanCenterInfo.java
+++ b/zq-erp/src/main/java/com/matrix/system/shopXcx/vo/SalesmanCenterInfo.java
@@ -27,8 +27,12 @@
@ApiModelProperty(value = "可提现金额")
private String withdrawalCash;
+
+ @ApiModelProperty(value = "邀请订单数")
+ private String invitationOrderCount;
+
@ApiModelProperty(value = "推广订单数")
- private String orderCount;
+ private String salesorderCount;
@ApiModelProperty(value = "客户数")
diff --git a/zq-erp/src/main/resources/config/application.properties b/zq-erp/src/main/resources/config/application.properties
index fa3a268..a250611 100644
--- a/zq-erp/src/main/resources/config/application.properties
+++ b/zq-erp/src/main/resources/config/application.properties
@@ -1,4 +1,4 @@
-evn=dev
+evn=jyy
server.port=8080
diff --git a/zq-erp/src/main/resources/config/dev/system.properties b/zq-erp/src/main/resources/config/dev/system.properties
index 015c690..088c4a6 100644
--- a/zq-erp/src/main/resources/config/dev/system.properties
+++ b/zq-erp/src/main/resources/config/dev/system.properties
@@ -19,11 +19,11 @@
maxUploadSize=10485760
#Matser\u7684ip\u5730\u5740
-redis.hostname=118.31.227.147
+redis.hostname=120.27.238.55
#\u7AEF\u53E3\u53F7
redis.port=6379
#\u5982\u679C\u6709\u5BC6\u7801
-redis.password=123456
+redis.password=xcong123
#\u5BA2\u6237\u7AEF\u8D85\u65F6\u65F6\u95F4\u5355\u4F4D\u662F\u6BEB\u79D2 \u9ED8\u8BA4\u662F2000
redis.timeout=10000
redis.database=7
diff --git a/zq-erp/src/main/resources/config/prd/system.properties b/zq-erp/src/main/resources/config/prd/system.properties
index b9d6102..9290b39 100644
--- a/zq-erp/src/main/resources/config/prd/system.properties
+++ b/zq-erp/src/main/resources/config/prd/system.properties
@@ -19,11 +19,11 @@
maxUploadSize=10485760
#Matser\u7684ip\u5730\u5740
-redis.hostname=118.31.227.147
+redis.hostname=120.27.238.55
#\u7AEF\u53E3\u53F7
redis.port=6379
#\u5982\u679C\u6709\u5BC6\u7801
-redis.password=123456
+redis.password=xcong123
#\u5BA2\u6237\u7AEF\u8D85\u65F6\u65F6\u95F4\u5355\u4F4D\u662F\u6BEB\u79D2 \u9ED8\u8BA4\u662F2000
redis.timeout=10000
redis.database=1
diff --git a/zq-erp/src/main/resources/config/system.properties b/zq-erp/src/main/resources/config/system.properties
index 6581031..ef96e05 100644
--- a/zq-erp/src/main/resources/config/system.properties
+++ b/zq-erp/src/main/resources/config/system.properties
@@ -23,11 +23,11 @@
maxUploadSize=10485760
#Matser\u7684ip\u5730\u5740
-redis.hostname=118.31.227.147
+redis.hostname=120.27.238.55
#\u7AEF\u53E3\u53F7
redis.port=6379
#\u5982\u679C\u6709\u5BC6\u7801
-redis.password=123456
+redis.password=xcong123
#\u5BA2\u6237\u7AEF\u8D85\u65F6\u65F6\u95F4\u5355\u4F4D\u662F\u6BEB\u79D2 \u9ED8\u8BA4\u662F2000
redis.timeout=10000
redis.database=1
diff --git a/zq-erp/src/main/resources/config/test/system.properties b/zq-erp/src/main/resources/config/test/system.properties
index 568731d..8731cd3 100644
--- a/zq-erp/src/main/resources/config/test/system.properties
+++ b/zq-erp/src/main/resources/config/test/system.properties
@@ -20,11 +20,11 @@
#Matser\u7684ip\u5730\u5740
-redis.hostname=118.31.227.147
+redis.hostname=120.27.238.55
#\u7AEF\u53E3\u53F7
redis.port=6379
#\u5982\u679C\u6709\u5BC6\u7801
-redis.password=123456
+redis.password=xcong123
#\u5BA2\u6237\u7AEF\u8D85\u65F6\u65F6\u95F4\u5355\u4F4D\u662F\u6BEB\u79D2 \u9ED8\u8BA4\u662F2000
redis.timeout=10000
redis.database=1
diff --git a/zq-erp/src/main/resources/config/xcx/system.properties b/zq-erp/src/main/resources/config/xcx/system.properties
index 12737b4..1a58898 100644
--- a/zq-erp/src/main/resources/config/xcx/system.properties
+++ b/zq-erp/src/main/resources/config/xcx/system.properties
@@ -20,11 +20,11 @@
#Matser\u7684ip\u5730\u5740
-redis.hostname=118.31.227.147
+redis.hostname=120.27.238.55
#\u7AEF\u53E3\u53F7
redis.port=6379
#\u5982\u679C\u6709\u5BC6\u7801
-redis.password=123456
+redis.password=xcong123
#\u5BA2\u6237\u7AEF\u8D85\u65F6\u65F6\u95F4\u5355\u4F4D\u662F\u6BEB\u79D2 \u9ED8\u8BA4\u662F2000
redis.timeout=10000
redis.database=1
diff --git a/zq-erp/src/main/resources/mybatis/mapper/fenxiao/ShopRevenueFlowDao.xml b/zq-erp/src/main/resources/mybatis/mapper/fenxiao/ShopRevenueFlowDao.xml
index 1f301ea..de6eae0 100644
--- a/zq-erp/src/main/resources/mybatis/mapper/fenxiao/ShopRevenueFlowDao.xml
+++ b/zq-erp/src/main/resources/mybatis/mapper/fenxiao/ShopRevenueFlowDao.xml
@@ -32,4 +32,18 @@
<result property="companyId" column="company_id" />
</resultMap>
+
+ <select id="selectRevenuFlowList" resultType="com.matrix.system.shopXcx.vo.SalesOrderVo">
+ select * from shop_revenue_flow
+ where user_id=#{record.userId}
+ and DATE_FORMAT(create_time,'%Y-%m')=#{record.queryTime}
+ <if test="record.revenueType==1">
+ and amount>0
+ </if>
+ <if test="record.revenueType==2">
+ <![CDATA[ and amount<0 ]]>
+ </if>
+ order by create_time desc
+ </select>
+
</mapper>
\ 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 ae87aa8..173aff5 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
@@ -147,9 +147,7 @@
IFNULL(sum(IFNULL( b.amount, 0 )),0)
FROM
shop_salesman_order b
- WHERE
- b.user_id = a.open_id
- and order_status=2
+ WHERE order_status=2
AND b.sales_user_id = #{openId}
) AS totalRevenue,
@@ -158,9 +156,7 @@
IFNULL(sum(IFNULL( b.amount, 0 )),0)
FROM
shop_salesman_order b
- WHERE
- b.user_id = a.open_id
- and order_status=2 and revenue_type=1
+ WHERE order_status=2 and revenue_type=1
AND b.sales_user_id = #{openId}
) AS salesRevenue,
@@ -169,9 +165,7 @@
IFNULL(sum(IFNULL( b.amount, 0 )),0)
FROM
shop_salesman_order b
- WHERE
- b.user_id = a.open_id
- and order_status=2 and revenue_type=2
+ WHERE order_status=2 and revenue_type=2
AND b.sales_user_id = #{openId}
) AS invitationRevenue,
@@ -181,13 +175,13 @@
IFNULL(sum(IFNULL( b.amount, 0 )),0)
FROM
shop_salesman_order b
- WHERE
- b.user_id = a.open_id
- and order_status=1
+ WHERE order_status=1
AND b.sales_user_id = #{openId}
) AS djsRevenue,
- ( SELECT count( * ) FROM shop_salesman_order c WHERE c.user_id = a.open_id AND c.sales_user_id = #{openId} ) AS orderCount,
+
+ ( SELECT count( * ) FROM shop_salesman_order c WHERE c.user_id = a.open_id AND c.sales_user_id = #{openId} and revenue_type =1 ) AS salesorderCount,
+ ( SELECT count( * ) FROM shop_salesman_order c WHERE c.user_id = a.open_id AND c.sales_user_id = #{openId} and revenue_type =2 ) AS invitationOrderCount,
(select count(*) from biz_user where parent_open_id=#{openId} and is_sales=1) as invitationCount,
(select count(*) from biz_user where parent_open_id=#{openId} and is_sales=2) as customerCount
from biz_user a where
@@ -212,7 +206,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 ead840d..2dd7257 100644
--- a/zq-erp/src/main/resources/mybatis/mapper/fenxiao/ShopSalesmanOrderDao.xml
+++ b/zq-erp/src/main/resources/mybatis/mapper/fenxiao/ShopSalesmanOrderDao.xml
@@ -64,4 +64,111 @@
</select>
+ <select id="selectFenxiaoOrderBasicByCompanyId" resultType="com.matrix.system.fenxiao.vo.LoadFenxiaoOrderBasicVo">
+ SELECT
+ COUNT(*) num,
+ (SELECT IFNULL(sum(IFNULL(amount, 0)), 0)
+ FROM shop_salesman_order
+ WHERE order_status = 1 and company_id=#{companyId}) balance,
+ (SELECT COUNT(*) FROM
+ (SELECT DISTINCT user_id
+ FROM shop_salesman_order
+ WHERE order_status = 1 and company_id=#{companyId} ) a) waitNum,
+ (SELECT COUNT(*)
+ FROM shop_salesman_order
+ WHERE order_status = 1 and company_id=#{companyId}) waitOrderNum
+ FROM
+ shop_salesman_order
+ where company_id=#{companyId}
+ </select>
+
+ <select id="findFenxiaoOrderList" resultType="com.matrix.system.fenxiao.vo.LoadFenxiaoOrderListVo">
+ SELECT
+ a.id id,
+ d.order_no,
+ d.order_money actualBalance,
+ f.shop_name address,
+ d.order_status orderState,
+ b.nick_name custom,
+ b.open_id customUserId,
+ e.nick_name parentSale,
+ a.revenue_type profitType,
+ a.amount profitBalance,
+ a.order_status settleType,
+ c.order_no settleNo,
+ c.create_time settleTime,
+ 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">
+ order by
+ a.${record.sort} ${record.order}
+ </if>
+ </select>
+
+ <select id="findSetOrderList" resultType="com.matrix.system.fenxiao.vo.LoadSetOrderListDtoVo">
+ select
+ a.id id,
+ a.order_no orderNo,
+ a.amount actualBalance,
+ a.order_count setNum,
+ a.man_count setManNum,
+ a.create_time setTime,
+ b.su_name setMan,
+ a.settlement_way settlementWay,
+ a.remark remark
+ from
+ shop_saleman_settlement a
+ 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.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">
+ order by
+ a.${record.sort} ${record.order}
+ </if>
+ </select>
+
</mapper>
\ No newline at end of file
diff --git a/zq-erp/src/main/resources/mybatis/mapper/xcxShop/ShopOrderV2Dao.xml b/zq-erp/src/main/resources/mybatis/mapper/xcxShop/ShopOrderV2Dao.xml
new file mode 100644
index 0000000..04cba28
--- /dev/null
+++ b/zq-erp/src/main/resources/mybatis/mapper/xcxShop/ShopOrderV2Dao.xml
@@ -0,0 +1,24 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
+"http://mybatis.org/dtd/mybatis-3-mapper.dtd">
+
+<mapper namespace="com.matrix.system.shopXcx.dao.ShopOrderV2Dao">
+
+ <select id="selectReceivedOrderCount" resultType="java.lang.Integer">
+ select count(*) from shop_order where user_id = #{openId} and order_status in (4,5)
+ </select>
+
+ <select id="countOrderAmount" resultType="java.lang.Double">
+ select IFNULL(sum(IFNULL( order_money, 0 )),0) from shop_order where user_id = #{openId} and order_status in (4,5)
+ </select>
+
+ <select id="countBuyZdcp" resultType="java.lang.Integer">
+ select count(*) from shop_order a
+ left join shop_order_details b on a.id=b.order_id
+ where a.user_id=#{openId}
+ and order_status in (4,5)
+ and find_in_set(b.p_id,#{productIds})
+ </select>
+
+
+</mapper>
\ No newline at end of file
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
new file mode 100644
index 0000000..92aafbd
--- /dev/null
+++ b/zq-erp/src/main/resources/templates/views/admin/fenxiao/fenxiao-order.html
@@ -0,0 +1,665 @@
+<!DOCTYPE HTML>
+<html xmlns:th="http://www.thymeleaf.org" xmlns:matrix="http://www.w3.org/1999/xhtml">
+<head>
+ <meta charset="utf-8">
+ <META HTTP-EQUIV="Pragma" CONTENT="no-cache">
+ <meta name="renderer" content="webkit|ie-comp|ie-stand">
+ <meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
+ <meta name="viewport"
+ content="width=device-width,initial-scale=1,minimum-scale=1.0,maximum-scale=1.0,user-scalable=no"/>
+ <meta http-equiv="Cache-Control" content="no-siteapp"/>
+ <!-- 本框架基本脚本和样式 -->
+ <script type="text/javascript" th:src="@{/js/systools/MBaseVue.js}"></script>
+ <link rel="stylesheet" th:href="@{/plugin/element-ui/index.css}">
+ <link rel="stylesheet" th:href="@{/plugin/bootstrap-3.3.5/css/bootstrap.min.css}">
+ <link th:href="@{/css/styleOne/style.min.css}" rel="stylesheet" type="text/css"/>
+
+ <!-- 富文本编辑器 -->
+ <script type="text/javascript" charset="utf-8"
+ th:src="@{/plugin/beditor/ueditor.config.js}"></script>
+ <script type="text/javascript" charset="utf-8"
+ th:src="@{/plugin/beditor/ueditor.all.js}">
+ </script>
+ <script type="text/javascript" charset="utf-8"
+ th:src="@{/plugin/beditor/lang/zh-cn/zh-cn.js}"></script>
+ <style>
+ .paginationStyle{
+ background: #ffffff;
+ padding: 10px 10px;
+ margin: 0px 0px 10px 0px;
+ text-align: right;
+ }
+ </style>
+</head>
+
+<body>
+<div class="ibox-content" id="app" v-cloak>
+ <el-row style="padding: 10px;">
+ <el-row :gutter="100">
+ <el-col class="line" :span="8" style="text-align: center">
+ <el-card class="box-card" style="background-color: #eee;border-radius: 30px;">
+ <div>待计算金额</div>
+ <div style="padding: 5px;font-size: 30px;">¥{{basicdetail.balance}}</div>
+ </el-card >
+ </el-col>
+ <el-col class="line" :span="8" style="text-align: center">
+ <el-card class="box-card" style="background-color: #eee;border-radius: 30px;">
+ <div>待结算人数</div>
+ <div style="padding: 5px;font-size: 30px;">{{basicdetail.waitNum}}人</div>
+ </el-card >
+ </el-col>
+ <el-col class="line" :span="8" style="text-align: center">
+ <el-card class="box-card" style="background-color: #eee;border-radius: 30px;">
+ <div>待结算订单</div>
+ <div style="padding: 5px;font-size: 30px;">{{basicdetail.waitOrderNum}}笔</div>
+ </el-card >
+ </el-col>
+ </el-row>
+ </el-row>
+ <el-row>
+ <el-tabs v-model="activeName" >
+ <el-tab-pane label="分销订单" name="first">
+ <el-row justify="space-between" type="flex">
+ <el-col :span="6">
+ <el-button type="primary" @click="setOrderDone()">批量结算</el-button>
+ </el-col>
+ <el-dialog title="本次结算分销订单" :visible.sync="dialogFormVisible">
+ <el-form :model="formSelect">
+ <el-form-item label="结算金额:" :label-width="formLabelWidth">
+ <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>
+ </el-form-item>
+ <el-form-item label="结算人数:" :label-width="formLabelWidth">
+ <div style="font-size: 20px;">{{formSelect.jsrs}}人</div>
+ </el-form-item>
+ <el-form-item label="结算方式:" :label-width="formLabelWidth">
+ <el-radio-group v-model="formSelect.jsfs">
+ <el-radio-button label="1">线下结算</el-radio-button>
+ <el-radio-button label="2">微信余额支付</el-radio-button>
+ </el-radio-group>
+ </el-form-item>
+ <el-form-item label="备注:" :label-width="formLabelWidth">
+ <el-input type="textarea" :rows="3" v-model="formSelect.bz" autocomplete="off"></el-input>
+ </el-form-item>
+ </el-form>
+ <div slot="footer" class="dialog-footer">
+ <el-button @click="dialogFormVisible = false">取 消</el-button>
+ <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
+ v-for="item in orderTypeList"
+ :key="item.value"
+ :label="item.label"
+ :value="item.value"
+ >
+ </el-option>
+ </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="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"
+ :height="height"
+ stripe:true
+ @sort-change="sortChange"
+ @selection-change="handleSelectionChange">
+ <el-table-column
+ type="selection">
+ </el-table-column>
+ <el-table-column
+ prop="orderNo"
+ label="订单编号">
+ </el-table-column>
+ <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"
+ label="下单门店">
+ </el-table-column>
+ <el-table-column
+ prop="custom"
+ label="客户">
+ </el-table-column>
+ <el-table-column
+ prop="parentSale"
+ label="推广员">
+ </el-table-column>
+ <el-table-column
+ label="收益类型">
+ <template slot-scope="scope">
+ <span v-if="scope.row.profitType == 1">推广收益</span>
+ <span v-if="scope.row.profitType == 2">邀请收益</span>
+ </template>
+ </el-table-column>
+ <el-table-column
+ prop="profitBalance"
+ label="收益金额">
+ </el-table-column>
+ <el-table-column
+ label="结算状态">
+ <template slot-scope="scope">
+ <span v-if="scope.row.settleType == 1">待结算</span>
+ <span v-if="scope.row.settleType == 2">已结算</span>
+ <span v-if="scope.row.settleType == 3">已退款</span>
+ </template>
+ </el-table-column>
+ <el-table-column
+ prop="settleNo"
+ label="结算编号" width="150">
+ </el-table-column>
+ <el-table-column
+ prop="settleTime"
+ label="结算时间">
+ </el-table-column>
+ <el-table-column
+ prop="settler"
+ label="结算人">
+ </el-table-column>
+ <el-table-column label="操作">
+ </el-table-column>
+ </el-table>
+ </el-row>
+ <el-row class="paginationStyle" >
+ <el-pagination background
+ @size-change="changePageSize"
+ @current-change="changeCurrentPage"
+ :current-page="fxyList.currentPage"
+ :page-sizes="[10, 20, 30, 50]"
+ :page-size="fxyList.pageSize"
+ layout="total, sizes, prev, pager, next, jumper"
+ :total="fxyList.total">
+ </el-pagination>
+ </el-row>
+ </el-tab-pane>
+
+ <el-tab-pane label="结算记录" name="second">
+ <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>
+ <el-button type="primary" @click="searchFormOrder" >搜索</el-button>
+ <el-button @click="resetFormOrder('formOrder')">重置</el-button>
+ </el-form>
+ </el-col>
+ </el-row>
+ <el-row class="table-style" >
+ <el-table :data="orderLevelList.rows" :height="height" stripe:true @sort-change="sortChange">
+ <el-table-column
+ prop="orderNo"
+ label="结算编号">
+ </el-table-column>
+ <el-table-column
+ prop="actualBalance"
+ label="结算金额">
+ </el-table-column>
+ <el-table-column
+ prop="setNum"
+ label="结算订单数">
+ </el-table-column>
+ <el-table-column
+ prop="setManNum"
+ label="结算人数">
+ </el-table-column>
+ <el-table-column
+ prop="setTime"
+ label="结算时间">
+ </el-table-column>
+ <el-table-column
+ prop="setMan"
+ label="结算人">
+ </el-table-column>
+ <el-table-column
+ label="结算方式">
+ <template slot-scope="scope">
+ <span v-if="scope.row.settlementWay == 1">线下结算</span>
+ <span v-if="scope.row.settlementWay == 2">微信余额结算</span>
+ </template>
+ </el-table-column>
+ <el-table-column
+ prop="remark"
+ label="备注">
+ </el-table-column>
+ </el-table>
+ </el-row>
+ <el-row class="paginationStyle" >
+ <el-pagination background
+ @size-change="changePageSizeOrder"
+ @current-change="changeCurrentPageOrder"
+ :current-page="orderLevelList.currentPage"
+ :page-sizes="[10, 20, 30, 50]"
+ :page-size="orderLevelList.pageSize"
+ layout="total, sizes, prev, pager, next, jumper"
+ :total="orderLevelList.total">
+ </el-pagination>
+ </el-row>
+ </el-tab-pane>
+ </el-tabs>
+ </el-row>
+</div>
+</body>
+<script type="text/javascript" th:src="@{/js/plugin/jquery-2.1.4.min.js}"></script>
+<script type="text/javascript" th:src="@{/js/plugin/jquery.query.js}"></script>
+<script type="text/javascript" th:src="@{/plugin/bootstrap-3.3.5/js/bootstrap.min.js}"></script>
+<script type="text/javascript" th:src="@{/js/systools/AjaxProxyVue.js}"></script>
+<script type="text/javascript" th:src="@{/js/plugin/vue.js}"></script>
+<script type="text/javascript" th:src="@{/plugin/element-ui/index.js}"></script>
+<script type="text/javascript" th:src="@{/js/systools/MJsBase.js}"></script>
+<script type="text/javascript" th:src="@{/plugin/layer/layer.js}"></script>
+<script type="text/javascript" th:src="@{/plugin/moment.min.js}"></script>
+
+<script>
+ //获取传输的USERID对象
+ var userId = $.query.get("userId");
+ var applyId = $.query.get("applyId");
+
+ var app = new Vue({
+ el: '#app',
+ 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,
+ orderNumsDones:0,
+ dialogFormVisible: false,
+ formSelect: {
+ jsje: '',
+ jsdds: '',
+ jsrs: '',
+ jsfs: 1,
+ bz: ''
+ },
+ formLabelWidth: '120px',
+ //--分销订单
+ // 条件查询结算状态
+ orderTypeList:[
+ {value:'',label:'全部'},
+ {value:1,label:'待结算'},
+ {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:''
+ },
+ fxyList:{
+ rows:[],
+ total:0,
+ pageSize:10,
+ currentPage:1,
+ },
+ //--结算记录
+ formOrder:{
+ userName:'',
+ jssj:'',
+ order:'',
+ sort:''
+ },
+ orderLevelList:{
+ rows:[],
+ total:0,
+ pageSize:10,
+ currentPage:1,
+ },
+ },
+ created: function () {
+ this.loadInfo();
+ },
+ mounted: function () {
+ },
+ methods: {
+ //加载分类
+ loadInfo() {
+ let _this = this;
+ _this.loadFenxiaoOrderBasic();
+ _this.loadFenxiaoOrderList();
+ _this.loadSetOrderList();
+ },
+ //--基础数据
+ loadFenxiaoOrderBasic() {
+ let _this = this;
+ let obj = {};
+ AjaxProxy.requst({
+ app: _this,
+ data:obj,
+ url: basePath + '/fenXiao/fenXiaoOrder/loadFenxiaoOrderBasic',
+ callback: function (data) {
+ _this.basicdetail = data.mapInfo.basicdetail;
+ }
+ });
+ },
+ //--结算记录
+ loadSetOrderList() {
+ let _this = this;
+ let data=_this.getRequestParamOrder();
+ data.pageSize=_this.orderLevelList.pageSize;
+ data.pageNum=_this.orderLevelList.currentPage;
+ AjaxProxy.requst({
+ app: _this,
+ data:data,
+ url: basePath + '/fenXiao/fenXiaoOrder/loadSetOrderList',
+ callback: function (data) {
+ _this.orderLevelList.rows = data.rows;
+ _this.orderLevelList.total = data.total;
+ }
+ });
+ },
+ //查询参数
+ 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,
+ }
+ },
+ //查询
+ searchFormOrder:function(){
+ this.orderLevelList.currentPage=1;
+ this.loadSetOrderList();
+ },
+ //重置
+ resetFormOrder(formName) {
+ this.$refs[formName].resetFields();
+ },
+ changePageSizeOrder(val) {
+ this.orderLevelList.pageSize = val;
+ this.loadSetOrderList();
+ },
+ changeCurrentPageOrder(val) {
+ this.orderLevelList.currentPage = val;
+ this.loadSetOrderList();
+ },
+ //--分销订单
+ loadFenxiaoOrderList() {
+ let _this = this;
+ let data=_this.getRequestParam();
+ data.pageSize=_this.fxyList.pageSize;
+ data.pageNum=_this.fxyList.currentPage;
+ AjaxProxy.requst({
+ app: _this,
+ data:data,
+ url: basePath + '/fenXiao/fenXiaoOrder/loadFenxiaoOrderList',
+ callback: function (data) {
+ _this.fxyList.rows = data.rows;
+ _this.fxyList.total = data.total;
+ }
+ });
+ },
+ //查询参数
+ 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,
+ }
+ },
+ //查询
+ search:function(){
+ this.fxyList.currentPage=1;
+ this.loadFenxiaoOrderList();
+ },
+ //重置
+ resetForm(formName) {
+ this.$refs[formName].resetFields();
+ },
+ changePageSize(val) {
+ this.fxyList.pageSize = val;
+ this.loadFenxiaoOrderList();
+ },
+ changeCurrentPage(val) {
+ this.fxyList.currentPage = val;
+ this.loadFenxiaoOrderList();
+ },
+ //排序
+ sortChange:function (column){
+ if(column.order){
+ if(column.order.indexOf("desc")){
+ this.form.order="desc";
+ }else{
+ this.form.order="asc";
+ }
+ this.form.sort=column.prop;
+ this.loadInfo();
+ }
+ },
+ //选择
+ handleSelectionChange(val) {
+ let _this = this;
+ _this.multipleSelection = val;
+ //拼接出一个逗号隔开的字符串
+ let submitDate = "";
+ let orderNum = 0;
+ let orderBalance = 0;
+ let orderNumsDone = 0;
+ let name = [];
+ for (let i = 0; i < _this.multipleSelection.length; i++) {
+ let order = _this.multipleSelection[i];
+ //待审核的计算到弹出框
+ let orderState = order.orderState;
+ if(orderState == 4 || orderState == 5){
+ let orderId = order.id;
+ name.push(order.customUserId);
+ orderNum = orderNum + 1;
+ orderBalance = orderBalance + order.profitBalance;
+ submitDate = submitDate +orderId+",";
+ }else{
+ orderNumsDone = orderNumsDone + 1;
+ }
+ }
+ _this.orderNumsDones = orderNumsDone;
+ _this.orderIds = submitDate;
+ _this.orderNums = orderNum;
+ _this.formSelect.jsdds = orderNum;
+ _this.formSelect.jsje = orderBalance;
+ _this.formSelect.jsrs = _this.distinctFunction(name).length;
+ },
+ //去重
+ distinctFunction(name){
+ var arr = name,
+ result = [],
+ i,
+ j,
+ len = arr.length;
+ for(i = 0; i < len; i++){
+ for(j = i + 1; j < len; j++){
+ if(arr[i] === arr[j]){
+ j = ++i;
+ }
+ }
+ result.push(arr[i]);
+ }
+ return result;
+ },
+ //批量结算
+ setOrderDone() {
+ if(this.orderNumsDones > 0){
+ this.$message({
+ message: '订单状态【待评价】和【已评价】才允许结算',
+ type: 'warning'
+ });
+ }else if(this.orderNums > 0){
+ this.dialogFormVisible = true;
+ }else{
+ this.$message({
+ message: '至少需要选中一条数据',
+ type: 'warning'
+ });
+ }
+ },
+ updateSetOrderDone(){
+ 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,
+ data:obj,
+ url: basePath + '/fenXiao/fenXiaoOrder/updateSetOrderDone',
+ callback: function (data) {
+ _this.$message.success(data.info);
+ _this.loadFenxiaoOrderList();
+ _this.dialogFormVisible = false;
+ }
+ });
+ },
+ }
+ })
+</script>
+
+</body>
+</html>
\ No newline at end of file
diff --git a/zq-erp/src/main/resources/templates/views/admin/fenxiao/fenxiao-setting.html b/zq-erp/src/main/resources/templates/views/admin/fenxiao/fenxiao-setting.html
index 7ac67c3..4b6da5c 100644
--- a/zq-erp/src/main/resources/templates/views/admin/fenxiao/fenxiao-setting.html
+++ b/zq-erp/src/main/resources/templates/views/admin/fenxiao/fenxiao-setting.html
@@ -36,6 +36,7 @@
</template>
</el-col>
</el-row>
+
<el-row style="margin-top: 20px;">
<el-col>
<template v-for="paramSettingTwo in fxms">
@@ -51,13 +52,14 @@
</template>
</el-col>
</el-row>
+
<el-row style="margin-top: 20px;">
<el-col>
<template v-for="paramSettingThree in sqfs">
<el-form-item>
<span slot="label">{{paramSettingThree.paramName}}</span>
<el-col>
- <el-radio-group v-model="paramSettingThree.paramValue">
+ <el-radio-group v-model="paramSettingThree.paramValue" @change="sqfsChange">
<div style="margin-top: 12px;"><el-radio :label="'1'">无需申请满足条件自动成为分销员</el-radio></div>
<div style="margin-top: 20px;"><el-radio :label="'2'">需要客户主动申请</el-radio></div>
</el-radio-group>
@@ -66,22 +68,8 @@
</template>
</el-col>
</el-row>
- <el-row style="margin-top: 20px;">
- <el-col>
- <template v-for="paramSettingFour in shfs">
- <el-form-item>
- <span slot="label">{{paramSettingFour.paramName}}</span>
- <el-col>
- <el-radio-group v-model="paramSettingFour.paramValue">
- <div style="margin-top: 12px;"><el-radio :label="'1'">系统自动审核</el-radio></div>
- <div style="margin-top: 20px;"><el-radio :label="'2'">人工审核</el-radio></div>
- </el-radio-group>
- </el-col>
- </el-form-item >
- </template>
- </el-col>
- </el-row>
- <el-row style="margin-top: 20px;">
+
+ <el-row v-show="isShow" style="margin-top: 20px;">
<el-col>
<template v-for="paramSettingFive in sqtj">
<el-form-item>
@@ -111,6 +99,24 @@
</template>
</el-col>
</el-row>
+
+ <el-row v-show="isShow" style="margin-top: 20px;">
+ <el-col>
+ <template v-for="paramSettingFour in shfs">
+ <el-form-item>
+ <span slot="label">{{paramSettingFour.paramName}}</span>
+ <el-col>
+ <el-radio-group v-model="paramSettingFour.paramValue">
+ <div style="margin-top: 12px;"><el-radio :label="'1'">系统自动审核</el-radio></div>
+ <div style="margin-top: 20px;"><el-radio :label="'2'">人工审核</el-radio></div>
+ </el-radio-group>
+ </el-col>
+ </el-form-item >
+ </template>
+ </el-col>
+ </el-row>
+
+
<el-drawer
title="业绩设置"
:visible.sync="drawer"
@@ -274,6 +280,8 @@
//表格加载效果
loading: false,
/******搜索表格数据END********/
+ val:'',
+ isShow:true,
fxkg:[],
fxms:[],
sqfs:[],
@@ -292,6 +300,10 @@
let _this = this;
_this.loadParamSetting();
},
+ sqfsChange(val){
+ let _this = this;
+ _this.isShow=(val==2)?true:false;
+ },
loadParamSetting() {
let _this = this;
//加载配置
@@ -303,6 +315,14 @@
_this.fxkg = data.mapInfo.fxkg;
_this.fxms = data.mapInfo.fxms;
_this.sqfs = data.mapInfo.sqfs;
+ if(_this.sqfs.length > 0){
+ let paramssqfs = _this.sqfs[0].paramValue;
+ if(paramssqfs == 2){
+ _this.isShow = true;
+ }else{
+ _this.isShow = false;
+ }
+ }
_this.shfs = data.mapInfo.shfs;
_this.sqtj = data.mapInfo.sqtj;
//_this.order.items = data.mapInfo.order;
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 cc2ebb2..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
@@ -399,7 +399,7 @@
});
},
handleAvatarSuccess(res, file) {
- this.imageUrl = URL.createObjectURL(file.raw);
+ this.imageUrl = res.path;
},
beforeAvatarUpload(file) {
const isJPG = file.type === 'image/jpeg';
@@ -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();
},
//时间格式化
diff --git a/zq-erp/src/main/resources/templates/views/admin/shop/shopUser-list.html b/zq-erp/src/main/resources/templates/views/admin/shop/shopUser-list.html
index 04342bd..b0d1f09 100644
--- a/zq-erp/src/main/resources/templates/views/admin/shop/shopUser-list.html
+++ b/zq-erp/src/main/resources/templates/views/admin/shop/shopUser-list.html
@@ -21,14 +21,7 @@
<div class="col-md-2 col-xs-12">
<!-- 功能按钮部分 -->
<div class="">
- <button onclick="setUserSales('1')" type="button"
- class="btn btn-success btn-sm" matrix:btn="shopUser-exchangeScore">
- <i class="fa fa-plus"></i>设为销售员
- </button>
- <button onclick="setUserSales('0')" type="button"
- class="btn btn-success btn-sm" matrix:btn="shopUser-exchangeScore">
- <i class="fa fa-minus-square"></i> 解除销售员
- </button>
+
</div>
</div>
<div class="col-md-10 col-xs-12">
@@ -199,63 +192,14 @@
function buildOperate(value, row, index){
var html = "";
html += '<div class="btn-group">'
- if (row.userVip == 1) {
- html += btns[0].replace('VALUE',value)
- html += btns[1].replace('VALUE',value)
- }
html += '</div>';
return html;
}
- function exchangeScore(_userId) {
- layer.open({
- type : 2,
- title : "兑换积分",
- area : [ MUI.SIZE_L, '400px' ],
- maxmin : true,
- content : [ basePath+'/admin/bizUserScore/intoExchangePage?userId=' + _userId]
- })
- }
- function getScoreFlow(_userId) {
- layer.open({
- type : 2,
- title : "积分流水",
- area : [ MUI.SIZE_L, '400px' ],
- maxmin : true,
- content : [ basePath+'/admin/redirect/shop/user-score-flow?userId=' + _userId]
- })
- }
- //设置用户销售员身份
- function setUserSales(_status) {
- var ids = myGrid.getSelectItemsIds("userId");
- if(ids.length < 1){
- layer.msg("请选择要操作的数据", {
- icon : 5
- });
- return false;
- }
- var url = basePath + "/admin/bizUser/setUserSales?ids=" + ids + "&status=" + _status;
-
- if(_status == '1'){
- MTools.handleItem(url,"确认要将这" + ids.split(",").length + "个用户设置为销售员吗?",function(){
- myGrid.serchData(1)
- });
- } else {
- MTools.handleItem(url,"确认要取消这" + ids.split(",").length + "个用户的销售员身份吗?",function(){
- myGrid.serchData(1)
- });
- }
- }
</script>
-<!--权限按钮-->
-<script matrix:btn="shopUser-exchangeScore">
- btns[0] = '<button type="button" class="btn btn-info mr10" onClick="exchangeScore(\'VALUE\')">兑换积分</button>'
-</script>
-<script matrix:btn="shopUser-scoreFlow">
- btns[1] = '<button type="button" class="btn btn-primary ml10" onClick="getScoreFlow(\'VALUE\')">查看流水</button>'
-</script>
+
</body>
</html>
diff --git a/zq-erp/src/test/java/com/matrix/JyyTests.java b/zq-erp/src/test/java/com/matrix/JyyTests.java
new file mode 100644
index 0000000..b2b3243
--- /dev/null
+++ b/zq-erp/src/test/java/com/matrix/JyyTests.java
@@ -0,0 +1,47 @@
+package com.matrix;
+
+import com.matrix.system.shopXcx.dao.ShopOrderV2Dao;
+import org.junit.Test;
+import org.junit.runner.RunWith;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.boot.test.context.SpringBootTest;
+import org.springframework.test.context.junit4.SpringRunner;
+
+/**
+ * 测试类示例
+ *
+ * @author jiangyouyao
+ * @email 512061637@qq.com
+ * @date 2019年2月25日
+ */
+@RunWith(SpringRunner.class)
+@SpringBootTest(classes = {ZqErpApplication.class},webEnvironment =SpringBootTest.WebEnvironment.RANDOM_PORT)
+public class JyyTests {
+
+
+ @Autowired
+ private ShopOrderV2Dao shopOrderV2Dao;
+
+
+
+ /**
+ *
+ */
+ @Test
+ public void testSelectReceivedOrderCount() throws InterruptedException {
+ System.out.println( shopOrderV2Dao.selectReceivedOrderCount("oJkRK4yelehsY4S7I6Ee1ydWtQMI"));
+ }
+
+ @Test
+ public void testCountOrderAmount() throws InterruptedException {
+ System.out.println( shopOrderV2Dao.countOrderAmount("oJkRK4yelehsY4S7I6Ee1ydWtQMI"));
+ }
+
+
+ @Test
+ public void countBuyZdcp() throws InterruptedException {
+ System.out.println( shopOrderV2Dao.countBuyZdcp("oJkRK4yelehsY4S7I6Ee1ydWtQMI","1167,1263,1262"));
+ }
+
+
+}
--
Gitblit v1.9.1