Browse Source

修改了注册会员的接口

liuzhiwei 7 years ago
parent
commit
e2d11fb363

+ 63 - 1
tooth-wechat-service/src/main/java/com/iamberry/wechat/service/apparatus/ApparatusServiceImpl.java

@@ -1,9 +1,16 @@
 package com.iamberry.wechat.service.apparatus;
 
+import com.iamberry.wechat.core.entity.admin.ShopSystemRule;
 import com.iamberry.wechat.core.entity.apparatus.Apparatus;
+import com.iamberry.wechat.core.entity.integral.IntegralConfig;
+import com.iamberry.wechat.core.entity.integral.MemberIntegral;
+import com.iamberry.wechat.core.entity.integral.RankRule;
+import com.iamberry.wechat.core.entity.integral.UseIntegral;
 import com.iamberry.wechat.core.entity.member.Member;
 import com.iamberry.wechat.face.apparatus.ApparatusService;
 import com.iamberry.wechat.service.mapper.ApparatusMapper;
+import com.iamberry.wechat.service.mapper.SystemMapper;
+import com.iamberry.wechat.service.mapper.UseIntegralMapper;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 
@@ -17,6 +24,10 @@ public class ApparatusServiceImpl implements ApparatusService {
 
     @Autowired
     private ApparatusMapper apparatusMapper;
+    @Autowired
+    private SystemMapper systemMapper;
+    @Autowired
+    private UseIntegralMapper useIntegralMapper;
 
     @Override
     public List<Apparatus> listApparatusPage(Apparatus apparatus) {
@@ -30,8 +41,59 @@ public class ApparatusServiceImpl implements ApparatusService {
 
     @Override
     public boolean registerMember(Apparatus apparatus, Member member) {
+        //注册会员获取积分id
+        ShopSystemRule shopSystemRule = systemMapper.selectOneShopRuleById(247);
+        if (shopSystemRule == null) {
+            return false;
+        }
+        IntegralConfig config = new IntegralConfig();
+        config.setIntegralConfigId(shopSystemRule.getRuleNum().intValue());
+        //获取会员获取积分配置信息
+        List<IntegralConfig> configList = useIntegralMapper.listIntegralConfig(config);
+        if (configList == null || configList.size() == 0) {
+            return false;
+        }
+        config = configList.get(0);
+        //查询会员积分等级规则信息
+        RankRule rankRule = new RankRule();
+        rankRule.setRankRuleStatus(1);
+        List<RankRule> rankRuleList = useIntegralMapper.listRankRule(rankRule);
+        if (rankRuleList == null || rankRuleList.size() == 0) {
+            return false;
+        }
+        int ruleId = 0;
+        //积分等级按积分数倒序排列,如果满足一个,则跳出整个循环
+        for (RankRule rule : rankRuleList) {
+            if (config.getIntegralConfigNumber().intValue() >= rule.getRankRuleIntegral()) {
+                ruleId = rankRule.getRankRuleId();
+                break;
+            }
+        }
+
+        MemberIntegral memberIntegral = new MemberIntegral();
+        memberIntegral.setUserOpenid(member.getUserOpenid());
+        memberIntegral.setRankRuleId(ruleId);
+        memberIntegral.setMemberStatus(1);
+        memberIntegral.setMemberAllIntegral(config.getIntegralConfigNumber());
+        memberIntegral.setMemberSurplusIntegral(config.getIntegralConfigNumber());
+        memberIntegral.setMemberUsedIntegral(0);
+        //添加会员信息
+        int sum = useIntegralMapper.addMemberIntegral(memberIntegral);
+
+        UseIntegral useIntegral = new UseIntegral();
+        useIntegral.setUseConfigId(config.getIntegralConfigId());
+        useIntegral.setUseIntegralNumber(config.getIntegralConfigNumber());
+        useIntegral.setUserOpenId(member.getUserOpenid());
+        useIntegral.setUseType(1);
+        useIntegral.setUseIntegralRemarks("注册会员获取积分");
+        //添加积分获取日志信息
+        int count = useIntegralMapper.addUseIntegral(useIntegral);
         //添加机器信息
         int num = apparatusMapper.addApparatus(apparatus);
-        return true;
+        if (sum > 0 && count > 0 && num > 0) {
+            return true;
+        } else {
+            return false;
+        }
     }
 }

+ 1 - 1
tooth-wechat-service/src/main/java/com/iamberry/wechat/service/integral/UseIntegralServiceImpl.java

@@ -34,6 +34,6 @@ public class UseIntegralServiceImpl implements UseIntegralService {
 
     @Override
     public List<IntegralConfig> listIntegralConfig(IntegralConfig integralConfig) {
-        return null;
+        return useIntegralMapper.listIntegralConfig(integralConfig);
     }
 }

+ 23 - 0
tooth-wechat-service/src/main/java/com/iamberry/wechat/service/mapper/UseIntegralMapper.java

@@ -1,6 +1,8 @@
 package com.iamberry.wechat.service.mapper;
 
 import com.iamberry.wechat.core.entity.integral.IntegralConfig;
+import com.iamberry.wechat.core.entity.integral.MemberIntegral;
+import com.iamberry.wechat.core.entity.integral.RankRule;
 import com.iamberry.wechat.core.entity.integral.UseIntegral;
 
 import java.util.List;
@@ -26,4 +28,25 @@ public interface UseIntegralMapper {
      * @return
      */
     List<IntegralConfig> listIntegralConfig(IntegralConfig integralConfig);
+
+    /**
+     * 添加积分日志
+     * @param useIntegral
+     * @return
+     */
+    Integer addUseIntegral(UseIntegral useIntegral);
+
+    /**
+     * 查询会员积分等级规则信息
+     * @param rankRule
+     * @return
+     */
+    List<RankRule> listRankRule(RankRule rankRule);
+
+    /**
+     * 添加会员信息
+     * @param memberIntegral
+     * @return
+     */
+    Integer addMemberIntegral(MemberIntegral memberIntegral);
 }

+ 39 - 0
tooth-wechat-service/src/main/java/com/iamberry/wechat/service/mapper/useIntegralMapper.xml

@@ -39,4 +39,43 @@
         </where>
     </select>
 
+    <!-- 添加积分日志 -->
+    <insert id="addUseIntegral" parameterType="UseIntegral" keyProperty="useIntegralId" useGeneratedKeys="true">
+        INSERT INTO tb_iamberry_use_integral
+        (
+          user_openid, use_type, use_integral_type, use_config_id,
+          use_integral_number, use_integral_remarks, use_integral_create_time
+        )
+        VALUES
+        (
+          #{userOpenId},#{useType},#{useIntegralType},#{useConfigId},
+          #{useIntegralNumber},#{useIntegralRemarks},NOW()
+        )
+    </insert>
+
+    <!-- 查询会员积分等级规则信息 -->
+    <select id="listRankRule" parameterType="RankRule" resultType="RankRule">
+      SELECT
+        *
+      FROM
+        tb_iamberry_rank_rule
+      ORDER BY rank_rule_integral DESC
+    </select>
+
+    <!-- 添加会员信息 -->
+    <insert id="addMemberIntegral" parameterType="MemberIntegral"
+            useGeneratedKeys="true" keyProperty="memberId">
+        INSERT INTO tb_iamberry_member_integral
+        (
+          rank_rule_id, user_openid, member_status, member_all_integral,
+          member_surplus_integral, member_used_integral, member_create_time,
+          member_update_time
+        )
+        VALUES
+        (
+          #{rankRuleId},#{userOpenid},#{memberStatus},#{memberAllIntegral},
+          #{memberSurplusIntegral},#{memberUsedIntegral},NOW(),NOW()
+        )
+    </insert>
+
 </mapper>

+ 11 - 1
tooth-wechat-web/src/main/java/com/iamberry/wechat/handles/apparatus/ApparatusHandler.java

@@ -109,7 +109,17 @@ public class ApparatusHandler {
         apparatus.setApparatusBuyDate(format.parse(buyDate));
         apparatus.setApparatusWarrantyDate(updateDate(format.parse(buyDate),renewRule.getRuleNum().intValue()));
         apparatus.setStoreId(Integer.getInteger(storeId));
-
+        //注册会员
+        boolean flag = apparatusService.registerMember(apparatus,member);
+        if (flag) {
+            msg.setResultCode(ResultInfo.SUCCESSCODE);
+            msg.setStatus(true);
+        } else {
+            msg.setResultCode(ResultInfo.ERRORCODE);
+            msg.setStatus(false);
+            msg.setMessage("会员注册失败,请重新注册!");
+            return msg;
+        }
         return msg;
     }