From b6b5fea50e8f8773c0f266241fcd6b77d37e01fe Mon Sep 17 00:00:00 2001
From: jyy <jyy>
Date: Thu, 03 Jun 2021 15:04:51 +0800
Subject: [PATCH] 业绩规则1
---
zq-erp/src/main/java/com/matrix/system/hive/bean/ShoppingGoods.java | 12 ++
zq-erp/pom.xml | 4
zq-erp/src/main/java/com/matrix/config/MvcCoreConfig.java | 14 +-
zq-erp/src/main/java/com/matrix/system/hiveErp/action/AchieveRuleAction.java | 133 ++++++++++++++++++++++
zq-erp/src/main/resources/mybatis/mapper/hive/AchieveRuleDao.xml | 7 +
zq-erp/src/main/resources/mybatis/mapper/hive/ShoppingGoodsDao.xml | 14 ++
zq-erp/src/main/java/com/matrix/system/hive/bean/AchieveRule.java | 33 +++++
zq-erp/src/main/java/com/matrix/system/hive/service/AchieveRuleService.java | 33 +++++
zq-erp/src/main/java/com/matrix/system/hiveErp/pojo/AchieveRuleItem.java | 56 +++++++++
zq-erp/src/main/java/com/matrix/system/hive/dao/AchieveRuleDao.java | 11 +
10 files changed, 306 insertions(+), 11 deletions(-)
diff --git a/zq-erp/pom.xml b/zq-erp/pom.xml
index 3bdc5c1..7554850 100644
--- a/zq-erp/pom.xml
+++ b/zq-erp/pom.xml
@@ -401,11 +401,11 @@
<exclude>config/xcx/*</exclude>
<exclude>config/xcshop/*</exclude>
- <!-- -->
+ <!--
<exclude>config/config.json</exclude>
<exclude>config/application.properties</exclude>
<exclude>config/system.properties</exclude>
-
+ -->
<exclude>**/*.woff</exclude>
diff --git a/zq-erp/src/main/java/com/matrix/config/MvcCoreConfig.java b/zq-erp/src/main/java/com/matrix/config/MvcCoreConfig.java
index c61852d..03cb319 100644
--- a/zq-erp/src/main/java/com/matrix/config/MvcCoreConfig.java
+++ b/zq-erp/src/main/java/com/matrix/config/MvcCoreConfig.java
@@ -66,13 +66,13 @@
.excludePathPatterns("/webjars/**");
// 用户认证拦截
- registry.addInterceptor(userLoginInterceptor)
- .addPathPatterns("/**")
- .excludePathPatterns("/common/**")
- .excludePathPatterns("/resource/**")
- .excludePathPatterns("/swagger**/**")
- .excludePathPatterns("/webjars/**")
- .excludePathPatterns("/api/**");
+// registry.addInterceptor(userLoginInterceptor)
+// .addPathPatterns("/**")
+// .excludePathPatterns("/common/**")
+// .excludePathPatterns("/resource/**")
+// .excludePathPatterns("/swagger**/**")
+// .excludePathPatterns("/webjars/**")
+// .excludePathPatterns("/api/**");
// url权限拦截
registry.addInterceptor(suAuthorityInterceptor).addPathPatterns("/**/su/**");
diff --git a/zq-erp/src/main/java/com/matrix/system/hive/bean/AchieveRule.java b/zq-erp/src/main/java/com/matrix/system/hive/bean/AchieveRule.java
new file mode 100644
index 0000000..07e7594
--- /dev/null
+++ b/zq-erp/src/main/java/com/matrix/system/hive/bean/AchieveRule.java
@@ -0,0 +1,33 @@
+package com.matrix.system.hive.bean;
+
+import com.baomidou.mybatisplus.annotation.TableField;
+import com.baomidou.mybatisplus.annotation.TableName;
+import com.matrix.system.hiveErp.pojo.AchieveRuleItem;
+import com.matrix.system.score.entity.BaseEntity;
+import lombok.Data;
+
+import javax.validation.constraints.NotEmpty;
+import java.util.List;
+
+/**
+ * 业绩规则
+ * @author JIANGYOUYAO
+ * @date 2021/6/3 0003
+ */
+@Data
+@TableName("achieve_rule")
+public class AchieveRule extends BaseEntity {
+
+ @NotEmpty(message = "规则名称不能为空")
+ private String name;
+
+
+ private String rules;
+
+ private Long companyId;
+
+ @TableField(exist=false)
+ @NotEmpty(message = "规则不能为空")
+ private List<AchieveRuleItem> ruleItemList;
+
+}
diff --git a/zq-erp/src/main/java/com/matrix/system/hive/bean/ShoppingGoods.java b/zq-erp/src/main/java/com/matrix/system/hive/bean/ShoppingGoods.java
index 7dfeeff..c6ae234 100644
--- a/zq-erp/src/main/java/com/matrix/system/hive/bean/ShoppingGoods.java
+++ b/zq-erp/src/main/java/com/matrix/system/hive/bean/ShoppingGoods.java
@@ -433,12 +433,24 @@
* 任选套餐是否无限次 N-否 Y-是
*/
private String isInfinite;
+ /**
+ *业绩规则id
+ */
+ private Long achieveRuleId;
/**
* 支付方式 1-充值本金 2-赠送金额 3-积分
*/
private String payMethods;
+ public Long getAchieveRuleId() {
+ return achieveRuleId;
+ }
+
+ public void setAchieveRuleId(Long achieveRuleId) {
+ this.achieveRuleId = achieveRuleId;
+ }
+
public String getPayMethods() {
return payMethods;
}
diff --git a/zq-erp/src/main/java/com/matrix/system/hive/dao/AchieveRuleDao.java b/zq-erp/src/main/java/com/matrix/system/hive/dao/AchieveRuleDao.java
new file mode 100644
index 0000000..08034c3
--- /dev/null
+++ b/zq-erp/src/main/java/com/matrix/system/hive/dao/AchieveRuleDao.java
@@ -0,0 +1,11 @@
+package com.matrix.system.hive.dao;
+
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.matrix.system.hive.bean.AchieveRule;
+
+/**
+ * 业绩规则dao
+ */
+public interface AchieveRuleDao extends BaseMapper<AchieveRule> {
+
+}
\ No newline at end of file
diff --git a/zq-erp/src/main/java/com/matrix/system/hive/service/AchieveRuleService.java b/zq-erp/src/main/java/com/matrix/system/hive/service/AchieveRuleService.java
new file mode 100644
index 0000000..601c8fe
--- /dev/null
+++ b/zq-erp/src/main/java/com/matrix/system/hive/service/AchieveRuleService.java
@@ -0,0 +1,33 @@
+package com.matrix.system.hive.service;
+
+import cn.hutool.json.JSONUtil;
+import com.matrix.system.hive.bean.AchieveRule;
+import com.matrix.system.hive.dao.AchieveRuleDao;
+import com.matrix.system.hiveErp.pojo.AchieveRuleItem;
+import lombok.AllArgsConstructor;
+import org.springframework.stereotype.Service;
+
+/**
+ * 业绩规则服务
+ * @author JIANGYOUYAO
+ * @date 2021/6/3 0003
+ */
+@Service
+@AllArgsConstructor
+public class AchieveRuleService {
+
+ AchieveRuleDao achieveRuleDao;
+
+
+ /**
+ * 根据id查询 AchieveRule
+ * @param id
+ * @return
+ */
+ public AchieveRule selectById(Long id){
+ AchieveRule achieveRule = achieveRuleDao.selectById(id);
+ achieveRule.setRuleItemList(JSONUtil.toList(JSONUtil.parseArray(achieveRule.getRules()), AchieveRuleItem.class));
+ return achieveRule;
+ }
+
+}
diff --git a/zq-erp/src/main/java/com/matrix/system/hiveErp/action/AchieveRuleAction.java b/zq-erp/src/main/java/com/matrix/system/hiveErp/action/AchieveRuleAction.java
new file mode 100644
index 0000000..9a61518
--- /dev/null
+++ b/zq-erp/src/main/java/com/matrix/system/hiveErp/action/AchieveRuleAction.java
@@ -0,0 +1,133 @@
+package com.matrix.system.hiveErp.action;
+
+import cn.hutool.core.date.DateTime;
+import cn.hutool.json.JSONUtil;
+import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
+import com.baomidou.mybatisplus.core.metadata.IPage;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.matrix.core.constance.MatrixConstance;
+import com.matrix.core.pojo.AjaxResult;
+import com.matrix.core.pojo.BasePageQueryDto;
+import com.matrix.core.tools.StringUtils;
+import com.matrix.core.tools.WebUtil;
+import com.matrix.system.common.bean.SysUsers;
+import com.matrix.system.common.dao.SysUsersDao;
+import com.matrix.system.hive.action.util.QueryUtil;
+import com.matrix.system.hive.bean.AchieveRule;
+import com.matrix.system.hive.dao.AchieveRuleDao;
+import com.matrix.system.hive.plugin.util.CollectionUtils;
+import com.matrix.system.hiveErp.pojo.AchieveRuleItem;
+import lombok.AllArgsConstructor;
+import org.springframework.validation.annotation.Validated;
+import org.springframework.web.bind.annotation.*;
+
+/**
+ * 业绩规则Api
+ *
+ * @author jiangyouyao
+ * @date 2021-06-03
+ **/
+@RestController
+@AllArgsConstructor
+@RequestMapping(value = "/admin/achieveRule")
+public class AchieveRuleAction {
+
+ private AchieveRuleDao achieveRuleDao;
+
+
+ private SysUsersDao sysUsersDao;
+
+
+ /**
+ * 新增业绩规则
+ * @param achieveRule
+ * @return
+ */
+ @PostMapping("/add")
+ public AjaxResult add(@RequestBody @Validated AchieveRule achieveRule) {
+
+ WebUtil.setSessionAttribute(MatrixConstance.LOGIN_KEY,sysUsersDao.selectById(2L));
+
+ if(CollectionUtils.isEmpty(achieveRule.getRuleItemList())){
+ return AjaxResult.buildFailInstance("规则设置不能为空");
+ }
+ String rules = JSONUtil.toJsonStr(achieveRule.getRuleItemList());
+ achieveRule.setRules(rules);
+
+ QueryUtil.setQueryLimitCom(achieveRule);
+ SysUsers user = WebUtil.getSessionAttribute(MatrixConstance.LOGIN_KEY);
+ achieveRule.setCreateTime(DateTime.now());
+ achieveRule.setUpdateTime(DateTime.now());
+ achieveRule.setCreateBy(user.getSuName());
+ achieveRule.setUpdateBy(user.getSuName());
+ achieveRuleDao.insert(achieveRule);
+ return AjaxResult.buildSuccessInstance("新增成功");
+ }
+
+ /**
+ * 修改业绩规则
+ *
+ * @param achieveRule
+ * @return
+ */
+ @PostMapping("/update")
+ public AjaxResult update(@RequestBody @Validated AchieveRule achieveRule) {
+ WebUtil.setSessionAttribute(MatrixConstance.LOGIN_KEY,sysUsersDao.selectById(2L));
+ if (achieveRule.getId() == null) {
+ return AjaxResult.buildFailInstance("id不能为空");
+ }
+
+ if(CollectionUtils.isEmpty(achieveRule.getRuleItemList())){
+ return AjaxResult.buildFailInstance("规则设置不能为空");
+ }
+ String rules = JSONUtil.toJsonStr(achieveRule.getRuleItemList());
+ achieveRule.setRules(rules);
+
+ SysUsers user = WebUtil.getSessionAttribute(MatrixConstance.LOGIN_KEY);
+ achieveRule.setUpdateBy(user.getSuName());
+ achieveRule.setUpdateTime(DateTime.now());
+ achieveRuleDao.updateById(achieveRule);
+ return AjaxResult.buildSuccessInstance("修改成功");
+ }
+
+ /**
+ * 删除id
+ *
+ * @param id
+ * @return
+ */
+ @GetMapping("/removeById/{id}")
+ public AjaxResult removeById(@PathVariable Long id) {
+ achieveRuleDao.deleteById(id);
+ return AjaxResult.buildFailInstance("删除成功");
+ }
+
+
+ /**
+ * 分页查询规则
+ *
+ * @param pageDto
+ * @return
+ */
+ @PostMapping("/selectList")
+ public AjaxResult removeById(@RequestBody BasePageQueryDto pageDto) {
+ WebUtil.setSessionAttribute(MatrixConstance.LOGIN_KEY,sysUsersDao.selectById(2L));
+ SysUsers user = WebUtil.getSessionAttribute(MatrixConstance.LOGIN_KEY);
+ Page<AchieveRule> page = new Page<>(pageDto.getPageNum(), pageDto.getPageSize());
+ LambdaQueryWrapper<AchieveRule> lambdaQueryWrapper = new LambdaQueryWrapper<AchieveRule>()
+ .eq(AchieveRule::getCompanyId, user.getCompanyId());
+ if (StringUtils.isNotBlank(pageDto.getKeywords())) {
+ lambdaQueryWrapper.like(AchieveRule::getName, pageDto.getKeywords());
+ }
+ IPage<AchieveRule> achieveRuleIPage = achieveRuleDao.selectPage(page, lambdaQueryWrapper);
+ achieveRuleIPage.getRecords().stream().forEach(item->{
+ item.setRuleItemList(JSONUtil.toList(JSONUtil.parseArray(item.getRules()), AchieveRuleItem.class));
+ item.setRules(null);
+ });
+
+ AjaxResult result = AjaxResult.buildSuccessInstance(achieveRuleIPage.getRecords(), achieveRuleIPage.getTotal());
+ return result;
+ }
+
+
+}
diff --git a/zq-erp/src/main/java/com/matrix/system/hiveErp/pojo/AchieveRuleItem.java b/zq-erp/src/main/java/com/matrix/system/hiveErp/pojo/AchieveRuleItem.java
new file mode 100644
index 0000000..6b67b4e
--- /dev/null
+++ b/zq-erp/src/main/java/com/matrix/system/hiveErp/pojo/AchieveRuleItem.java
@@ -0,0 +1,56 @@
+package com.matrix.system.hiveErp.pojo;
+
+import lombok.Data;
+
+/**
+ * 绩效规则明细
+ * @author JIANGYOUYAO
+ * @date 2021/6/3 0003
+ */
+@Data
+public class AchieveRuleItem {
+ /**
+ * 类型,1本金消耗
+ */
+ public static final int ACHIEVE_TYPE_BJ=1;
+ /**
+ * 类型,2赠送消耗
+ */
+ public static final int ACHIEVE_TYPE_CONSUME=2;
+ /**
+ * 计算类型 1 固定值
+ */
+ public static final int ACHIEVE_TYPE_FIXED=1;
+ /**
+ * 计算类型 2百分比
+ */
+ public static final int ACHIEVE_TYPE_PERCENTAGE=2;
+
+
+ /**
+ * 类型,1本金消耗,2赠送消耗
+ */
+ private Integer achieveType;
+
+ /**
+ * 计算类型 1 固定值,2百分比
+ */
+ private Integer calculationType;
+
+ /**
+ * 区间-低
+ */
+ private Double Lower ;
+
+ /**
+ * 区间-高
+ */
+ private Double upper ;
+
+ /**
+ * 业绩值
+ */
+ private Double achieve;
+
+
+}
diff --git a/zq-erp/src/main/resources/mybatis/mapper/hive/AchieveRuleDao.xml b/zq-erp/src/main/resources/mybatis/mapper/hive/AchieveRuleDao.xml
new file mode 100644
index 0000000..a6c3707
--- /dev/null
+++ b/zq-erp/src/main/resources/mybatis/mapper/hive/AchieveRuleDao.xml
@@ -0,0 +1,7 @@
+<?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.hive.dao.AchieveRuleDao">
+
+</mapper>
\ No newline at end of file
diff --git a/zq-erp/src/main/resources/mybatis/mapper/hive/ShoppingGoodsDao.xml b/zq-erp/src/main/resources/mybatis/mapper/hive/ShoppingGoodsDao.xml
index 0c6cb3c..e49dc44 100644
--- a/zq-erp/src/main/resources/mybatis/mapper/hive/ShoppingGoodsDao.xml
+++ b/zq-erp/src/main/resources/mybatis/mapper/hive/ShoppingGoodsDao.xml
@@ -91,6 +91,7 @@
<result property="useValid" column="use_valid" />
<result property="buyValid" column="buy_valid" />
<result property="isInfinite" column="is_infinite" />
+ <result property="achieveRuleId" column="achieve_rule_id" />
@@ -160,6 +161,7 @@
<!-- 服务项目信息 -->
<result property="proReward" column="proReward" />
<result property="timeLength" column="TIME_LENGTH" />
+ <result property="achieveRuleId" column="achieve_rule_id" />
<!-- 扩展属性 -->
@@ -301,7 +303,9 @@
use_valid,
invalid_time,
pay_methods,
- is_infinite
+ is_infinite,
+ achieve_rule_id
+
)
VALUES (
#{id},
@@ -362,7 +366,9 @@
#{useValid},
#{invalidTime},
#{payMethods},
- #{isInfinite}
+ #{isInfinite},
+ #{achieveRuleId}
+
)
</insert>
@@ -538,6 +544,10 @@
<if test="isInfinite != null and isInfinite !='' ">
is_infinite = #{isInfinite},
</if>
+
+ <if test="achieveRuleId != null and achieveRuleId !='' ">
+ achieve_rule_id = #{achieveRuleId},
+ </if>
invalid_time = #{invalidTime},
buy_valid = #{buyValid},
use_valid = #{useValid},
--
Gitblit v1.9.1