Procházet zdrojové kódy

扫描机器唯一码注册

liujiankang před 7 roky
rodič
revize
27b58f31b3
15 změnil soubory, kde provedl 388 přidání a 116 odebrání
  1. 5 6
      tooth-common-core/src/main/java/com/iamberry/wechat/core/entity/apparatus/Apparatus.java
  2. 94 0
      tooth-common-core/src/main/java/com/iamberry/wechat/core/entity/integral/StayIntegral.java
  3. 42 47
      tooth-common-core/src/main/java/com/iamberry/wechat/core/entity/integral/UseIntegral.java
  4. 18 0
      tooth-common-core/src/main/java/com/iamberry/wechat/core/entity/member/Member.java
  5. 9 0
      tooth-wechat-interface/src/main/java/com/iamberry/wechat/face/apparatus/ApparatusService.java
  6. 8 0
      tooth-wechat-interface/src/main/java/com/iamberry/wechat/face/member/MemberService.java
  7. 125 41
      tooth-wechat-service/src/main/java/com/iamberry/wechat/service/apparatus/ApparatusServiceImpl.java
  8. 16 0
      tooth-wechat-service/src/main/java/com/iamberry/wechat/service/mapper/MemberMapper.java
  9. 4 4
      tooth-wechat-service/src/main/java/com/iamberry/wechat/service/mapper/apparatusMapper.xml
  10. 32 4
      tooth-wechat-service/src/main/java/com/iamberry/wechat/service/mapper/memberMapper.xml
  11. 10 4
      tooth-wechat-service/src/main/java/com/iamberry/wechat/service/mapper/useIntegralMapper.xml
  12. 5 2
      tooth-wechat-service/src/main/java/com/iamberry/wechat/service/member/MemberServiceImpl.java
  13. 8 0
      tooth-wechat-service/src/main/java/com/iamberry/wechat/service/member/dao/MemberDao.java
  14. 5 2
      tooth-wechat-service/src/main/java/com/iamberry/wechat/service/member/dao/imp/MemberDaoImpl.java
  15. 7 6
      tooth-wechat-web/src/main/java/com/iamberry/wechat/handles/apparatus/ApparatusHandler.java

+ 5 - 6
tooth-common-core/src/main/java/com/iamberry/wechat/core/entity/apparatus/Apparatus.java

@@ -14,9 +14,8 @@ public class Apparatus implements java.io.Serializable{
 
     private Integer apparatusId;        //id
     private String apparatusBarcode;    //机器条码
-    private Integer colorId;            //产品颜色id
     private String userOpenid;          //用户openid
-    private Integer storeId;            //渠道id
+    private Integer apparatusStore;            //渠道id
     private Integer apparatusStatus;    //状态
     private Date apparatusBuyDate;      //购买时间
     private Date apparatusWarrantyDate; //保修截止日期
@@ -26,12 +25,12 @@ public class Apparatus implements java.io.Serializable{
 
     private PageBean page;			//分页
 
-    public Integer getStoreId() {
-        return storeId;
+    public Integer getApparatusStore() {
+        return apparatusStore;
     }
 
-    public void setStoreId(Integer storeId) {
-        this.storeId = storeId;
+    public void setApparatusStore(Integer apparatusStore) {
+        this.apparatusStore = apparatusStore;
     }
 
     public Date getApparatusBuyDate() {

+ 94 - 0
tooth-common-core/src/main/java/com/iamberry/wechat/core/entity/integral/StayIntegral.java

@@ -0,0 +1,94 @@
+package com.iamberry.wechat.core.entity.integral;
+
+import javax.swing.*;
+import java.io.Serializable;
+import java.util.Date;
+
+/**
+ * Created by Administrator on 2018/1/10.
+ */
+public class StayIntegral implements Serializable {
+
+    private static final long serialVersionUID = -6098568204626940754L;
+    private Integer stayId;
+    private String userOpenid;
+    private Integer configId;//来源
+    private Integer stayNumber; //积分数量
+    private Date stayRecordedTime;//积分入账时间
+    private Integer stayStatus;//状态
+    private String stayRemark;//取消的备注
+    private Date stayCreateTime;//创建时间
+    private Date stayUpdateTime;//更新时间
+
+    public Integer getStayId() {
+        return stayId;
+    }
+
+    public void setStayId(Integer stayId) {
+        this.stayId = stayId;
+    }
+
+    public String getUserOpenid() {
+        return userOpenid;
+    }
+
+    public void setUserOpenid(String userOpenid) {
+        this.userOpenid = userOpenid;
+    }
+
+    public Integer getConfigId() {
+        return configId;
+    }
+
+    public void setConfigId(Integer configId) {
+        this.configId = configId;
+    }
+
+    public Integer getStayNumber() {
+        return stayNumber;
+    }
+
+    public void setStayNumber(Integer stayNumber) {
+        this.stayNumber = stayNumber;
+    }
+
+    public Date getStayRecordedTime() {
+        return stayRecordedTime;
+    }
+
+    public void setStayRecordedTime(Date stayRecordedTime) {
+        this.stayRecordedTime = stayRecordedTime;
+    }
+
+    public Integer getStayStatus() {
+        return stayStatus;
+    }
+
+    public void setStayStatus(Integer stayStatus) {
+        this.stayStatus = stayStatus;
+    }
+
+    public String getStayRemark() {
+        return stayRemark;
+    }
+
+    public void setStayRemark(String stayRemark) {
+        this.stayRemark = stayRemark;
+    }
+
+    public Date getStayCreateTime() {
+        return stayCreateTime;
+    }
+
+    public void setStayCreateTime(Date stayCreateTime) {
+        this.stayCreateTime = stayCreateTime;
+    }
+
+    public Date getStayUpdateTime() {
+        return stayUpdateTime;
+    }
+
+    public void setStayUpdateTime(Date stayUpdateTime) {
+        this.stayUpdateTime = stayUpdateTime;
+    }
+}

+ 42 - 47
tooth-common-core/src/main/java/com/iamberry/wechat/core/entity/integral/UseIntegral.java

@@ -13,16 +13,17 @@ import java.io.Serializable;
 public class UseIntegral implements Serializable {
 
     private static final long serialVersionUID = 8060941187906868547L;
-    private Integer useIntegralId;          //ID
+    private Integer integralId;          //ID
     private String userOpenId;              //用户openid
-    private Integer useType;                //积分类型
-    private Integer useIntegralType;        //使用积分类型
-    private Integer useIntegralNumber;      //使用积分数量
-    private Integer useConfigId;            //积分来源类型
-    private String useIntegralRemarks;      //备注
+    private Integer integralType;                //积分类型
+    private Integer integralNumber;      //使用积分数量
+    private Integer configId;            //积分来源类型
+    private Integer integralBeforeNumber;//变动前可用积分总额
+    private Integer integralEndNumber;//变动后可用积分总额
+    private String integralRemark;      //备注
     @DateTimeFormat(pattern="yyyy-MM-dd")
     @JsonFormat(pattern="yyyy-MM-dd",timezone = "GMT+8")
-    private Data useIntegralCreateTime;     //创建时间
+    private Data integralCreateTime;     //创建时间
 
     private String integralConfigName;      //来源名称
     private PageBean page;                  //分页
@@ -43,12 +44,12 @@ public class UseIntegral implements Serializable {
         this.integralConfigName = integralConfigName;
     }
 
-    public Integer getUseIntegralId() {
-        return useIntegralId;
+    public Integer getIntegralId() {
+        return integralId;
     }
 
-    public void setUseIntegralId(Integer useIntegralId) {
-        this.useIntegralId = useIntegralId;
+    public void setIntegralId(Integer integralId) {
+        this.integralId = integralId;
     }
 
     public String getUserOpenId() {
@@ -59,65 +60,59 @@ public class UseIntegral implements Serializable {
         this.userOpenId = userOpenId;
     }
 
-    public Integer getUseType() {
-        return useType;
+    public Integer getIntegralType() {
+        return integralType;
     }
 
-    public void setUseType(Integer useType) {
-        this.useType = useType;
+    public void setIntegralType(Integer integralType) {
+        this.integralType = integralType;
     }
 
-    public Integer getUseIntegralType() {
-        return useIntegralType;
+    public Integer getIntegralNumber() {
+        return integralNumber;
     }
 
-    public void setUseIntegralType(Integer useIntegralType) {
-        this.useIntegralType = useIntegralType;
+    public void setIntegralNumber(Integer integralNumber) {
+        this.integralNumber = integralNumber;
     }
 
-    public Integer getUseIntegralNumber() {
-        return useIntegralNumber;
+    public Integer getConfigId() {
+        return configId;
     }
 
-    public void setUseIntegralNumber(Integer useIntegralNumber) {
-        this.useIntegralNumber = useIntegralNumber;
+    public void setConfigId(Integer configId) {
+        this.configId = configId;
     }
 
-    public Integer getUseConfigId() {
-        return useConfigId;
+    public Integer getIntegralBeforeNumber() {
+        return integralBeforeNumber;
     }
 
-    public void setUseConfigId(Integer useConfigId) {
-        this.useConfigId = useConfigId;
+    public void setIntegralBeforeNumber(Integer integralBeforeNumber) {
+        this.integralBeforeNumber = integralBeforeNumber;
     }
 
-    public String getUseIntegralRemarks() {
-        return useIntegralRemarks;
+    public Integer getIntegralEndNumber() {
+        return integralEndNumber;
     }
 
-    public void setUseIntegralRemarks(String useIntegralRemarks) {
-        this.useIntegralRemarks = useIntegralRemarks;
+    public void setIntegralEndNumber(Integer integralEndNumber) {
+        this.integralEndNumber = integralEndNumber;
     }
 
-    public Data getUseIntegralCreateTime() {
-        return useIntegralCreateTime;
+    public String getIntegralRemark() {
+        return integralRemark;
     }
 
-    public void setUseIntegralCreateTime(Data useIntegralCreateTime) {
-        this.useIntegralCreateTime = useIntegralCreateTime;
+    public void setIntegralRemark(String integralRemark) {
+        this.integralRemark = integralRemark;
     }
 
-    @Override
-    public String toString() {
-        return "UseIntegral{" +
-                "useIntegralId=" + useIntegralId +
-                ", userOpenId='" + userOpenId + '\'' +
-                ", useType=" + useType +
-                ", useIntegralType=" + useIntegralType +
-                ", useIntegralNumber=" + useIntegralNumber +
-                ", useConfigid=" + useConfigId +
-                ", useIntegralRemarks='" + useIntegralRemarks + '\'' +
-                ", useIntegralCreateTime=" + useIntegralCreateTime +
-                '}';
+    public Data getIntegralCreateTime() {
+        return integralCreateTime;
+    }
+
+    public void setIntegralCreateTime(Data integralCreateTime) {
+        this.integralCreateTime = integralCreateTime;
     }
 }

+ 18 - 0
tooth-common-core/src/main/java/com/iamberry/wechat/core/entity/member/Member.java

@@ -59,6 +59,8 @@ public class Member implements Serializable{
 
 	private  Integer quantityPurchased;		//购买数量
 	private  Integer totalConsume; 			//消费金额
+	private  Integer userAgeStage; 			//年龄阶段 1:80后 2:85后 3:90后 4:95后 5:00后 6:其他
+	private Integer userStayIntegral;		//待入账积分
 
 
 	private  String[] ids;						//
@@ -309,6 +311,22 @@ public class Member implements Serializable{
 		this.ids = ids;
 	}
 
+	public Integer getUserAgeStage() {
+		return userAgeStage;
+	}
+
+	public void setUserAgeStage(Integer userAgeStage) {
+		this.userAgeStage = userAgeStage;
+	}
+
+	public Integer getUserStayIntegral() {
+		return userStayIntegral;
+	}
+
+	public void setUserStayIntegral(Integer userStayIntegral) {
+		this.userStayIntegral = userStayIntegral;
+	}
+
 	@Override
 	public String toString() {
 		return "Member [userId=" + userId + ", userOpenid=" + userOpenid

+ 9 - 0
tooth-wechat-interface/src/main/java/com/iamberry/wechat/face/apparatus/ApparatusService.java

@@ -40,4 +40,13 @@ public interface ApparatusService {
      * 根据RST产品id和查询颜色id
      * **/
     Integer getColorIdByProductId(String productId);
+
+    /**
+     * 添加待入账积分统一调用该接口
+     * @param openId
+     * @param IntegralType 1.新注册会员送一百积分  2.新增牙刷赠送400积分 3.购买牙刷,赠送订单金额乘以2的积分
+     * @param orderAmount  订单金额  IntegralType为3时有值
+     * @return
+     */
+    boolean addStayIntegral(String openId,Integer IntegralType,Double orderAmount);
 }

+ 8 - 0
tooth-wechat-interface/src/main/java/com/iamberry/wechat/face/member/MemberService.java

@@ -142,4 +142,12 @@ public interface MemberService{
 	 * @return
 	 */
 	Member getMyMemberInfo(String openId);
+
+	/**
+	 * 根据 openid 修改用户待入账积分
+	 * 2018年1月10日17:18:39
+	 * @param member
+	 * @return
+	 */
+	public Integer updateUserStayIntegralByOpenId(Member member);
 }

+ 125 - 41
tooth-wechat-service/src/main/java/com/iamberry/wechat/service/apparatus/ApparatusServiceImpl.java

@@ -4,16 +4,20 @@ 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.core.entity.integral.StayIntegral;
 import com.iamberry.wechat.face.apparatus.ApparatusService;
 import com.iamberry.wechat.service.mapper.ApparatusMapper;
+import com.iamberry.wechat.service.mapper.MemberMapper;
 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;
+import org.springframework.transaction.annotation.Transactional;
 
+import java.util.Calendar;
+import java.util.Date;
 import java.util.List;
 
 /**
@@ -28,6 +32,8 @@ public class ApparatusServiceImpl implements ApparatusService {
     private SystemMapper systemMapper;
     @Autowired
     private UseIntegralMapper useIntegralMapper;
+    @Autowired
+    private MemberMapper memberMapper;
 
     @Override
     public List<Apparatus> listApparatusPage(Apparatus apparatus) {
@@ -40,60 +46,138 @@ public class ApparatusServiceImpl implements ApparatusService {
     }
 
     @Override
+    @Transactional
     public boolean registerMember(Apparatus apparatus, Member member) {
-        //注册会员获取积分id
-        ShopSystemRule shopSystemRule = systemMapper.selectOneShopRuleById(247);
-        if (shopSystemRule == null) {
+
+        //获取会员信息,判断是否已经注册会员
+        Member memberInfo = memberMapper.getMemberByUserOpenId(member.getUserOpenid());
+        if(memberInfo == null){
+            return false;
+        }
+        //添加机器信息
+        int num = apparatusMapper.addApparatus(apparatus);
+        if(num > 0){
+            //这里判断是否是会员 1.会员 2.普通用户
+            if(memberInfo.getUserIdentity() == 2){
+                //赠送新注册积分
+                addStayIntegral(member.getUserOpenid(),1,0.0);
+
+            }
+            //赠送400新增牙刷积分
+            addStayIntegral(member.getUserOpenid(),2,0.0);
+           //修改用户信息
+            member.setUserIdentity(1);
+            if(memberMapper.updateMemberByUserId(member) < 1){
+                return false;
+            }
+        } else {
             return false;
         }
+        return true;
+    }
+
+
+    /**
+     * 获取数据库配置的积分数量
+     * @param id
+     * @return
+     */
+    public IntegralConfig getIntegralId(Integer id){
+        //新增加牙刷获取积分id
+        ShopSystemRule shopSystemRule = systemMapper.selectOneShopRuleById(id);
+        if (shopSystemRule == null) {
+            return null;
+        }
         IntegralConfig config = new IntegralConfig();
         config.setIntegralConfigId(shopSystemRule.getRuleNum().intValue());
         //获取会员获取积分配置信息
         List<IntegralConfig> configList = useIntegralMapper.listIntegralConfig(config);
         if (configList == null || configList.size() == 0) {
-            return false;
+            return null;
         }
-        config = configList.get(0);
-        //查询会员积分等级规则信息
-        RankRule rankRule = new RankRule();
-        rankRule.setRankRuleStatus(1);
-        List<RankRule> rankRuleList = useIntegralMapper.listRankRule(rankRule);
-        if (rankRuleList == null || rankRuleList.size() == 0) {
+        return configList.get(0);
+    }
+    @Override
+    public Apparatus getApparatus(Apparatus apparatus) {
+        return apparatusMapper.getApparatus(apparatus);
+    }
+
+    @Override
+    public Integer getColorIdByProductId(String productId) {
+        return apparatusMapper.getColorIdByProductId(productId);
+    }
+
+    /**
+     * 添加待入账积分统一调用该接口
+     * @param openId
+     * @param IntegralType 1.新注册会员送一百积分  2.新增牙刷赠送400积分 3.购买牙刷,赠送订单金额乘以2的积分
+     * @param orderAmount  订单金额  IntegralType为3时有值
+     * @return
+     */
+    @Override
+    @Transactional
+    public boolean addStayIntegral(String openId,Integer IntegralType,Double orderAmount){
+        if(openId == null||openId.equals("") || IntegralType < 1){
             return false;
         }
-        int ruleId = 0;
-        //积分等级按积分数倒序排列,如果满足一个,则跳出整个循环
-        for (RankRule rule : rankRuleList) {
-            if (config.getIntegralConfigNumber().intValue() >= rule.getRankRuleIntegral()) {
-                ruleId = rankRule.getRankRuleId();
+        IntegralConfig integralConfig = null;
+        StayIntegral stayIntegral = new StayIntegral();
+        Integer stayNumber = 0;
+        switch (IntegralType){
+            case 1:
+                //新注册会员积分数量
+                integralConfig = getIntegralId(247);
+                stayNumber = integralConfig.getIntegralConfigNumber();
+
                 break;
-            }
+            case 2:
+                //新增加牙刷赠送积分数量
+                integralConfig = getIntegralId(248);
+                stayNumber = integralConfig.getIntegralConfigNumber();
+                break;
+            case 3:
+                if(orderAmount == 0){
+                    break;
+                }
+                integralConfig = getIntegralId(250);
+                stayNumber = (int)(orderAmount * 2);
+                break;
+            default:
+                 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);
-        if (sum > 0 && count > 0 && num > 0) {
-            return true;
-        } else {
+        if(integralConfig == null){
             return false;
         }
+        //规则表查询积分到账时间(多少天到账)
+        integralConfig = getIntegralId(251);
+        stayIntegral.setUserOpenid(openId);
+        stayIntegral.setConfigId(integralConfig.getIntegralConfigId());
+        stayIntegral.setStayNumber(stayNumber);
+        Calendar calendar = Calendar.getInstance();
+        calendar.set(Calendar.DAY_OF_MONTH,calendar.get(Calendar.DAY_OF_MONTH)+integralConfig.getIntegralConfigNumber());
+        stayIntegral.setStayRecordedTime(calendar.getTime());
+        stayIntegral.setStayStatus(1);
+        Integer msg = memberMapper.insertStayIntegral(stayIntegral);
+        if(msg > 0){
+            //添加待入账积分
+            Member memberInfo = memberMapper.getMemberByUserOpenId(openId);
+            memberInfo.setUserStayIntegral(stayNumber);
+            if(memberMapper.updateUserStayIntegralByOpenId(memberInfo) > 0){
+                //添加日志
+                UseIntegral useIntegral = new UseIntegral();
+                useIntegral.setConfigId(integralConfig.getIntegralConfigId());
+                useIntegral.setUserOpenId(openId);
+                useIntegral.setIntegralType(3);
+                useIntegral.setIntegralNumber(stayNumber);
+                useIntegral.setIntegralBeforeNumber(memberInfo.getUserSurplusIntegral());
+                useIntegral.setIntegralEndNumber(memberInfo.getUserSurplusIntegral());
+                useIntegral.setIntegralRemark(integralConfig.getIntegralConfigName());
+                //添加积分获取日志信息
+                if(useIntegralMapper.addUseIntegral(useIntegral) < 1){
+                    return false;
+                }
+            }
+        }
+        return true;
     }
 }

+ 16 - 0
tooth-wechat-service/src/main/java/com/iamberry/wechat/service/mapper/MemberMapper.java

@@ -4,6 +4,7 @@ import java.util.List;
 
 import com.iamberry.wechat.core.entity.Page;
 import com.iamberry.wechat.core.entity.member.Member;
+import com.iamberry.wechat.core.entity.integral.StayIntegral;
 
 /**
  * 会员信息 mapper
@@ -128,4 +129,19 @@ public interface MemberMapper {
 	 * @return
 	 */
 	Member getMyMemberInfo(String userOpenid);
+
+	/**
+	 * 根据 openid 修改用户待入账积分
+	 * 2018年1月10日17:18:39
+	 * @param member
+	 * @return
+	 */
+	Integer updateUserStayIntegralByOpenId(Member member);
+
+	/**
+	 * 增加待入账积分记录
+	 * @param stayIntegral
+	 * @return
+	 */
+	Integer insertStayIntegral(StayIntegral stayIntegral);
 }

+ 4 - 4
tooth-wechat-service/src/main/java/com/iamberry/wechat/service/mapper/apparatusMapper.xml

@@ -32,13 +32,13 @@
     <insert id="addApparatus" parameterType="Apparatus">
         INSERT INTO tb_iamberry_member_apparatus
         (
-          apparatus_barcode, user_openid, apparatus_status, apparatus_create_time,
-          store_id, apparatus_buy_date, apparatus_warranty_date
+          apparatus_barcode, user_openid,color_id, apparatus_status, apparatus_create_time,
+          apparatus_store, apparatus_buy_date, apparatus_warranty_date
         )
         VALUES
         (
-          #{apparatusBarcode}, #{userOpenid}, #{apparatusStatus}, NOW(),
-          #{storeId}, #{apparatusBuyDate}, #{apparatusWarrantyDate}
+          #{apparatusBarcode}, #{userOpenid},#{colorId}, #{apparatusStatus}, NOW(),
+          #{apparatusStore}, #{apparatusBuyDate}, #{apparatusWarrantyDate}
         )
     </insert>
 

+ 32 - 4
tooth-wechat-service/src/main/java/com/iamberry/wechat/service/mapper/memberMapper.xml

@@ -185,8 +185,21 @@
 			<if test="userQrcodeType != null">
 				user_qrcode_type = #{userQrcodeType}
 			</if>
+			<if test="userStayIntegral != null">
+				user_stay_integral = #{userStayIntegral}
+			</if>
+			<if test="userAgeStage != null">
+				user_age_stage = #{userAgeStage}
+			</if>
 		</set>
-		where user_id = #{userId}
+		<where>
+			<if test="userId != null">
+				user_id = #{userId}
+			</if>
+			<if test="userOpenid != null">
+				user_openid = #{userOpenid}
+			</if>
+		</where>
 	</update>
 
 	<!-- 修改用户已用积分 -->
@@ -212,11 +225,21 @@
 	<!-- 修改用户可用金额 -->
 	<update id="updateUserIncomeByOpenId" parameterType="Member">
 		UPDATE
-			TB_IAMBERRY_USER_USERINFO
+		TB_IAMBERRY_USER_USERINFO
 		SET
-			USER_INCOME = (USER_INCOME + #{userIncome})
+		USER_INCOME = (USER_INCOME + #{userIncome})
 		WHERE
-			USER_OPENID = #{userOpenid}
+		USER_OPENID = #{userOpenid}
+	</update>
+
+	<!-- 修改用户待入账积分 -->
+	<update id="updateUserStayIntegralByOpenId" parameterType="Member">
+		UPDATE
+		TB_IAMBERRY_USER_USERINFO
+		SET
+		user_stay_integral = (user_stay_integral + #{userStayIntegral})
+		WHERE
+		USER_OPENID = #{userOpenid}
 	</update>
 
 	<!-- 根据当前用户Id,下线信息 -->
@@ -324,4 +347,9 @@
 		</if>
 	</select>
 
+	<insert id="insertStayIntegral" parameterType="StayIntegral">
+        INSERT INTO (user_openid,config_id,stay_number,stay_recorded_time,stay_status,stay_remark,stay_create_time)
+        VALUES
+         (userOpenid,configId,stayNumber,stayRecordedTime,stayStatus,stayRemark,NOW())
+	</insert>
 </mapper> 

+ 10 - 4
tooth-wechat-service/src/main/java/com/iamberry/wechat/service/mapper/useIntegralMapper.xml

@@ -75,13 +75,19 @@
     <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
+          user_openid,
+          integral_type,
+          config_id,
+          integral_number,
+          integral_before_number,
+          integral_end_number,
+          integral_remark,
+          integral_create_time
         )
         VALUES
         (
-          #{userOpenId},#{useType},#{useIntegralType},#{useConfigId},
-          #{useIntegralNumber},#{useIntegralRemarks},NOW()
+          #{userOpenid},#{integralType},#{configId},#{integralNumber},
+          #{integralBeforeNumber},#{integralEndNumber},#{integralRemark},NOW()
         )
     </insert>
 

+ 5 - 2
tooth-wechat-service/src/main/java/com/iamberry/wechat/service/member/MemberServiceImpl.java

@@ -75,7 +75,6 @@ public class MemberServiceImpl implements MemberService {
 	 * 根据 userid 修改会员信息
 	 * 2016年4月21日
 	 * @author 穆再兴
-	 * @param userId
 	 * @return
 	 */
 	@Override
@@ -123,7 +122,6 @@ public class MemberServiceImpl implements MemberService {
 	/**
 	 * 根据userid获取当前用户的“下线人数”和“已购买人数”
 	 * 2016年5月11日
-	 * @param openId
 	 * @return
 	 */
 	public List<Integer> selectDownCountByUserId(Integer userId){
@@ -328,4 +326,9 @@ public class MemberServiceImpl implements MemberService {
 		Member member=memberDao.getMyMemberInfo(openId);
 		return member;
 	}
+
+	@Override
+	public Integer updateUserStayIntegralByOpenId(Member member) {
+		return memberDao.updateUserStayIntegralByOpenId(member);
+	}
 }

+ 8 - 0
tooth-wechat-service/src/main/java/com/iamberry/wechat/service/member/dao/MemberDao.java

@@ -120,4 +120,12 @@ public interface MemberDao {
 	 * @return
 	 */
 	Member getMyMemberInfo(String openId);
+
+	/**
+	 * 根据 openid 修改用户待入账积分
+	 * 2018年1月10日17:18:39
+	 * @param member
+	 * @return
+	 */
+	public Integer updateUserStayIntegralByOpenId(Member member);
 }

+ 5 - 2
tooth-wechat-service/src/main/java/com/iamberry/wechat/service/member/dao/imp/MemberDaoImpl.java

@@ -57,7 +57,6 @@ public class MemberDaoImpl  implements MemberDao {
 	 * 根据 userid 修改会员信息
 	 * 2016年4月21日
 	 * @author 穆再兴
-	 * @param userId
 	 * @return
 	 */
 	@Override
@@ -105,7 +104,6 @@ public class MemberDaoImpl  implements MemberDao {
 	/**
 	 * 根据userid获取当前用户的“下线人数”和“已购买人数”
 	 * 2016年5月11日
-	 * @param openId
 	 * @return
 	 */
 	public List<Integer> selectDownCountByUserId(Integer userId){
@@ -143,4 +141,9 @@ public class MemberDaoImpl  implements MemberDao {
 	public Member getMyMemberInfo(String openId){
 		return memberMapper.getMyMemberInfo(openId);
 	}
+
+	@Override
+	public Integer updateUserStayIntegralByOpenId(Member member) {
+		return memberMapper.updateUserStayIntegralByOpenId(member);
+	}
 }

+ 7 - 6
tooth-wechat-web/src/main/java/com/iamberry/wechat/handles/apparatus/ApparatusHandler.java

@@ -87,16 +87,17 @@ public class ApparatusHandler {
         member.setUserOpenid(memberInfo.getUserOpenid());
         //获取二维码中机器条形码
         String barCode = request.getParameter("barCode");
+        String apparatusStore = request.getParameter("apparatusStore");
         String buyDate = request.getParameter("buyDate");
-        String storeId = request.getParameter("storeId");
 
-        if (!StringUtil.isNotEmpty(barCode)) {
+        if (!StringUtil.isNotEmpty(barCode)
+                ||!StringUtil.isNotEmpty(apparatusStore)
+                ||!StringUtil.isNotEmpty(buyDate)) {
             msg.setResultCode(ResultInfo.ERRORCODE);
             msg.setStatus(false);
-            msg.setMessage("机器条形码为空,请重新扫描二维码!");
+            msg.setMessage("注册数据为空,请重新提交!");
             return msg;
         }
-
         Apparatus apparatus = new Apparatus();
         apparatus.setApparatusStatus(1);
         apparatus.setApparatusBarcode(barCode);
@@ -105,7 +106,7 @@ public class ApparatusHandler {
         if (apparatusList != null && apparatusList.size() > 0) {
             msg.setResultCode(ResultInfo.ERRORCODE);
             msg.setStatus(false);
-            msg.setMessage("获取机器信息失败!");
+            msg.setMessage("该机器已被绑定!");
             return msg;
         }
         //获取rst系统产品信息,根据获取到的产品id查出对呀的产品颜色id
@@ -133,7 +134,7 @@ public class ApparatusHandler {
         apparatus.setUserOpenid(memberInfo.getUserOpenid());
         apparatus.setApparatusBuyDate(format.parse(buyDate));
         apparatus.setApparatusWarrantyDate(updateDate(format.parse(buyDate),renewRule.getRuleNum().intValue()));
-        apparatus.setStoreId(Integer.getInteger(storeId));
+        apparatus.setApparatusStore(Integer.getInteger(apparatusStore));
         //注册会员
         boolean flag = apparatusService.registerMember(apparatus,member);
         if (flag) {