|
@@ -4,15 +4,20 @@ import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
|
|
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
|
|
|
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
|
|
|
|
|
+import com.fuint.common.param.CommissionRuleItemParam;
|
|
|
+import com.fuint.common.param.CommissionRuleParam;
|
|
|
import com.fuint.framework.annoation.OperationServiceLog;
|
|
|
import com.fuint.framework.exception.BusinessCheckException;
|
|
|
import com.fuint.framework.pagination.PaginationRequest;
|
|
|
import com.fuint.framework.pagination.PaginationResponse;
|
|
|
+import com.fuint.repository.mapper.MtCommissionRuleItemMapper;
|
|
|
import com.fuint.repository.mapper.MtCommissionRuleMapper;
|
|
|
import com.fuint.common.service.CommissionRuleService;
|
|
|
import com.fuint.common.enums.StatusEnum;
|
|
|
|
|
|
import com.fuint.repository.model.MtCommissionRule;
|
|
|
+import com.fuint.repository.model.MtCommissionRuleItem;
|
|
|
+import com.fuint.utils.StringUtil;
|
|
|
import com.github.pagehelper.PageHelper;
|
|
|
import lombok.AllArgsConstructor;
|
|
|
import org.apache.commons.lang.StringUtils;
|
|
@@ -40,6 +45,8 @@ public class CommissionRuleServiceImpl extends ServiceImpl<MtCommissionRuleMappe
|
|
|
|
|
|
private MtCommissionRuleMapper mtCommissionRuleMapper;
|
|
|
|
|
|
+ private MtCommissionRuleItemMapper mtCommissionRuleItemMapper;
|
|
|
+
|
|
|
/**
|
|
|
* 分页查询规则列表
|
|
|
*
|
|
@@ -52,14 +59,22 @@ public class CommissionRuleServiceImpl extends ServiceImpl<MtCommissionRuleMappe
|
|
|
LambdaQueryWrapper<MtCommissionRule> lambdaQueryWrapper = Wrappers.lambdaQuery();
|
|
|
lambdaQueryWrapper.ne(MtCommissionRule::getStatus, StatusEnum.DISABLE.getKey());
|
|
|
|
|
|
- String title = paginationRequest.getSearchParams().get("title") == null ? "" : paginationRequest.getSearchParams().get("title").toString();
|
|
|
- if (StringUtils.isNotBlank(title)) {
|
|
|
- lambdaQueryWrapper.like(MtCommissionRule::getName, title);
|
|
|
+ String name = paginationRequest.getSearchParams().get("name") == null ? "" : paginationRequest.getSearchParams().get("name").toString();
|
|
|
+ if (StringUtils.isNotBlank(name)) {
|
|
|
+ lambdaQueryWrapper.like(MtCommissionRule::getName, name);
|
|
|
}
|
|
|
String status = paginationRequest.getSearchParams().get("status") == null ? "" : paginationRequest.getSearchParams().get("status").toString();
|
|
|
if (StringUtils.isNotBlank(status)) {
|
|
|
lambdaQueryWrapper.eq(MtCommissionRule::getStatus, status);
|
|
|
}
|
|
|
+ String target = paginationRequest.getSearchParams().get("target") == null ? "" : paginationRequest.getSearchParams().get("target").toString();
|
|
|
+ if (StringUtils.isNotBlank(target)) {
|
|
|
+ lambdaQueryWrapper.eq(MtCommissionRule::getTarget, target);
|
|
|
+ }
|
|
|
+ String type = paginationRequest.getSearchParams().get("type") == null ? "" : paginationRequest.getSearchParams().get("type").toString();
|
|
|
+ if (StringUtils.isNotBlank(type)) {
|
|
|
+ lambdaQueryWrapper.eq(MtCommissionRule::getType, type);
|
|
|
+ }
|
|
|
String merchantId = paginationRequest.getSearchParams().get("merchantId") == null ? "" : paginationRequest.getSearchParams().get("merchantId").toString();
|
|
|
if (StringUtils.isNotBlank(merchantId)) {
|
|
|
lambdaQueryWrapper.eq(MtCommissionRule::getMerchantId, merchantId);
|
|
@@ -86,10 +101,12 @@ public class CommissionRuleServiceImpl extends ServiceImpl<MtCommissionRuleMappe
|
|
|
* 添加分销提成规则
|
|
|
*
|
|
|
* @param commissionRule
|
|
|
+ * @return
|
|
|
*/
|
|
|
@Override
|
|
|
+ @Transactional(rollbackFor = Exception.class)
|
|
|
@OperationServiceLog(description = "新增分销提成规则")
|
|
|
- public MtCommissionRule addCommissionRule(MtCommissionRule commissionRule) throws BusinessCheckException {
|
|
|
+ public MtCommissionRule addCommissionRule(CommissionRuleParam commissionRule) throws BusinessCheckException {
|
|
|
MtCommissionRule mtCommissionRule = new MtCommissionRule();
|
|
|
BeanUtils.copyProperties(commissionRule, mtCommissionRule);
|
|
|
mtCommissionRule.setStatus(StatusEnum.ENABLED.getKey());
|
|
@@ -99,11 +116,33 @@ public class CommissionRuleServiceImpl extends ServiceImpl<MtCommissionRuleMappe
|
|
|
mtCommissionRule.setMerchantId(mtCommissionRule.getMerchantId()== null ? 0 : mtCommissionRule.getMerchantId());
|
|
|
boolean result = save(mtCommissionRule);
|
|
|
if (result) {
|
|
|
- return mtCommissionRule;
|
|
|
+ if (commissionRule.getDetailList() != null && commissionRule.getDetailList().size() > 0) {
|
|
|
+ String storeIds = StringUtil.join(commissionRule.getStoreIdList().toArray(), ",");
|
|
|
+ for (CommissionRuleItemParam itemParam : commissionRule.getDetailList()) {
|
|
|
+ MtCommissionRuleItem mtCommissionRuleItem = new MtCommissionRuleItem();
|
|
|
+ mtCommissionRuleItem.setRuleId(mtCommissionRule.getId());
|
|
|
+ mtCommissionRuleItem.setType(mtCommissionRule.getType());
|
|
|
+ mtCommissionRuleItem.setTarget(mtCommissionRule.getTarget());
|
|
|
+ mtCommissionRuleItem.setMerchantId(mtCommissionRule.getMerchantId());
|
|
|
+ mtCommissionRuleItem.setStoreId(mtCommissionRule.getStoreId());
|
|
|
+ mtCommissionRuleItem.setStoreIds(storeIds);
|
|
|
+ mtCommissionRuleItem.setCreateTime(date);
|
|
|
+ mtCommissionRuleItem.setUpdateTime(date);
|
|
|
+ mtCommissionRuleItem.setOperator(commissionRule.getOperator());
|
|
|
+ mtCommissionRuleItem.setStatus(mtCommissionRule.getStatus());
|
|
|
+ mtCommissionRuleItem.setMethod(itemParam.getMethod());
|
|
|
+ mtCommissionRuleItem.setTarget(commissionRule.getTarget());
|
|
|
+ mtCommissionRuleItem.setTargetId(itemParam.getGoodsId());
|
|
|
+ mtCommissionRuleItem.setMember(itemParam.getMemberVal());
|
|
|
+ mtCommissionRuleItem.setGuest(itemParam.getVisitorVal());
|
|
|
+ mtCommissionRuleItemMapper.insert(mtCommissionRuleItem);
|
|
|
+ }
|
|
|
+ }
|
|
|
} else {
|
|
|
logger.error("新增分销提成规则失败...");
|
|
|
throw new BusinessCheckException("新增分销方案规则失败");
|
|
|
}
|
|
|
+ return mtCommissionRule;
|
|
|
}
|
|
|
|
|
|
/**
|
|
@@ -116,25 +155,6 @@ public class CommissionRuleServiceImpl extends ServiceImpl<MtCommissionRuleMappe
|
|
|
return mtCommissionRuleMapper.selectById(id);
|
|
|
}
|
|
|
|
|
|
- /**
|
|
|
- * 根据ID删除
|
|
|
- *
|
|
|
- * @param id
|
|
|
- * @param operator 操作人
|
|
|
- */
|
|
|
- @Override
|
|
|
- @OperationServiceLog(description = "删除分销提成规则")
|
|
|
- public void deleteCommissionRule(Integer id, String operator) {
|
|
|
- MtCommissionRule mtCommissionRule = queryCommissionRuleById(id);
|
|
|
- if (mtCommissionRule == null) {
|
|
|
- logger.error("删除分销提成规则失败...");
|
|
|
- return;
|
|
|
- }
|
|
|
- mtCommissionRule.setStatus(StatusEnum.DISABLE.getKey());
|
|
|
- mtCommissionRule.setUpdateTime(new Date());
|
|
|
- mtCommissionRuleMapper.updateById(mtCommissionRule);
|
|
|
- }
|
|
|
-
|
|
|
/**
|
|
|
* 更新分销提成规则
|
|
|
*
|
|
@@ -144,7 +164,7 @@ public class CommissionRuleServiceImpl extends ServiceImpl<MtCommissionRuleMappe
|
|
|
@Override
|
|
|
@Transactional(rollbackFor = Exception.class)
|
|
|
@OperationServiceLog(description = "更新分销提成规则")
|
|
|
- public MtCommissionRule updateCommissionRule(MtCommissionRule commissionRule) throws BusinessCheckException {
|
|
|
+ public MtCommissionRule updateCommissionRule(CommissionRuleParam commissionRule) throws BusinessCheckException {
|
|
|
MtCommissionRule mtCommissionRule = queryCommissionRuleById(commissionRule.getId());
|
|
|
if (mtCommissionRule == null) {
|
|
|
logger.error("更新分销提成规则失败...");
|
|
@@ -162,6 +182,9 @@ public class CommissionRuleServiceImpl extends ServiceImpl<MtCommissionRuleMappe
|
|
|
}
|
|
|
if (commissionRule.getStatus() != null) {
|
|
|
mtCommissionRule.setStatus(commissionRule.getStatus());
|
|
|
+ if (commissionRule.getStatus().equals(StatusEnum.DISABLE.getKey())) {
|
|
|
+ mtCommissionRuleItemMapper.deleteByRuleId(commissionRule.getId(), new Date());
|
|
|
+ }
|
|
|
}
|
|
|
mtCommissionRule.setUpdateTime(new Date());
|
|
|
mtCommissionRuleMapper.updateById(mtCommissionRule);
|
|
@@ -169,7 +192,7 @@ public class CommissionRuleServiceImpl extends ServiceImpl<MtCommissionRuleMappe
|
|
|
}
|
|
|
|
|
|
@Override
|
|
|
- public List<MtCommissionRule> queryDataByParams(Map<String, Object> params) {
|
|
|
+ public List<MtCommissionRule> queryCommissionRuleByParams(Map<String, Object> params) {
|
|
|
String status = params.get("status") == null ? StatusEnum.ENABLED.getKey(): params.get("status").toString();
|
|
|
String storeId = params.get("storeId") == null ? "" : params.get("storeId").toString();
|
|
|
String name = params.get("name") == null ? "" : params.get("name").toString();
|