New file |
| | |
| | | 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.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) { |
| | | |
| | | |
| | | |
| | | 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) { |
| | | |
| | | if (achieveRule.getId() == null) { |
| | | return AjaxResult.buildFailInstance("id不能为空"); |
| | | } |
| | | |
| | | 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.buildSuccessInstance("删除成功"); |
| | | } |
| | | |
| | | |
| | | /** |
| | | * 分页查询规则 |
| | | * |
| | | * @param pageDto |
| | | * @return |
| | | */ |
| | | @PostMapping("/selectList") |
| | | public AjaxResult selectList(@RequestBody BasePageQueryDto pageDto) { |
| | | |
| | | 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; |
| | | } |
| | | |
| | | @PostMapping("/selectListForm") |
| | | public AjaxResult selectListForm(BasePageQueryDto pageDto) { |
| | | return selectList(pageDto); |
| | | } |
| | | } |