ApparatusServiceImpl.java 3.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100
  1. package com.iamberry.wechat.service.apparatus;
  2. import com.iamberry.wechat.core.entity.admin.ShopSystemRule;
  3. import com.iamberry.wechat.core.entity.apparatus.Apparatus;
  4. import com.iamberry.wechat.core.entity.integral.IntegralConfig;
  5. import com.iamberry.wechat.core.entity.integral.MemberIntegral;
  6. import com.iamberry.wechat.core.entity.integral.RankRule;
  7. import com.iamberry.wechat.core.entity.integral.UseIntegral;
  8. import com.iamberry.wechat.core.entity.member.Member;
  9. import com.iamberry.wechat.face.apparatus.ApparatusService;
  10. import com.iamberry.wechat.service.mapper.ApparatusMapper;
  11. import com.iamberry.wechat.service.mapper.SystemMapper;
  12. import com.iamberry.wechat.service.mapper.UseIntegralMapper;
  13. import org.springframework.beans.factory.annotation.Autowired;
  14. import org.springframework.stereotype.Service;
  15. import java.util.List;
  16. /**
  17. * Created by liuzhiwei on 2017/12/28.
  18. */
  19. @Service
  20. public class ApparatusServiceImpl implements ApparatusService {
  21. @Autowired
  22. private ApparatusMapper apparatusMapper;
  23. @Autowired
  24. private SystemMapper systemMapper;
  25. @Autowired
  26. private UseIntegralMapper useIntegralMapper;
  27. @Override
  28. public List<Apparatus> listApparatusPage(Apparatus apparatus) {
  29. return apparatusMapper.listApparatusPage(apparatus);
  30. }
  31. @Override
  32. public Integer addApparatus(Apparatus apparatus) {
  33. return apparatusMapper.addApparatus(apparatus);
  34. }
  35. @Override
  36. public boolean registerMember(Apparatus apparatus, Member member) {
  37. //注册会员获取积分id
  38. ShopSystemRule shopSystemRule = systemMapper.selectOneShopRuleById(247);
  39. if (shopSystemRule == null) {
  40. return false;
  41. }
  42. IntegralConfig config = new IntegralConfig();
  43. config.setIntegralConfigId(shopSystemRule.getRuleNum().intValue());
  44. //获取会员获取积分配置信息
  45. List<IntegralConfig> configList = useIntegralMapper.listIntegralConfig(config);
  46. if (configList == null || configList.size() == 0) {
  47. return false;
  48. }
  49. config = configList.get(0);
  50. //查询会员积分等级规则信息
  51. RankRule rankRule = new RankRule();
  52. rankRule.setRankRuleStatus(1);
  53. List<RankRule> rankRuleList = useIntegralMapper.listRankRule(rankRule);
  54. if (rankRuleList == null || rankRuleList.size() == 0) {
  55. return false;
  56. }
  57. int ruleId = 0;
  58. //积分等级按积分数倒序排列,如果满足一个,则跳出整个循环
  59. for (RankRule rule : rankRuleList) {
  60. if (config.getIntegralConfigNumber().intValue() >= rule.getRankRuleIntegral()) {
  61. ruleId = rankRule.getRankRuleId();
  62. break;
  63. }
  64. }
  65. MemberIntegral memberIntegral = new MemberIntegral();
  66. memberIntegral.setUserOpenid(member.getUserOpenid());
  67. memberIntegral.setRankRuleId(ruleId);
  68. memberIntegral.setMemberStatus(1);
  69. memberIntegral.setMemberAllIntegral(config.getIntegralConfigNumber());
  70. memberIntegral.setMemberSurplusIntegral(config.getIntegralConfigNumber());
  71. memberIntegral.setMemberUsedIntegral(0);
  72. //添加会员信息
  73. int sum = useIntegralMapper.addMemberIntegral(memberIntegral);
  74. UseIntegral useIntegral = new UseIntegral();
  75. useIntegral.setUseConfigId(config.getIntegralConfigId());
  76. useIntegral.setUseIntegralNumber(config.getIntegralConfigNumber());
  77. useIntegral.setUserOpenId(member.getUserOpenid());
  78. useIntegral.setUseType(1);
  79. useIntegral.setUseIntegralRemarks("注册会员获取积分");
  80. //添加积分获取日志信息
  81. int count = useIntegralMapper.addUseIntegral(useIntegral);
  82. //添加机器信息
  83. int num = apparatusMapper.addApparatus(apparatus);
  84. if (sum > 0 && count > 0 && num > 0) {
  85. return true;
  86. } else {
  87. return false;
  88. }
  89. }
  90. }