浏览代码

会员积分bug修复

wangxiaoming 5 年之前
父节点
当前提交
65dd649fd1

+ 1 - 0
iamberry-wechat-service/src/main/java/com/iamberry/wechat/service/ActivityUtil.java

@@ -255,6 +255,7 @@ public class ActivityUtil {
                     carD.setProductIntroduceImg(product.getColorProductPic());	//productIntroduceImg
                     carD.setProductChildType(product.getProductChildTypeId());	//productChildType
                     carD.setCartIsSource(1);
+                    carD.setColorType(1);
                     CartDto newCartDto = new CartDto();
                     BeanUtils.copyProperties(carD,newCartDto);
                     newGiftList.add(newCartDto);

+ 4 - 4
iamberry-wechat-web/src/main/java/com/iamberry/wechat/handles/mq/MQTask.java

@@ -393,8 +393,8 @@ public class MQTask implements InitializingBean {
 	 * @throws Exception
 	 */
 //	@Scheduled(cron = "0 0 */1 * * ?")//每小时执行一次
-	@Scheduled(cron = "0 0/2 * * * ?")//每2分钟执行一次
-//	@Scheduled(cron = "0 0 9 * * ?")//每天早上9点触发
+//	@Scheduled(cron = "0 0/2 * * * ?")//每2分钟执行一次
+	@Scheduled(cron = "0 0 9 * * ?")//每天早上9点触发
 	public void birthDatePrompt() throws Exception {
 		logger.info("---------------- 生日提醒-提醒用户-开始 ---------------");
 		List<Member> memberList = memberService.getNowBirthDate();
@@ -451,7 +451,7 @@ public class MQTask implements InitializingBean {
 //	@Scheduled(cron = "0 0/2 * * * ?")//每2分钟执行一次
 	@Scheduled(cron = "0 0/20 * * * ?")//每20分钟执行一次
 	public void cancelOrder() throws Exception {
-		logger.info("---------------- 取消订单-开始 ---------------");
+		logger.info("---------------- 超过20分钟取消订单-开始 ---------------");
 
 		Calendar calendar = Calendar.getInstance();
 		calendar.setTime(new Date());
@@ -468,7 +468,7 @@ public class MQTask implements InitializingBean {
 					logger.info("---------------- 订单取消失败-订单号:"+ ord.getSalesOrderid() +" ---------------");
 				}
 			}
-			logger.info("---------------- 取消订单-结束 ---------------");
+			logger.info("---------------- 超过20分钟取消订单-结束 ---------------");
 		}
 	}
 

+ 89 - 4
iamberry-wechat-web/src/main/java/com/iamberry/wechat/handles/pay/ResponseWechatPayHandler.java

@@ -4,23 +4,24 @@ import java.io.BufferedOutputStream;
 import java.io.IOException;
 import java.io.StringReader;
 import java.text.DecimalFormat;
-import java.util.Date;
-import java.util.HashMap;
-import java.util.List;
-import java.util.Map;
+import java.util.*;
 
 import javax.servlet.http.HttpServletRequest;
 import javax.servlet.http.HttpServletResponse;
 
 import com.iamberry.wechat.core.entity.ResultMsg;
+import com.iamberry.wechat.core.entity.coupon.CouponType;
 import com.iamberry.wechat.core.entity.eo.Promotions;
 import com.iamberry.wechat.core.entity.ism.IntegralConfig;
+import com.iamberry.wechat.core.entity.ism.IntegralLog;
 import com.iamberry.wechat.core.entity.order.OrderItem;
+import com.iamberry.wechat.face.coupon.CouponTypeService;
 import com.iamberry.wechat.face.coupon.WelfareService;
 import com.iamberry.wechat.face.ism.IntegralLogService;
 import com.iamberry.wechat.service.ActivityUtil;
 import com.iamberry.wechat.tools.ResultInfo;
 import com.iamberry.wechat.tools.SendMessageUtil;
+import com.iamberry.wechat.tools.StrUtils;
 import org.jdom.Document;
 import org.jdom.Element;
 import org.jdom.input.SAXBuilder;
@@ -87,6 +88,10 @@ public class ResponseWechatPayHandler {
 	private IntegralLogService integralLogService;
 	@Autowired
 	private ActivityUtil activityUtil;
+	@Autowired
+	private MemberService memberService;
+	@Autowired
+	private CouponTypeService couponTypeService;
 
 	/**
 	 * 销售订单支付回调方法
@@ -368,4 +373,84 @@ public class ResponseWechatPayHandler {
 		}
 		return msg;
 	}
+
+	@ResponseBody
+	@RequestMapping(value = "/test_accountEntry")
+	public void accountEntry() throws Exception {
+		ratFWLogger.info("---------------- 待入账转为已入账-开始 ---------------");
+		List<IntegralLog> integralLogList = integralLogService.getIntegralLogListByWaitUser();
+		if(integralLogList!=null && integralLogList.size()>0){
+			ratFWLogger.info("---------------- 当前待入账的处理数量-"+ integralLogList.size() +" ---------------");
+			for (IntegralLog integralLog:integralLogList) {
+				try {
+					integralLogService.waitUser(integralLog);
+				}catch (Exception e){
+					ratFWLogger.info("--待入账转为已入账失败;待入账积分记录id:"+integralLog.getInteLogId()+";" +
+							"订单编号:"+ integralLog.getInteLogWaitingOrderId() +";失败原因:"+e.getMessage());
+					e.printStackTrace();
+				}
+			}
+			ratFWLogger.info("---------------- 待入账转为已入账-结束 ---------------");
+		}
+	}
+
+	@ResponseBody
+	@RequestMapping(value = "/test_birthDatePromptCoupon")
+	public void birthDatePromptCoupon() throws Exception {
+		ratFWLogger.info("---------------- 生日提醒-赠送优惠券-开始 ---------------");
+		List<Member> memberList = memberService.getNowBirthDate();
+		ratFWLogger.info("---今日生日的用户数量:"+memberList.size());
+		Integer couponId = 40000;
+		for (Member member:memberList) {
+			CouponType couponType = couponTypeService.getCouponTypeById(couponId);
+
+			Calendar calendar = Calendar.getInstance();
+			calendar.set(Calendar.HOUR_OF_DAY,23);
+			calendar.set(Calendar.MINUTE,59);
+			calendar.set(Calendar.SECOND,50);
+			//创建优惠券
+			CouponItem couponItem = new CouponItem();
+			String uuidStr = StrUtils.getUUID();
+			couponItem.setCouponItemId(uuidStr);
+			couponItem.setCouponItemUseropenid(member.getUserOpenid());
+			couponItem.setCouponId(couponType.getCouponId());
+			couponItem.setCouponReceiveDate(new Date());
+			couponItem.setCouponUseEndDate(calendar.getTime());
+			couponItem.setCouponUseStatus(1);
+			couponItem.setCouponItemRemark(couponType.getCouponRemark());
+			Integer flag = couponItemService.insertCouponItem(couponItem);
+			if(flag < 1){
+				ratFWLogger.info("---生日优惠券领取失败,userOpenId:"+member.getUserOpenid() + "");
+			}else{
+				ratFWLogger.info("---生日优惠券领取成功,userOpenId:"+member.getUserOpenid() + "");
+			}
+		}
+		ratFWLogger.info("---------------- 生日提醒-赠送优惠券-结束 ---------------");
+	}
+
+	@ResponseBody
+	@RequestMapping(value = "/test_birthDatePrompt")
+	public void birthDatePrompt() throws Exception {
+		ratFWLogger.info("---------------- 生日提醒-提醒用户-开始 ---------------");
+		List<Member> memberList = memberService.getNowBirthDate();
+		ratFWLogger.info("---今日生日的用户数量:"+memberList.size());
+		for (Member member:memberList) {
+			//推送微信模板消息
+			try {
+				sendMessageUtil.memberActivation(
+						"尊敬的会员,祝您生日快乐,特送上一份生日礼包。",
+						member.getUserTel(),
+						String.valueOf(member.getUserSurplusIntegral()),
+						"1、免费领取50元代金券,满99元即可使用,在会员中心-券包即可查看使用。\\\\r\\\\n" +
+								"2、会员生日当天下单购买产品,即可享受3倍积分。" +
+								"生日福利仅限生日当天领取和使用,赶快享受你的专属生日礼包吧!",
+						member.getUserOpenid(),
+						ResultInfo.COUPON_URL);
+			}catch (Exception e){
+				ratFWLogger.info("推送今日生日的用户消息失败,失败openId:" + member.getUserOpenid());
+				e.printStackTrace();
+			}
+		}
+		ratFWLogger.info("---------------- 生日提醒-提醒用户-结束 ---------------");
+	}
 }

+ 0 - 8
iamberry-wechat-web/src/main/resources/jdbc.properties

@@ -9,8 +9,6 @@ jdbc.minPoolSize=3
 jdbc.maxPoolSize=3
 # default 3
 jdbc.initialPoolSize=3
-#jdbc.url=jdbc:mysql://192.168.1.254:3306/iamberry?useUnicode=true&characterEncoding=UTF-8&allowMultiQueries=true&autoReconnect=true&failOverReadOnly=false&zeroDateTimeBehavior=convertToNull
-#jdbc.url=jdbc:mysql://192.168.1.2:3306/iamberry?useUnicode=true&characterEncoding=UTF-8&allowMultiQueries=true&autoReconnect=true&failOverReadOnly=false
 
 jdbc.url=jdbc:mysql://iamberry.mysql.rds.aliyuncs.com/test_iamberry?useUnicode=true&characterEncoding=UTF-8&allowMultiQueries=true&autoReconnect=true&failOverReadOnly=false&zeroDateTimeBehavior=convertToNull
 jdbc.username=iamberry
@@ -22,12 +20,6 @@ jdbc.password=iamberry123
 #jdbc.password=iamberry123
 ###  end ######
 
-### Development
-#jdbc.url=jdbc:mysql://192.168.1.254:3306/aiberle?useUnicode=true&characterEncoding=UTF-8&allowMultiQueries=true&autoReconnect=true&failOverReadOnly=false&zeroDateTimeBehavior=convertToNull
-#jdbc.username=root
-#jdbc.password=root
-###  end ######
-
 jdbc.pool.init=1
 jdbc.pool.minIdle=3
 jdbc.pool.maxActive=20