Browse Source

免费领取充电器修改

wangxiaoming 7 years ago
parent
commit
c1f356abb6

+ 8 - 0
tooth-wechat-interface/src/main/java/com/iamberry/wechat/face/receive/ChargReceiveService.java

@@ -39,4 +39,12 @@ public interface ChargReceiveService {
 
     /*分页 -- 后台专用*/
     PagedResult<ChargerReceive> listAdminChargerReceive(PageRequest<ChargerReceive> pageRequest);
+
+
+    /**
+     * 获取用户所拥有的机器的数量
+     * @param openId
+     * @return
+     */
+    Integer getApparatusNumber(String openId);
 }

+ 7 - 0
tooth-wechat-service/src/main/java/com/iamberry/wechat/service/mapper/ChargerReceiveMapper.java

@@ -31,4 +31,11 @@ public interface ChargerReceiveMapper {
 
     /*后台专用*/
     List<ChargerReceive> listAdminChargerReceive(ChargerReceive chargerReceive);
+
+    /**
+     * 获取用户所拥有的机器的数量
+     * @param openId
+     * @return
+     */
+    Integer getApparatusNumber(String openId);
 }

+ 10 - 0
tooth-wechat-service/src/main/java/com/iamberry/wechat/service/mapper/chargerReceiveMapper.xml

@@ -381,4 +381,14 @@
     ORDER BY t.receive_create_time
   </select>
 
+  <!-- 获取用户所注册的机器数量 -->
+  <select id="getApparatusNumber" resultType="Integer" parameterType="String" >
+    SELECT
+        COUNT(t.apparatus_id)
+    FROM
+        tb_iamberry_member_apparatus t
+    WHERE
+        t.user_openid = #{openId}
+  </select>
+
 </mapper>

+ 5 - 0
tooth-wechat-service/src/main/java/com/iamberry/wechat/service/receive/ChargReceiveServiceImpl.java

@@ -76,4 +76,9 @@ public class ChargReceiveServiceImpl implements ChargReceiveService {
         return PageUtil.getPage(detedctList);
     }
 
+    @Override
+    public Integer getApparatusNumber(String openId) {
+        return chargerReceiveMapper.getApparatusNumber(openId);
+    }
+
 }

+ 27 - 2
tooth-wechat-web/src/main/java/com/iamberry/wechat/handles/receive/ChargReceiveHandler.java

@@ -70,6 +70,13 @@ public class ChargReceiveHandler {
 									 ) throws Exception {
 		ResultMsg remsg=new ResultMsg();
 		String openId  = WechatUtils.getUserBySession(request).getUserOpenid();
+		Member member = memberService.getMemberByUserOpenId(openId);
+		if(member.getUserIdentity() !=1 ){	//不为上朵会员
+			remsg.setResultCode(ResultInfo.ERRORCODE);
+			remsg.setStatus(false);
+			remsg.setMessage("需要注册为上朵会员才能免费领取充电器!");
+			return remsg;
+		}
 
 		ChargerReceive chargerReceive = new ChargerReceive();
 		chargerReceive.setReceiveOpenId(openId);
@@ -122,6 +129,13 @@ public class ChargReceiveHandler {
 		String openId  = WechatUtils.getUserBySession(request).getUserOpenid();
 
 		Member member = memberService.getMemberByUserOpenId(openId); // 当前用户
+		if(member.getUserIdentity() !=1 ){	//不为上朵会员
+			remsg.setResultCode(ResultInfo.ERRORCODE);
+			remsg.setStatus(false);
+			remsg.setMessage("需要注册为上朵会员才能免费领取充电器!");
+			return remsg;
+		}
+
 		chargerReceive.setReceiveOpenId(openId);
 
 		remsg.setResultCode(ResultInfo.ERRORCODE);
@@ -143,8 +157,9 @@ public class ChargReceiveHandler {
 		verificaCR.setReceiveOpenId(openId);
 		verificaCR.setReceiveCreateTime(new Date());
 		List<ChargerReceive> chargerReceiveList = chargReceiveService.getChargerReceiveList(verificaCR);
+		Integer apparatusNumber = chargReceiveService.getApparatusNumber(openId);
 		Integer num = 2000;
-		if(chargerReceiveList == null || chargerReceiveList.size() < 1){
+		if(chargerReceiveList == null || chargerReceiveList.size() < apparatusNumber){
 			num = Integer.valueOf(systemService.selectOneShopRuleById(254).getRuleNum().intValue());	//10
 		}else{
 			num = Integer.valueOf(systemService.selectOneShopRuleById(255).getRuleNum().intValue()); 	//20
@@ -206,6 +221,15 @@ public class ChargReceiveHandler {
 	public  ResultMsg getChargPrice(HttpServletRequest request) throws Exception {
 		ResultMsg remsg=new ResultMsg();
 		String openId  = WechatUtils.getUserBySession(request).getUserOpenid();
+
+		Member member = memberService.getMemberByUserOpenId(openId);
+		if(member.getUserIdentity() !=1 ){	//不为上朵会员
+			remsg.setResultCode(ResultInfo.ERRORCODE);
+			remsg.setStatus(false);
+			remsg.setMessage("需要注册为上朵会员才能免费领取充电器!");
+			return remsg;
+		}
+
 		/*验证今年是否已经领过了*/
 		Boolean isReceive = false;
 		Integer pickingNumber = 0;
@@ -213,7 +237,8 @@ public class ChargReceiveHandler {
 		verificaCR.setReceiveOpenId(openId);
 		verificaCR.setReceiveCreateTime(new Date());
 		List<ChargerReceive> chargerReceiveList = chargReceiveService.getChargerReceiveList(verificaCR);
-		if(chargerReceiveList == null || chargerReceiveList.size() < 1){
+		Integer apparatusNumber = chargReceiveService.getApparatusNumber(openId);
+		if(chargerReceiveList == null || chargerReceiveList.size() < apparatusNumber){
 			isReceive = true;
 		}else{
 			pickingNumber = chargerReceiveList.size();