KuaishouSettlementRulesServiceImpl.java 6.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162
  1. package com.ruixuan.isc.service.impl;
  2. import java.math.BigDecimal;
  3. import java.util.ArrayList;
  4. import java.util.List;
  5. import com.alibaba.fastjson.JSONArray;
  6. import com.alibaba.fastjson.JSONObject;
  7. import com.ruixuan.common.utils.Check;
  8. import com.ruixuan.common.utils.DateUtils;
  9. import com.ruixuan.isc.entity.KuaishouRuleDetail;
  10. import com.ruixuan.isc.entity.KuaishouSettlementRules;
  11. import com.ruixuan.isc.mapper.KuaishouRuleDetailMapper;
  12. import com.ruixuan.isc.mapper.KuaishouSettlementRulesMapper;
  13. import com.ruixuan.isc.service.IKuaishouSettlementRulesService;
  14. import org.springframework.beans.factory.annotation.Autowired;
  15. import org.springframework.stereotype.Service;
  16. /**
  17. * 【请填写功能名称】Service业务层处理
  18. *
  19. * @author ruoyi
  20. * @date 2023-05-15
  21. */
  22. @Service
  23. public class KuaishouSettlementRulesServiceImpl implements IKuaishouSettlementRulesService {
  24. @Autowired
  25. private KuaishouSettlementRulesMapper kuaishouSettlementRulesMapper;
  26. @Autowired
  27. private KuaishouRuleDetailMapper kuaishouRuleDetailMapper;
  28. /**
  29. * 查询【请填写功能名称】
  30. *
  31. * @param id 【请填写功能名称】主键
  32. * @return 【请填写功能名称】
  33. */
  34. @Override
  35. public KuaishouSettlementRules selectKuaishouSettlementRulesById(Long id) {
  36. return kuaishouSettlementRulesMapper.selectKuaishouSettlementRulesById(id);
  37. }
  38. /**
  39. * 查询【请填写功能名称】列表
  40. *
  41. * @param kuaishouSettlementRules 【请填写功能名称】
  42. * @return 【请填写功能名称】
  43. */
  44. @Override
  45. public List<KuaishouSettlementRules> selectKuaishouSettlementRulesList(KuaishouSettlementRules kuaishouSettlementRules) {
  46. return kuaishouSettlementRulesMapper.selectKuaishouSettlementRulesList(kuaishouSettlementRules);
  47. }
  48. /**
  49. * 新增【请填写功能名称】
  50. *
  51. * @param kuaishouSettlementRules 【请填写功能名称】
  52. * @return 结果
  53. */
  54. @Override
  55. public int insertKuaishouSettlementRules(KuaishouSettlementRules kuaishouSettlementRules) {
  56. kuaishouSettlementRules.setCreateTime(DateUtils.getNowDate());
  57. return kuaishouSettlementRulesMapper.insertKuaishouSettlementRules(kuaishouSettlementRules);
  58. }
  59. /**
  60. * 修改【请填写功能名称】
  61. *
  62. * @param kuaishouSettlementRules 【请填写功能名称】
  63. * @return 结果
  64. */
  65. @Override
  66. public int updateKuaishouSettlementRules(KuaishouSettlementRules kuaishouSettlementRules) {
  67. kuaishouSettlementRules.setUpdateTime(DateUtils.getNowDate());
  68. return kuaishouSettlementRulesMapper.updateKuaishouSettlementRules(kuaishouSettlementRules);
  69. }
  70. /**
  71. * 批量删除【请填写功能名称】
  72. *
  73. * @param ids 需要删除的【请填写功能名称】主键
  74. * @return 结果
  75. */
  76. @Override
  77. public int deleteKuaishouSettlementRulesByIds(Long[] ids) {
  78. return kuaishouSettlementRulesMapper.deleteKuaishouSettlementRulesByIds(ids);
  79. }
  80. /**
  81. * 删除【请填写功能名称】信息
  82. *
  83. * @param id 【请填写功能名称】主键
  84. * @return 结果
  85. */
  86. @Override
  87. public int deleteKuaishouSettlementRulesById(Long id) {
  88. kuaishouRuleDetailMapper.deleteKuaishouRuleDetailByRuleId(id);
  89. return kuaishouSettlementRulesMapper.deleteKuaishouSettlementRulesById(id);
  90. }
  91. @Override
  92. public List<JSONObject> getRuleList(Long userId, String ruleName) {
  93. return kuaishouSettlementRulesMapper.getRuleList(userId, ruleName);
  94. }
  95. @Override
  96. public void addRules(JSONObject requestJson) {
  97. Long maxRuleId = kuaishouSettlementRulesMapper.getMaxRuleId();
  98. Long newId = maxRuleId + 1;
  99. String ruleName = requestJson.getString("ruleName");
  100. Integer ruleType = requestJson.getInteger("ruleType");
  101. Long userId = requestJson.getLong("userId");
  102. String userName = requestJson.getString("userName");
  103. KuaishouSettlementRules settlementRules = new KuaishouSettlementRules();
  104. settlementRules.setId(newId);
  105. settlementRules.setRuleName(ruleName);
  106. settlementRules.setRuleType(ruleType);
  107. settlementRules.setUserId(userId);
  108. settlementRules.setUserName(userName);
  109. int i = kuaishouSettlementRulesMapper.insertKuaishouSettlementRules(settlementRules);
  110. if (i > 0) {
  111. List<KuaishouRuleDetail> details = new ArrayList<>();
  112. JSONArray ruleDetails = requestJson.getJSONArray("ruleDetails");
  113. for (int j = 0; j < ruleDetails.size(); j++) {
  114. JSONObject jsonObject = ruleDetails.getJSONObject(j);
  115. KuaishouRuleDetail detail = new KuaishouRuleDetail();
  116. detail.setRuleId(newId);
  117. Integer startItemCount = jsonObject.getInteger("startItemCount");
  118. Integer endItemCount = jsonObject.getInteger("endItemCount");
  119. BigDecimal anchorAmount = jsonObject.getBigDecimal("anchorAmount");
  120. BigDecimal referenceAmount = jsonObject.getBigDecimal("referenceAmount");
  121. Integer sortCount = jsonObject.getInteger("sortCount");
  122. detail.setStartItemCount(startItemCount);
  123. detail.setEndItemCount(endItemCount);
  124. detail.setAnchorAmount(anchorAmount);
  125. detail.setReferenceAmount(referenceAmount);
  126. detail.setSortCount(sortCount);
  127. details.add(detail);
  128. }
  129. if (!Check.isNull(details)) {
  130. kuaishouRuleDetailMapper.addAll(details);
  131. }
  132. }
  133. }
  134. @Override
  135. public List<KuaishouRuleDetail> getRuleDetailByRuleId(Long ruleId) {
  136. return kuaishouRuleDetailMapper.getRuleDetailByRuleId(ruleId);
  137. }
  138. @Override
  139. public List<JSONObject> getPromoterRuleList(Long userId, String ruleName) {
  140. return kuaishouRuleDetailMapper.getPromoterRuleList(userId,ruleName);
  141. }
  142. @Override
  143. public List<JSONObject> getAllRuleList(Long userId, String ruleName) {
  144. return kuaishouRuleDetailMapper.getAllRuleList(userId,ruleName);
  145. }
  146. }