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