Browse Source

上朵公众号增加客服功能

xian 4 years ago
parent
commit
b386bafdd1

+ 1 - 1
tooth-common-core/src/main/java/com/iamberry/wechat/core/entity/WechatUtils.java

@@ -94,7 +94,7 @@ public class WechatUtils {
 			}
 			// 如果cookie的name以cookie value的前8位口头,那么是用户token保存方式
 			String cookieNmae = cookie.getName();
-			String cookieValue = new String(cookie.getValue().substring(0, 8));
+			String cookieValue = cookie.getValue().substring(0, 8);
 			if (!cookieNmae.startsWith(cookieValue)) {
 				continue;
 			}

+ 2 - 2
tooth-wechat-web/pom.xml

@@ -66,8 +66,8 @@
                 <artifactId>maven-compiler-plugin</artifactId>
                 <version>3.3</version>
                 <configuration>
-                    <source>1.7</source>
-                    <target>1.7</target>
+                    <source>8</source>
+                    <target>8</target>
                 </configuration>
             </plugin>
         </plugins>

+ 19 - 17
tooth-wechat-web/src/main/java/com/iamberry/wechat/handles/apparatus/ApparatusHandler.java

@@ -151,19 +151,19 @@ public class ApparatusHandler {
             isRegistered = true;
         }
 
-        if(userBirthDateString != null && userBirthDateString != "" ){
+        if(userBirthDateString != null && !"".equals(userBirthDateString)){
             String[] ubds = userBirthDateString.split("-");
             Calendar calendar = Calendar.getInstance();
-            calendar.set(Integer.valueOf(ubds[0]),Integer.valueOf(ubds[1])-1,Integer.valueOf(ubds[2]));
-            calendar.set(Calendar.HOUR_OF_DAY, 0);//时
-            calendar.set(Calendar.MINUTE, 0);//分
-            calendar.set(Calendar.SECOND, 0);//秒
+            calendar.set(Integer.valueOf(ubds[0]),Integer.valueOf(ubds[1])-1, Integer.valueOf(ubds[2]));
+            //时 分 秒
+            calendar.set(Calendar.HOUR_OF_DAY, 0);
+            calendar.set(Calendar.MINUTE, 0);
+            calendar.set(Calendar.SECOND, 0);
             member.setUserBirthDate(calendar.getTime());
         }
 
         if(memberInfo.getUserTel() == null || !memberInfo.getUserTel().equals(member.getUserTel())){
             //判断验证码
-            //使用request对象的getSession()获取session,如果session不存在则创建一个
             HttpSession session = request.getSession();
             String verificationTel = (String) session.getAttribute("verification_tel");
             if(member.getUserTel() == null || !member.getUserTel().equals(verificationTel)){
@@ -180,17 +180,17 @@ public class ApparatusHandler {
             nowTime.setTime(verificationDate);
             nowTime.add(Calendar.MINUTE, 5);
             Date verData = nowTime.getTime();
-            if(!verificationCode.equals(code) || (verData.getTime() < new Date().getTime())  ){
+            if(!verificationCode.equals(code) || (verData.getTime() < System.currentTimeMillis())  ){
                 return new ResultMsg(false, ResultInfo.ERRORCODE, "验证码不正确或已失效,请重新获取!",null);
             }
         }
 
         SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
-        //获取换新时间期限
+        // 获取换新时间期限
         ShopSystemRule renewRule =  systemService.selectOneShopRuleById(246);
         member.setUserOpenid(memberInfo.getUserOpenid());
         String barCode = request.getParameter("barCode");
-        String apparatusStore = request.getParameter("apparatusStore");
+        /*String apparatusStore = request.getParameter("apparatusStore");
         String buyDate = request.getParameter("buyDate");
 
         if (!StringUtil.isNotEmpty(barCode)
@@ -198,17 +198,18 @@ public class ApparatusHandler {
                 ||!StringUtil.isNotEmpty(buyDate)) {
             return new ResultMsg(false, ResultInfo.ERRORCODE, "注册数据为空,请重新提交!",null);
         }
-        //拼接日期信息
+        // 拼接日期信息
         buyDate = buyDate+" 00:00:00";
+        */
         Apparatus apparatus = new Apparatus();
         apparatus.setApparatusStatus(1);
         apparatus.setApparatusBarcode(barCode);
-        //获取机器信息
+        // 获取机器信息
         List<Apparatus> apparatusList = apparatusService.listApparatusPage(apparatus);
         if (apparatusList != null && apparatusList.size() > 0) {
             return new ResultMsg(false, ResultInfo.ERRORCODE, "该机器已被绑定!",null);
         }
-        //获取rst系统产品信息,根据获取到的产品id查出对呀的产品颜色id
+        // 获取rst系统产品信息,根据获取到的产品id查出对呀的产品颜色id
         Integer productColorId = 0;
         String json =  HttpUtility.httpsGet(ResultInfo.GET_MACHINE_INFO+barCode);
         if(json == null){
@@ -217,17 +218,18 @@ public class ApparatusHandler {
         JSONObject machineJson = JSONObject.fromObject(json);
         JSONObject message = machineJson.getJSONObject("message");
         String isBeing = message.getString("isBeing");
-        if(isBeing.equals("1")){
-            String productId = message.getString("productId");//产品id
+        if("1".equals(isBeing)){
+            //产品id
+            String productId = message.getString("productId");
             productColorId = apparatusService.getColorIdByProductId(productId);
         }else{
             return new ResultMsg(false, ResultInfo.ERRORCODE, "会员注册失败,未找到该机器!",null);
         }
         apparatus.setColorId(productColorId);
         apparatus.setUserOpenid(memberInfo.getUserOpenid());
-        apparatus.setApparatusBuyDate(format.parse(buyDate));
-        apparatus.setApparatusWarrantyDate(updateDate(format.parse(buyDate),renewRule.getRuleNum().intValue()));
-        apparatus.setApparatusStore(Integer.valueOf(apparatusStore));
+        /*apparatus.setApparatusBuyDate(format.parse(buyDate));
+        apparatus.setApparatusStore(Integer.valueOf(apparatusStore));*/
+        apparatus.setApparatusWarrantyDate(updateDate(new Date(),renewRule.getRuleNum().intValue()));
         //注册会员
         boolean flag = false;
         try{

+ 2 - 2
tooth-wechat-web/src/main/java/com/iamberry/wechat/handles/cart/CartHandlers.java

@@ -652,7 +652,7 @@ public class CartHandlers {
 			}
 			map = cartService.updateOrderStatus(orderId, Integer.valueOf(orderDto.getSalesStatus()), remark, status);
 
-			if (map.get("flag") == true && Integer.valueOf(orderDto.getSalesStatus()) == 1) { //待支付,取消订单
+			if (map.get("flag").equals("true") && Integer.valueOf(orderDto.getSalesStatus()) == 1) { //待支付,取消订单
 				if (null != orderDto.getSalesCouponReceiveId() && !"".equals(orderDto.getSalesCouponReceiveId())) {
 					CouponItem couponItem = new CouponItem();
 					couponItem.setCouponItemId(orderDto.getSalesCouponReceiveId());
@@ -664,7 +664,7 @@ public class CartHandlers {
 			}
 		}
 
-		if(map.get("flag") == true){
+		if(map.get("flag").equals("true")){
 			remsg.setMessage(NameUtils.getConfig("SUCCESSINFO"));
 			remsg.setResultCode(ResultInfo.SUCCESSCODE);
 			remsg.setStatus(true);

+ 88 - 52
tooth-wechat-web/src/main/java/com/iamberry/wechat/handles/coupon/CouponTypeHandler.java

@@ -531,21 +531,19 @@ public class CouponTypeHandler {
 	@RequestMapping("/getIsReceive")
 	public ResultMsg getIsReceive(HttpServletRequest request) {
 		ResultMsg resultMsg = new ResultMsg();
-		Member memberInfo = WechatUtils.getUserBySession(request);
-
-		memberInfo = memberService.getMemberByUserOpenId(memberInfo.getUserOpenid());
-
-//		Integer msg = couponItemService.getIsReceive(memberInfo.getUserOpenid());
+		Member memberInfo = memberService.getMemberByUserOpenId(WechatUtils.getUserBySession(request).getUserOpenid());
+		// 查询用户是否领取 新人的 优惠券
 		CouponItemDto couponItemDto = new CouponItemDto();
 		couponItemDto.setUseropenid(memberInfo.getUserOpenid());
 		couponItemDto.setCouponIsNewPeople(1);
 		List<CouponItemDto> couponItemDtoList = couponItemService.getCouponItemDtoList(couponItemDto);
-
+		// 判断用户是否领取了 20004 的优惠券
 		CouponItemDto cidLips = new CouponItemDto();
 		cidLips.setUseropenid(memberInfo.getUserOpenid());
 		cidLips.setCouponId(20004);
 		List<CouponItemDto> cidLipsList = couponItemService.getCouponItemDtoList(cidLips);
 
+		// 判断用户是否领取了 活动的 优惠券
 		Activity activity = new Activity();
 		activity.setUserOpenId(memberInfo.getUserOpenid());
 		List<Activity> activityList = activityService.getActivityList(activity);
@@ -558,17 +556,13 @@ public class CouponTypeHandler {
 				if (activityList != null && activityList.size() > 0) {
 					Activity ac = activityList.get(0);
 					CouponItemDto ci = couponItemDtoList.get(0);
-					if(ci.getCouponItemId().equals(ac.getActivityCoupon())){
-						flag = true;
-					}else{
+					if(!ci.getCouponItemId().equals(ac.getActivityCoupon())){
 						flag = false;
 					}
 				}else{
 					flag = false;
 				}
 			}
-		}else{	//未领取优惠券
-			flag = true;
 		}
 		if(cidLipsList != null && cidLipsList.size() > 0 ){
 			flag = false;
@@ -580,7 +574,7 @@ public class CouponTypeHandler {
 			return resultMsg;
 		}else{
 			/*未领取优惠券*/
-			if(memberInfo != null && memberInfo.getUserIdentity() == 1){
+			if(memberInfo.getUserIdentity() == 1){
 				resultMsg.setResultCode(ResultInfo.SUCCESSCODE);
 				resultMsg.setStatus(true);
 				return resultMsg;
@@ -602,34 +596,27 @@ public class CouponTypeHandler {
 	@RequestMapping("/addAewPeople")
 	public ResultMsg addAewPeople(HttpServletRequest request){
 		ResultMsg resultMsg = new ResultMsg();
-		Member memberInfo = WechatUtils.getUserBySession(request);
-		memberInfo = memberService.getMemberByUserOpenId(memberInfo.getUserOpenid());
-//		CouponType couponType = new CouponType();
-//		couponType.setCouponIsNewPeople(1);
-//		couponType.setPage(new PageBean());
-//		List<CouponType> couponTypeList = couponTypeService.getCouponTypeList(couponType);
-//		if(couponTypeList == null || couponTypeList.size() < 1){
-//			resultMsg.setResultCode(ResultInfo.ERRORCODE);
-//			resultMsg.setStatus(false);
-//			return resultMsg;
-//		}
-
-//		Integer msg = couponItemService.getIsReceive(memberInfo.getUserOpenid());
+		// 查询当前登录用户
+		Member memberInfo = memberService.getMemberByUserOpenId(WechatUtils.getUserBySession(request).getUserOpenid());
 
+		// 判断当前用户是否领取了 新人 优惠券
 		CouponItemDto couponItemDto = new CouponItemDto();
 		couponItemDto.setUseropenid(memberInfo.getUserOpenid());
 		couponItemDto.setCouponIsNewPeople(1);
 		List<CouponItemDto> couponItemDtoList = couponItemService.getCouponItemDtoList(couponItemDto);
 
+		// 判断当前用户是否领取了 20004 优惠券
 		CouponItemDto cidLips = new CouponItemDto();
 		cidLips.setUseropenid(memberInfo.getUserOpenid());
 		cidLips.setCouponId(20004);
 		List<CouponItemDto> cidLipsList = couponItemService.getCouponItemDtoList(cidLips);
 
+		// 判断用户是否领取了 活动 优惠券
 		Activity activity = new Activity();
 		activity.setUserOpenId(memberInfo.getUserOpenid());
 		List<Activity> activityList = activityService.getActivityList(activity);
 
+		// 是否为 Lips 牙刷产品
 		boolean isNewLIps = false;
 		Apparatus apparatus = new Apparatus();
 		apparatus.setUserOpenid(memberInfo.getUserOpenid());
@@ -642,6 +629,7 @@ public class CouponTypeHandler {
 			}
 		}
 
+		// 是否可以领取优惠券
 		boolean flag = true;
 		if (couponItemDtoList != null && couponItemDtoList.size() > 0) {
 			if(couponItemDtoList.size() > 1){
@@ -650,17 +638,11 @@ public class CouponTypeHandler {
 				if (activityList != null && activityList.size() > 0) {
 					Activity ac = activityList.get(0);
 					CouponItemDto ci = couponItemDtoList.get(0);
-					if(ac.getActivityCoupon().equals(ci.getCouponItemId()) ){
-						flag = true;
-					}else{
-						flag = false;
-					}
+					flag = ac.getActivityCoupon().equals(ci.getCouponItemId());
 				}else{
 					flag = false;
 				}
 			}
-		}else{	//未领取优惠券
-			flag = true;
 		}
 
 		if(cidLipsList != null && cidLipsList.size() > 0 ){
@@ -674,7 +656,7 @@ public class CouponTypeHandler {
 			resultMsg.setStatus(false);
 			resultMsg.setMessage("领取失败,该用户已领取过优惠券");
 			return resultMsg;
-		}else{
+		} else {
 			if(memberInfo.getUserIdentity() != 1){
 				resultMsg.setResultCode("505");
 				resultMsg.setStatus(false);
@@ -687,7 +669,8 @@ public class CouponTypeHandler {
 				ci.setCouponId(20001);
 				Calendar cdi = Calendar.getInstance();
 				cdi.add(Calendar.DATE,60);
-				ci.setCouponUseEndDate(cdi.getTime());//领取后一年有效
+				//领取后一年有效
+				ci.setCouponUseEndDate(cdi.getTime());
 				ci.setCouponReceiveDate(new Date());
 				ci.setCouponItemUseropenid(memberInfo.getUserOpenid());
 				ci.setCouponUseStatus(1);
@@ -699,7 +682,8 @@ public class CouponTypeHandler {
 				couponItem.setCouponId(20004);
 				Calendar calendar = Calendar.getInstance();
 				calendar.add(Calendar.YEAR,1);
-				couponItem.setCouponUseEndDate(calendar.getTime());//领取后一年有效
+				//领取后一年有效
+				couponItem.setCouponUseEndDate(calendar.getTime());
 				couponItem.setCouponReceiveDate(new Date());
 				couponItem.setCouponItemUseropenid(memberInfo.getUserOpenid());
 				couponItem.setCouponUseStatus(1);
@@ -713,23 +697,75 @@ public class CouponTypeHandler {
 					return resultMsg;
 				}
 			}else{
-				CouponItem couponItem = new CouponItem();
-				couponItem.setCouponId(20000);
-				Calendar calendar = Calendar.getInstance();
-				calendar.add(Calendar.YEAR,1);
-				couponItem.setCouponUseEndDate(calendar.getTime());//领取后一年有效
-				couponItem.setCouponReceiveDate(new Date());
-				couponItem.setCouponItemUseropenid(memberInfo.getUserOpenid());
-				couponItem.setCouponUseStatus(1);
-				couponItem.setCouponIsDonation(2);
-				couponItem.setCouponItemRemark("新人优惠券");
-				fl = couponItemService.insertCouponItem(couponItem);
-				if(fl < 1){
-					resultMsg.setResultCode(ResultInfo.ERRORCODE);
-					resultMsg.setMessage("领取出错");
-					resultMsg.setStatus(false);
-					return resultMsg;
-				}
+			    if (true) {
+                    // 刷头抵扣券
+                    CouponItem couponItem = new CouponItem();
+                    couponItem.setCouponId(20000);
+                    Calendar calendar = Calendar.getInstance();
+                    calendar.add(Calendar.YEAR,1);
+                    //领取后一年有效
+                    couponItem.setCouponUseEndDate(calendar.getTime());
+                    couponItem.setCouponReceiveDate(new Date());
+                    couponItem.setCouponItemUseropenid(memberInfo.getUserOpenid());
+                    couponItem.setCouponUseStatus(1);
+                    couponItem.setCouponIsDonation(2);
+                    couponItem.setCouponItemRemark("新人优惠券");
+                    fl = couponItemService.insertCouponItem(couponItem);
+                    if(fl < 1){
+                        resultMsg.setResultCode(ResultInfo.ERRORCODE);
+                        resultMsg.setMessage("领取出错");
+                        resultMsg.setStatus(false);
+                        return resultMsg;
+                    }
+                } else {
+					Apparatus app = apparatusList.get(0);
+					if (app != null) {
+						int colorId = app.getColorId();
+						int toothCouponId = 0;
+						if (colorId >= 42&& colorId <= 45) {
+							// P系列牙刷
+							toothCouponId = 500004;
+						} else if (colorId >= 100 && colorId <= 102) {
+							// Lips系列牙刷
+							toothCouponId = 500005;
+						} else if (colorId >= 369 && colorId <= 370) {
+							// 青春版牙刷
+							toothCouponId = 500006;
+						} else if (colorId >= 60 && colorId <= 63) {
+							// R系列牙刷
+							toothCouponId = 500007;
+						} else if (colorId >= 76 && colorId <= 77) {
+							// Kids系列牙刷
+							toothCouponId = 500008;
+						}
+
+						// 新人优惠券(刷头买1送1)
+						CouponItem couponItem = new CouponItem();
+						couponItem.setCouponId(110006);
+						Calendar calendar = Calendar.getInstance();
+						calendar.add(Calendar.YEAR,1);
+						//领取后一年有效
+						couponItem.setCouponUseEndDate(calendar.getTime());
+						couponItem.setCouponReceiveDate(new Date());
+						couponItem.setCouponItemUseropenid(memberInfo.getUserOpenid());
+						couponItem.setCouponUseStatus(1);
+						couponItem.setCouponIsDonation(2);
+						couponItem.setCouponItemRemark("新人优惠券");
+						fl = couponItemService.insertCouponItem(couponItem);
+						if(fl < 1){
+							resultMsg.setResultCode(ResultInfo.ERRORCODE);
+							resultMsg.setMessage("领取出错");
+							resultMsg.setStatus(false);
+							return resultMsg;
+						}
+
+						if (toothCouponId >= 1) {
+							// 新人优惠券(牙刷买1送1)
+							couponItem.setCouponId(toothCouponId);
+							couponItemService.insertCouponItem(couponItem);
+						}
+					}
+                }
 			}
 
 			if(fl > 0){

File diff suppressed because it is too large
+ 586 - 136
tooth-wechat-web/src/main/java/com/iamberry/wechat/handles/order/OrderHandler.java


+ 1 - 1
tooth-wechat-web/src/main/java/com/iamberry/wechat/handles/pay/RequestWechatPayHandler.java

@@ -471,7 +471,7 @@ public class RequestWechatPayHandler {
 		agentOrder.setAgentOrderid(OrderNOUtil.createOrderCode(codeId));
 		agentOrder.setAgentId(agentTooth.getAgentId());
 		Map<String, Object> map = agentPurchaseOrderService.addAgentOrder(agentOrder, agentOrderItemList);
-		if (map.get("status") == null || map.get("status") == 400) {
+		if (map.get("status") == null || map.get("status").equals("400")) {
 			msg.setMessage(map.get("msg").toString());
 			return msg;
 		}

+ 4 - 3
tooth-wechat-web/src/main/java/com/iamberry/wechat/handles/wx/QrCodeHandler.java

@@ -55,17 +55,18 @@ public class QrCodeHandler {
             msg.setMessage("未扫描到二维码,请重新扫描!");
             return msg;
         }
-        boolean isActivation = false;//是否激活
+        //是否激活
+        boolean isActivation = false;
         Member memberInfo = WechatUtils.getUserBySession(req);
 
         logger.info("扫描二维码:"+qrCode+"===微信openid为:"+memberInfo.getUserOpenid());
-        System.out.println("扫描二维码:"+qrCode+"===微信openid为:"+memberInfo.getUserOpenid());
 
         Apparatus apparatus = new Apparatus();
         apparatus.setApparatusBarcode(qrCode);
         /*apparatus.setUserOpenid(memberInfo.getUserOpenid());*/
         apparatus =  apparatusService.getApparatus(apparatus);
-        if(apparatus != null){//不为空表示已激活
+        if(apparatus != null){
+            //不为空表示已激活
             isActivation = true;
         }
         //查询用户信息