IntegralRuleServiceImpl.java 8.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222
  1. package com.yijia.integral.service.impl;
  2. import java.math.BigDecimal;
  3. import java.text.ParseException;
  4. import java.text.SimpleDateFormat;
  5. import java.util.ArrayList;
  6. import java.util.List;
  7. import com.yijia.integral.domain.IntegralRuleDetail;
  8. import com.yijia.integral.domain.IntegralShopPic;
  9. import com.yijia.integral.mapper.IntegralRuleDetailMapper;
  10. import com.yijia.integral.mapper.IntegralShopPicMapper;
  11. import org.springframework.beans.factory.annotation.Autowired;
  12. import org.springframework.stereotype.Service;
  13. import com.yijia.integral.mapper.IntegralRuleMapper;
  14. import com.yijia.integral.domain.IntegralRule;
  15. import com.yijia.integral.service.IIntegralRuleService;
  16. /**
  17. * 积分规则Service业务层处理
  18. *
  19. * @author yijia
  20. * @date 2021-02-24
  21. */
  22. @Service
  23. public class IntegralRuleServiceImpl implements IIntegralRuleService
  24. {
  25. @Autowired
  26. private IntegralRuleMapper integralRuleMapper;
  27. @Autowired
  28. private IntegralRuleDetailMapper integralRuleDetailMapper;
  29. @Autowired
  30. private IntegralShopPicMapper integralShopPicMapper;
  31. /**
  32. * 查询积分规则
  33. *
  34. * @param id 积分规则ID
  35. * @return 积分规则
  36. */
  37. @Override
  38. public IntegralRule selectIntegralRuleById(Long id)
  39. {
  40. //查询油品数据
  41. IntegralRule integralRule =integralRuleMapper.selectIntegralRuleById(id);
  42. IntegralRuleDetail detail = new IntegralRuleDetail();
  43. detail.setParentId(id);
  44. List<IntegralRuleDetail> list = integralRuleDetailMapper.selectIntegralRuleDetailList(detail);
  45. integralRule.setItemsDetail(list);
  46. //查询图片信息
  47. IntegralShopPic shopPic =new IntegralShopPic();
  48. shopPic.setParentId(id);
  49. List<IntegralShopPic> shopPicList = integralShopPicMapper.selectIntegralShopPicList(shopPic);
  50. if(shopPicList!=null && shopPicList.size()>0){
  51. integralRule.setImgFileList(shopPicList);
  52. }else{
  53. shopPicList =new ArrayList<>();
  54. integralRule.setImgFileList(shopPicList);
  55. }
  56. return integralRule;
  57. }
  58. /**
  59. * 查询积分规则列表
  60. *
  61. * @param integralRule 积分规则
  62. * @return 积分规则
  63. */
  64. @Override
  65. public List<IntegralRule> selectIntegralRuleList(IntegralRule integralRule)
  66. {
  67. return integralRuleMapper.selectIntegralRuleList(integralRule);
  68. }
  69. /**
  70. * 新增
  71. *
  72. * @param integralRule
  73. * @return 结果
  74. */
  75. @Override
  76. public int insertIntegralRule(IntegralRule integralRule)
  77. {
  78. try {
  79. if(integralRule !=null && integralRule.getTermDateManage()!=null && integralRule.getTermDateManage().equals("1")){
  80. SimpleDateFormat sdf = new SimpleDateFormat( "yyyy-MM-dd");
  81. integralRule.setEmptyDate(sdf.parse("2099-12-31") );
  82. }
  83. } catch (ParseException e) {
  84. e.printStackTrace();
  85. }
  86. int i =integralRuleMapper.insertIntegralRule(integralRule);
  87. // IntegralRule rule= integralRuleMapper.insertIntegralRule(integralRule);
  88. //判断规则明细
  89. if(integralRule.getItemsDetail()!=null && integralRule.getItemsDetail().size()>0){
  90. List<IntegralRuleDetail> list =integralRule.getItemsDetail();
  91. for (IntegralRuleDetail detail : list){
  92. if(detail.getSaleAmt()!=null && detail.getIntegral()!=null && detail.getSaleAmt().compareTo(new BigDecimal("0"))==1){
  93. detail.setParentId(integralRule.getId().longValue());
  94. integralRuleDetailMapper.insertIntegralRuleDetail(detail);
  95. }
  96. }
  97. }
  98. if(integralRule.getImgFileList()!=null && integralRule.getImgFileList().size()>0){
  99. List<IntegralShopPic> imgFileList =integralRule.getImgFileList();
  100. for (IntegralShopPic img : imgFileList){
  101. img.setParentId(integralRule.getId().longValue());
  102. img.setStationId(integralRule.getStationId());
  103. img.setStationName(integralRule.getStationName());
  104. integralShopPicMapper.insertIntegralShopPic(img);
  105. }
  106. }
  107. return i;
  108. }
  109. /**
  110. * 修改积分规则
  111. *
  112. * @param integralRule 积分规则
  113. * @return 结果
  114. */
  115. @Override
  116. public int updateIntegralRule(IntegralRule integralRule)
  117. {
  118. //删除对应的明细表数据
  119. IntegralRuleDetail ruleDetail = new IntegralRuleDetail();
  120. ruleDetail.setParentId(integralRule.getId());
  121. integralRuleDetailMapper.deleteIntegralRuleDetail(ruleDetail);
  122. //从新保存数据
  123. if(integralRule.getItemsDetail()!=null && integralRule.getItemsDetail().size()>0){
  124. List<IntegralRuleDetail> list =integralRule.getItemsDetail();
  125. for (IntegralRuleDetail detail : list){
  126. if(detail.getSaleAmt()!=null && detail.getIntegral()!=null && detail.getSaleAmt().compareTo(new BigDecimal("0"))==1){
  127. detail.setParentId(integralRule.getId().longValue());
  128. integralRuleDetailMapper.insertIntegralRuleDetail(detail);
  129. }
  130. }
  131. }
  132. IntegralShopPic integralShopPic =new IntegralShopPic();
  133. integralShopPic.setParentId(integralRule.getId().longValue());
  134. integralShopPicMapper.deleteIntegralShopPic(integralShopPic);
  135. if(integralRule.getImgFileList()!=null && integralRule.getImgFileList().size()>0){
  136. List<IntegralShopPic> imgFileList =integralRule.getImgFileList();
  137. for (IntegralShopPic img : imgFileList){
  138. img.setParentId(integralRule.getId().longValue());
  139. img.setStationId(integralRule.getStationId());
  140. img.setStationName(integralRule.getStationName());
  141. integralShopPicMapper.insertIntegralShopPic(img);
  142. }
  143. }
  144. try {
  145. if(integralRule !=null && integralRule.getTermDateManage()!=null && integralRule.getTermDateManage().equals("1")){
  146. SimpleDateFormat sdf = new SimpleDateFormat( "yyyy-MM-dd");
  147. integralRule.setEmptyDate(sdf.parse("2099-12-31") );
  148. }
  149. } catch (ParseException e) {
  150. e.printStackTrace();
  151. }
  152. return integralRuleMapper.updateIntegralRule(integralRule);
  153. }
  154. /**
  155. * 批量删除积分规则
  156. * insertIntegralRule
  157. * @param ids 需要删除的积分规则ID
  158. * @return 结果
  159. */
  160. @Override
  161. public int deleteIntegralRuleByIds(Long[] ids)
  162. {
  163. return integralRuleMapper.deleteIntegralRuleByIds(ids);
  164. }
  165. /**
  166. * 删除积分规则信息
  167. *
  168. * @param id 积分规则ID
  169. * @return 结果
  170. */
  171. @Override
  172. public int deleteIntegralRuleById(Long id)
  173. {
  174. return integralRuleMapper.deleteIntegralRuleById(id);
  175. }
  176. /****
  177. * 获取当前站的积分规则
  178. * @param integralRule
  179. * @return
  180. */
  181. @Override
  182. public IntegralRule selectIntegralRule(IntegralRule integralRule) {
  183. IntegralRule rule = integralRuleMapper.selectIntegralRule(integralRule);
  184. if(rule!=null){
  185. IntegralRuleDetail detail = new IntegralRuleDetail();
  186. detail.setParentId(rule.getId());
  187. List<IntegralRuleDetail> list = integralRuleDetailMapper.selectIntegralRuleDetailList(detail);
  188. rule.setItemsDetail(list);
  189. //查询图片信息
  190. IntegralShopPic shopPic =new IntegralShopPic();
  191. shopPic.setParentId(rule.getId());
  192. List<IntegralShopPic> shopPicList = integralShopPicMapper.selectIntegralShopPicList(shopPic);
  193. rule.setImgFileList(shopPicList);
  194. }else{
  195. List<IntegralRuleDetail> list =new ArrayList<>();
  196. rule.setItemsDetail(list);
  197. List<IntegralShopPic> shopPicList =new ArrayList<>();
  198. rule.setImgFileList(shopPicList);
  199. }
  200. return rule;
  201. }
  202. /**
  203. * 查询积分明细
  204. * @param integralRule
  205. * @return
  206. */
  207. @Override
  208. public List<IntegralRule> listRuleInfo(IntegralRule integralRule) {
  209. return integralRuleMapper.listRuleInfo(integralRule);
  210. }
  211. }