From ed9e2fdb519f36c743a10f0a1de48ad5f87604d6 Mon Sep 17 00:00:00 2001
From: yujian <yujian>
Date: 星期三, 27 二月 2019 16:05:28 +0800
Subject: [PATCH] 券状态更新

---
 fanli/src/main/java/com/yeshi/fanli/controller/client/UserCouponController.java |   55 ++++++++++++++++++++++++++++++-------------------------
 1 files changed, 30 insertions(+), 25 deletions(-)

diff --git a/fanli/src/main/java/com/yeshi/fanli/controller/client/UserCouponController.java b/fanli/src/main/java/com/yeshi/fanli/controller/client/UserCouponController.java
index ed33ef5..241e5ab 100644
--- a/fanli/src/main/java/com/yeshi/fanli/controller/client/UserCouponController.java
+++ b/fanli/src/main/java/com/yeshi/fanli/controller/client/UserCouponController.java
@@ -1,17 +1,16 @@
 package com.yeshi.fanli.controller.client;
 
 import java.io.PrintWriter;
-import java.text.SimpleDateFormat;
 import java.util.ArrayList;
 import java.util.Date;
 import java.util.List;
 
 import javax.annotation.Resource;
 
+import org.springframework.core.task.TaskExecutor;
 import org.springframework.stereotype.Controller;
 import org.springframework.web.bind.annotation.RequestMapping;
 import org.springframework.web.bind.annotation.RequestMethod;
-import org.yeshi.utils.DateUtil;
 import org.yeshi.utils.JsonUtil;
 
 import com.yeshi.fanli.entity.accept.AcceptData;
@@ -21,10 +20,12 @@
 import com.yeshi.fanli.entity.bus.user.UserSystemCoupon;
 import com.yeshi.fanli.entity.system.SystemCoupon;
 import com.yeshi.fanli.entity.system.SystemCoupon.CouponTypeEnum;
+import com.yeshi.fanli.exception.user.UserInfoExtraException;
 import com.yeshi.fanli.exception.user.UserSystemCouponException;
 import com.yeshi.fanli.service.inter.config.ConfigService;
 import com.yeshi.fanli.service.inter.config.SystemCouponService;
 import com.yeshi.fanli.service.inter.homemodule.SwiperPictureService;
+import com.yeshi.fanli.service.inter.hongbao.ThreeSaleSerivce;
 import com.yeshi.fanli.service.inter.order.CommonOrderCountService;
 import com.yeshi.fanli.service.inter.order.CommonOrderService;
 import com.yeshi.fanli.service.inter.user.DeviceLotteryRecordService;
@@ -44,6 +45,9 @@
 @Controller
 @RequestMapping("api/v1/user/coupon")
 public class UserCouponController {
+
+	@Resource(name = "taskExecutor")
+	private TaskExecutor executor;
 
 	@Resource
 	private ConfigService configService;
@@ -72,6 +76,8 @@
 	@Resource
 	private CommonOrderCountService commonOrderCountService;
 
+	@Resource
+	private ThreeSaleSerivce threeSaleSerivce;
 	
 	// 鏈�澶ф娊濂栨鏁�
 	private static int MAX_COUNT = 5;
@@ -120,6 +126,26 @@
 			data.put("result_list", JsonUtil.getApiCommonGson().toJson(resultList));
 
 			out.print(JsonUtil.loadTrueResult(data));
+			
+			// 鏇存柊绂忓埄涓績鏈鏁伴噺
+			if (page == 1) {
+				executor.execute(new Runnable() {
+					@Override
+					public void run() {
+						UserInfoExtra userInfoExtra = userInfoExtraService.getUserInfoExtra(uid);
+						// 鏈鍒告槸鍚﹀ぇ浜�0
+						if (userInfoExtra != null && userInfoExtra.getCouponNews() > 0) {
+							userInfoExtra.setCouponNews(0);
+							try {
+								userInfoExtraService.saveUserInfoExtra(userInfoExtra);
+							} catch (UserInfoExtraException e) {
+								e.printStackTrace();
+							}
+						}
+						
+					}
+				});
+			}
 
 		} catch (UserSystemCouponException e) {
 			out.print(JsonUtil.loadFalseResult(e.getCode(), e.getMsg()));
@@ -470,29 +496,8 @@
 					if (hasPrize.equals(prize)) {
 						prize = null;
 					} else {
-					
-						SystemCoupon coupon= systemCouponService.getCouponByType(prize);
-						
-						String endDay = DateUtil.plusDay(coupon.getExpiryDay(), new Date());
-						SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd");
-						Date endTime = format.parse(endDay);
-						
-						int stateActivated = 1;
-						if (coupon.getType() == CouponTypeEnum.welfareFreeCoupon) {
-							stateActivated = 0;
-						}
-						
-						UserSystemCoupon userCoupon = new UserSystemCoupon();
-						userCoupon.setUid(uid);
-						userCoupon.setSource(UserSystemCoupon.SOURCE_CHOUJIANG);
-						userCoupon.setSystemCoupon(coupon);
-						userCoupon.setState(UserSystemCoupon.STATE_CAN_USE);
-						userCoupon.setStateActivated(stateActivated);
-						userCoupon.setStartTime(new Date());
-						userCoupon.setEndTime(endTime);
-						userCoupon.setCreateTime(new Date());
-						userCoupon.setUpdateTime(new Date());
-						userSystemCouponService.insertSelective(userCoupon);
+						// 鎻掑叆鍒镐俊鎭�
+						userSystemCouponService.insertUserCoupon(uid, prize, UserSystemCoupon.SOURCE_CHOUJIANG);
 					}
 				}
 				

--
Gitblit v1.8.0