From 8d08ca6bdfc3dd61b0aaa7daa27308c3d59f0df1 Mon Sep 17 00:00:00 2001 From: xiaoyong931011 <15274802129@163.com> Date: Wed, 14 Jul 2021 15:03:11 +0800 Subject: [PATCH] 202107014 --- gc-user/src/main/java/com/xzx/gc/user/service/DistribService.java | 93 ++++++++++++++++++++++++++++++++++++++++++++++ 1 files changed, 92 insertions(+), 1 deletions(-) diff --git a/gc-user/src/main/java/com/xzx/gc/user/service/DistribService.java b/gc-user/src/main/java/com/xzx/gc/user/service/DistribService.java index c363462..ee9cedf 100644 --- a/gc-user/src/main/java/com/xzx/gc/user/service/DistribService.java +++ b/gc-user/src/main/java/com/xzx/gc/user/service/DistribService.java @@ -1,16 +1,107 @@ package com.xzx.gc.user.service; +import cn.hutool.core.util.ObjectUtil; +import cn.hutool.core.util.StrUtil; +import com.xzx.gc.entity.RedPaperRule; +import com.xzx.gc.model.JsonResult; +import com.xzx.gc.user.dto.UpdateSettingDto; +import com.xzx.gc.user.mapper.RedPaperRuleMapper; import com.xzx.gc.user.vo.ViewSettingVo; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; + +import javax.annotation.Resource; +import java.math.BigDecimal; +import java.util.List; @Service @Transactional public class DistribService { + @Resource + private RedPaperRuleMapper redPaperRuleMapper; - public ViewSettingVo viewSetting(Long id) { + public ViewSettingVo viewSetting(String ruleStr) { ViewSettingVo viewSettingVo = new ViewSettingVo(); + RedPaperRule redPaperRule = redPaperRuleMapper.selectByRuleName(ruleStr); + if(ObjectUtil.isEmpty(redPaperRule)){ + viewSettingVo.setFristReward(BigDecimal.ZERO); + viewSettingVo.setOrderNumFrist(0); + viewSettingVo.setRegularPoint(0); + viewSettingVo.setRegularMoneyPercent(BigDecimal.ZERO); + viewSettingVo.setFinishOrderNum(0); + viewSettingVo.setPointReward(0); + viewSettingVo.setStatus((short) 0); + }else{ + String shareRatio = redPaperRule.getShareRatio(); + if(StrUtil.isNotEmpty(shareRatio)){ + List<String> shareRatios = StrUtil.split(shareRatio,',',false,false); + if(ObjectUtil.isNotEmpty(shareRatios)){ + viewSettingVo.setId(redPaperRule.getId()); + viewSettingVo.setFristReward(StrUtil.isEmpty(shareRatios.get(0))?BigDecimal.ZERO:new BigDecimal(shareRatios.get(0))); + viewSettingVo.setOrderNumFrist(StrUtil.isEmpty(shareRatios.get(1))?0:Integer.parseInt(shareRatios.get(1))); + viewSettingVo.setRegularPoint(StrUtil.isEmpty(shareRatios.get(2))?0:Integer.parseInt(shareRatios.get(2))); + viewSettingVo.setRegularMoneyPercent(StrUtil.isEmpty(shareRatios.get(3))?BigDecimal.ZERO:new BigDecimal(shareRatios.get(3))); + viewSettingVo.setFinishOrderNum(StrUtil.isEmpty(shareRatios.get(4))?0:Integer.parseInt(shareRatios.get(4))); + viewSettingVo.setPointReward(StrUtil.isEmpty(shareRatios.get(5))?0:Integer.parseInt(shareRatios.get(5))); + viewSettingVo.setStatus(redPaperRule.getStatus()); + } + }else{ + viewSettingVo.setId(redPaperRule.getId()); + viewSettingVo.setFristReward(BigDecimal.ZERO); + viewSettingVo.setOrderNumFrist(0); + viewSettingVo.setRegularPoint(0); + viewSettingVo.setRegularMoneyPercent(BigDecimal.ZERO); + viewSettingVo.setFinishOrderNum(0); + viewSettingVo.setPointReward(0); + viewSettingVo.setStatus((short) 0); + } + } return viewSettingVo; } + + public void addSetting(UpdateSettingDto model) { + RedPaperRule redPaperRule = new RedPaperRule(); + StringBuffer stringBuffer = new StringBuffer(); + BigDecimal fristReward = ObjectUtil.isEmpty(model.getFristReward()) ? BigDecimal.ZERO : model.getFristReward(); + stringBuffer.append(fristReward+","); + int orderNumFrist = ObjectUtil.isEmpty(model.getOrderNumFrist()) ? 0 : model.getOrderNumFrist(); + stringBuffer.append(orderNumFrist+","); + int regularPoint = ObjectUtil.isEmpty(model.getRegularPoint()) ? 0 : model.getRegularPoint(); + stringBuffer.append(regularPoint+","); + BigDecimal regularMoneyPercent = ObjectUtil.isEmpty(model.getRegularMoneyPercent()) ? BigDecimal.ZERO : model.getRegularMoneyPercent(); + stringBuffer.append(regularMoneyPercent+","); + int finishOrderNum = ObjectUtil.isEmpty(model.getFinishOrderNum()) ? 0 : model.getFinishOrderNum(); + stringBuffer.append(finishOrderNum+","); + int pointReward = ObjectUtil.isEmpty(model.getPointReward()) ? 0 : model.getPointReward(); + stringBuffer.append(pointReward); + redPaperRule.setStatus((short) 0); + redPaperRule.setRuleName("分销规则"); + redPaperRule.setSharingProfitType("frist_reward,order_num_frist,regular_point,regular_money_percent,finish_order_num,point_reward"); + redPaperRule.setShareRatio(stringBuffer.toString()); + redPaperRuleMapper.insert(redPaperRule); + } + + public void updateSetting(UpdateSettingDto model) { + RedPaperRule redPaperRule = redPaperRuleMapper.selectByPrimaryKey(model.getId()); + if(ObjectUtil.isNotEmpty(redPaperRule)){ + StringBuffer stringBuffer = new StringBuffer(); + BigDecimal fristReward = ObjectUtil.isEmpty(model.getFristReward()) ? BigDecimal.ZERO : model.getFristReward(); + stringBuffer.append(fristReward+","); + int orderNumFrist = ObjectUtil.isEmpty(model.getOrderNumFrist()) ? 0 : model.getOrderNumFrist(); + stringBuffer.append(orderNumFrist+","); + int regularPoint = ObjectUtil.isEmpty(model.getRegularPoint()) ? 0 : model.getRegularPoint(); + stringBuffer.append(regularPoint+","); + BigDecimal regularMoneyPercent = ObjectUtil.isEmpty(model.getRegularMoneyPercent()) ? BigDecimal.ZERO : model.getRegularMoneyPercent(); + stringBuffer.append(regularMoneyPercent+","); + int finishOrderNum = ObjectUtil.isEmpty(model.getFinishOrderNum()) ? 0 : model.getFinishOrderNum(); + stringBuffer.append(finishOrderNum+","); + int pointReward = ObjectUtil.isEmpty(model.getPointReward()) ? 0 : model.getPointReward(); + stringBuffer.append(pointReward); + redPaperRule.setStatus(model.getStatus()); + redPaperRule.setSharingProfitType("frist_reward,order_num_frist,regular_point,regular_money_percent,finish_order_num,point_reward"); + redPaperRule.setShareRatio(stringBuffer.toString()); + redPaperRuleMapper.updateByPrimaryKey(redPaperRule); + } + } } -- Gitblit v1.9.1