CommissionRuleServiceImpl.java 7.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185
  1. package com.fuint.common.service.impl;
  2. import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
  3. import com.baomidou.mybatisplus.core.toolkit.Wrappers;
  4. import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
  5. import com.fuint.framework.annoation.OperationServiceLog;
  6. import com.fuint.framework.exception.BusinessCheckException;
  7. import com.fuint.framework.pagination.PaginationRequest;
  8. import com.fuint.framework.pagination.PaginationResponse;
  9. import com.fuint.repository.mapper.MtCommissionRuleMapper;
  10. import com.fuint.common.service.CommissionRuleService;
  11. import com.fuint.common.enums.StatusEnum;
  12. import com.fuint.repository.model.MtCommissionRule;
  13. import com.github.pagehelper.PageHelper;
  14. import lombok.AllArgsConstructor;
  15. import org.apache.commons.lang.StringUtils;
  16. import org.slf4j.Logger;
  17. import org.slf4j.LoggerFactory;
  18. import com.github.pagehelper.Page;
  19. import org.springframework.data.domain.PageImpl;
  20. import org.springframework.data.domain.PageRequest;
  21. import org.springframework.stereotype.Service;
  22. import org.springframework.transaction.annotation.Transactional;
  23. import java.util.*;
  24. /**
  25. * 分销提成服务接口
  26. *
  27. * Created by FSQ
  28. * CopyRight https://www.fuint.cn
  29. */
  30. @Service
  31. @AllArgsConstructor
  32. public class CommissionRuleServiceImpl extends ServiceImpl<MtCommissionRuleMapper, MtCommissionRule> implements CommissionRuleService {
  33. private static final Logger logger = LoggerFactory.getLogger(CommissionRuleServiceImpl.class);
  34. private MtCommissionRuleMapper mtCommissionRuleMapper;
  35. /**
  36. * 分页查询规则列表
  37. *
  38. * @param paginationRequest
  39. * @return
  40. */
  41. @Override
  42. public PaginationResponse<MtCommissionRule> queryDataByPagination(PaginationRequest paginationRequest) {
  43. Page<MtCommissionRule> pageHelper = PageHelper.startPage(paginationRequest.getCurrentPage(), paginationRequest.getPageSize());
  44. LambdaQueryWrapper<MtCommissionRule> lambdaQueryWrapper = Wrappers.lambdaQuery();
  45. lambdaQueryWrapper.ne(MtCommissionRule::getStatus, StatusEnum.DISABLE.getKey());
  46. String title = paginationRequest.getSearchParams().get("title") == null ? "" : paginationRequest.getSearchParams().get("title").toString();
  47. if (StringUtils.isNotBlank(title)) {
  48. lambdaQueryWrapper.like(MtCommissionRule::getName, title);
  49. }
  50. String status = paginationRequest.getSearchParams().get("status") == null ? "" : paginationRequest.getSearchParams().get("status").toString();
  51. if (StringUtils.isNotBlank(status)) {
  52. lambdaQueryWrapper.eq(MtCommissionRule::getStatus, status);
  53. }
  54. String storeId = paginationRequest.getSearchParams().get("storeId") == null ? "" : paginationRequest.getSearchParams().get("storeId").toString();
  55. if (StringUtils.isNotBlank(storeId)) {
  56. lambdaQueryWrapper.eq(MtCommissionRule::getStoreId, storeId);
  57. }
  58. lambdaQueryWrapper.orderByDesc(MtCommissionRule::getId);
  59. List<MtCommissionRule> dataList = mtCommissionRuleMapper.selectList(lambdaQueryWrapper);
  60. PageRequest pageRequest = PageRequest.of(paginationRequest.getCurrentPage(), paginationRequest.getPageSize());
  61. PageImpl pageImpl = new PageImpl(dataList, pageRequest, pageHelper.getTotal());
  62. PaginationResponse<MtCommissionRule> paginationResponse = new PaginationResponse(pageImpl, MtCommissionRule.class);
  63. paginationResponse.setTotalPages(pageHelper.getPages());
  64. paginationResponse.setTotalElements(pageHelper.getTotal());
  65. paginationResponse.setContent(dataList);
  66. return paginationResponse;
  67. }
  68. /**
  69. * 添加分销提成规则
  70. *
  71. * @param commissionRule
  72. */
  73. @Override
  74. @OperationServiceLog(description = "新增分销提成规则")
  75. public MtCommissionRule addCommissionRule(MtCommissionRule commissionRule) {
  76. MtCommissionRule mtCommissionRule = new MtCommissionRule();
  77. Integer id = mtCommissionRuleMapper.insert(mtCommissionRule);
  78. if (id > 0) {
  79. return mtCommissionRule;
  80. } else {
  81. logger.error("新增分销提成规则失败...");
  82. return null;
  83. }
  84. }
  85. /**
  86. * 根据ID获取规则信息
  87. *
  88. * @param id
  89. */
  90. @Override
  91. public MtCommissionRule queryCommissionRuleById(Integer id) {
  92. return mtCommissionRuleMapper.selectById(id);
  93. }
  94. /**
  95. * 根据ID删除
  96. *
  97. * @param id
  98. * @param operator 操作人
  99. */
  100. @Override
  101. @OperationServiceLog(description = "删除分销提成规则")
  102. public void deleteCommissionRule(Integer id, String operator) {
  103. MtCommissionRule mtCommissionRule = queryCommissionRuleById(id);
  104. if (mtCommissionRule == null) {
  105. logger.error("删除分销提成规则失败...");
  106. return;
  107. }
  108. mtCommissionRule.setStatus(StatusEnum.DISABLE.getKey());
  109. mtCommissionRule.setUpdateTime(new Date());
  110. mtCommissionRuleMapper.updateById(mtCommissionRule);
  111. }
  112. /**
  113. * 更新分销提成规则
  114. *
  115. * @param commissionRule
  116. * @throws BusinessCheckException
  117. */
  118. @Override
  119. @Transactional(rollbackFor = Exception.class)
  120. @OperationServiceLog(description = "更新分销提成规则")
  121. public MtCommissionRule updateCommissionRule(MtCommissionRule commissionRule) throws BusinessCheckException {
  122. MtCommissionRule mtCommissionRule = queryCommissionRuleById(commissionRule.getId());
  123. if (mtCommissionRule == null) {
  124. logger.error("更新分销提成规则失败...");
  125. throw new BusinessCheckException("该数据状态异常");
  126. }
  127. mtCommissionRule.setId(commissionRule.getId());
  128. if (commissionRule.getStoreId() != null) {
  129. mtCommissionRule.setStoreId(commissionRule.getStoreId());
  130. }
  131. if (commissionRule.getDescription() != null) {
  132. mtCommissionRule.setDescription(commissionRule.getDescription());
  133. }
  134. if (commissionRule.getOperator() != null) {
  135. mtCommissionRule.setOperator(commissionRule.getOperator());
  136. }
  137. if (commissionRule.getStatus() != null) {
  138. mtCommissionRule.setStatus(commissionRule.getStatus());
  139. }
  140. mtCommissionRule.setUpdateTime(new Date());
  141. mtCommissionRuleMapper.updateById(mtCommissionRule);
  142. return mtCommissionRule;
  143. }
  144. @Override
  145. public List<MtCommissionRule> queryDataByParams(Map<String, Object> params) {
  146. String status = params.get("status") == null ? StatusEnum.ENABLED.getKey(): params.get("status").toString();
  147. String storeId = params.get("storeId") == null ? "" : params.get("storeId").toString();
  148. String name = params.get("name") == null ? "" : params.get("name").toString();
  149. LambdaQueryWrapper<MtCommissionRule> lambdaQueryWrapper = Wrappers.lambdaQuery();
  150. if (StringUtils.isNotBlank(name)) {
  151. lambdaQueryWrapper.like(MtCommissionRule::getName, name);
  152. }
  153. if (StringUtils.isNotBlank(status)) {
  154. lambdaQueryWrapper.eq(MtCommissionRule::getStatus, status);
  155. }
  156. if (StringUtils.isNotBlank(storeId)) {
  157. lambdaQueryWrapper.and(wq -> wq
  158. .eq(MtCommissionRule::getStoreId, 0)
  159. .or()
  160. .eq(MtCommissionRule::getStoreId, storeId));
  161. }
  162. lambdaQueryWrapper.orderByAsc(MtCommissionRule::getId);
  163. List<MtCommissionRule> dataList = mtCommissionRuleMapper.selectList(lambdaQueryWrapper);
  164. return dataList;
  165. }
  166. }