| 
					
				 | 
			
			
				@@ -4,6 +4,7 @@ import com.google.gson.Gson; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 import com.google.gson.GsonBuilder; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 import com.platform.yijia.config.YiJiaRequest; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 import com.platform.yijia.pojo.Coupon; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+import com.platform.yijia.pojo.CouponIssue; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 import com.platform.yijia.pojo.UserCoupon; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 import com.platform.yijia.service.CouponService; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 import com.platform.yijia.utils.CodeMsg; 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -14,9 +15,12 @@ import io.swagger.annotations.ApiParam; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 import org.slf4j.Logger; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 import org.slf4j.LoggerFactory; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 import org.springframework.stereotype.Controller; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+import org.springframework.transaction.annotation.Transactional; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 import org.springframework.web.bind.annotation.*; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 import javax.annotation.Resource; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+import java.math.BigDecimal; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+import java.util.ArrayList; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 import java.util.Date; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 import java.util.List; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -26,7 +30,7 @@ import java.util.List; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  * @Author JK 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  * @Date 2021年7月6日 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  */ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-@Controller 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+@RestController 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 @YiJiaRequest() 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 @CrossOrigin 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 @Api(tags = "优惠券") 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -37,21 +41,28 @@ public class CouponController { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     private CouponService couponService; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    //获取优惠券信息 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    /** 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+     * 获取油站分发优惠券 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+     * @param stationId  油站ID 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+     * @param couponIssueId    发放方式ID 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+     * @param unionId    用户unionId 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+     * @return 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+     */ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     @RequestMapping(value = "/selectStaGrantCouponList", method = RequestMethod.GET) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    @ResponseBody 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    @Transactional 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     @ApiOperation(value = "获取油站已发放的优惠券信息", httpMethod = "GET", notes = "获取油站已发放的优惠券信息") 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    public String selectStaGrantCouponList(@ApiParam(value = "油站ID", required = true) @RequestParam Integer stationId){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    public String selectStaGrantCouponList(@ApiParam(value = "油站ID", required = true) @RequestParam Integer stationId, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                                           @ApiParam(value = "发放方式ID", required = true) @RequestParam Integer couponIssueId, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                                           @ApiParam(value = "用户unionId", required = true) @RequestParam String unionId){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         Gson gson =new GsonBuilder().setDateFormat("yyyy-MM-dd HH:mm:ss").create(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         ResultData resultData = null; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         try { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             Coupon coupon = new Coupon(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             coupon.setStationId(stationId); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            coupon.setIssueType("1"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            coupon.setCouponIssueId(couponIssueId); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            coupon.setUnionId(unionId); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             //领取油站所分发的优惠券 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             List<Coupon> coupons = couponService.selectStaGrantCouponList(coupon); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             resultData = ResultData.success(coupons); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         }catch (Exception e){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             logger.error("获取油站已发放的优惠券错误信息:" + e.getMessage()); 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -63,7 +74,6 @@ public class CouponController { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     //获取优惠券信息 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     @RequestMapping(value = "/selectCouponInfo", method = RequestMethod.GET) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    @ResponseBody 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     @ApiOperation(value = "获取优惠券信息", httpMethod = "GET", notes = "获取优惠券信息") 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     public String selectCouponInfo(@ApiParam(value = "优惠券ID", required = true) @RequestParam Integer id){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         Gson gson =new Gson(); 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -82,7 +92,6 @@ public class CouponController { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     //获取客户所拥有的优惠券 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     @RequestMapping(value = "/selectUserCoupons", method = RequestMethod.GET) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    @ResponseBody 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     @ApiOperation(value = "获取客户所拥有的优惠券", httpMethod = "GET", notes = "获取客户所拥有的优惠券") 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     public String selectUserCoupons(@ApiParam(value = "油站ID", required = true) @RequestParam Integer stationId, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                                     @ApiParam(value = "用户unionId", required = true) @RequestParam String unionId){ 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -102,42 +111,28 @@ public class CouponController { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     //用户领取优惠券 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    @RequestMapping(value = "/addUserCoupon", method = RequestMethod.POST) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    @ResponseBody 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    @ApiOperation(value = "用户领取优惠券", httpMethod = "POST", notes = "用户领取优惠券") 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    public String addUserCoupon(@ApiParam(value = "用户优惠券实体类", required = true) @RequestBody UserCoupon userCoupon){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    @RequestMapping(value = "/addUserCoupon", method = RequestMethod.GET) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    @Transactional 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    @ApiOperation(value = "用户领取优惠券", httpMethod = "GET", notes = "用户领取优惠券") 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    public String addUserCoupon(@ApiParam(value = "用户unionId", required = true) @RequestParam String unionId, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                                @ApiParam(value = "优惠券IDS", required = true) @RequestParam ArrayList<String> ids, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                                @ApiParam(value = "领取方式ID", required = true) @RequestParam Integer couponIssueId, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                                @ApiParam(value = "油站ID", required = true) @RequestParam Integer stationId){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         Gson gson = new Gson(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         ResultData resultData = null; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         try{ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            if(userCoupon.getCouponId() !=null){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                Coupon coupon = new Coupon(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                coupon.setId(userCoupon.getCouponId()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                //获取该优惠券信息 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                Coupon couponInfo = couponService.selectCouponInfo(coupon); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                //该优惠券是否存在 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                if(couponInfo !=null){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                    //优惠券是否已发放 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                    if(couponInfo.getGrantStatus() !=null && couponInfo.getGrantStatus().equals("1")){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                        //该优惠券是否有效 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                        if(couponInfo.getStatus() !=null && couponInfo.getStatus().equals("1")){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                            userCoupon.setCouponIsEffective("1"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                            userCoupon.setCouponIsUsed("0"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                            userCoupon.setCouponNo("123456789"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            //获取领取方式信息 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            CouponIssue couponIssue = new CouponIssue(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            couponIssue.setStationId(stationId); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            couponIssue.setCouponIssueId(couponIssueId); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            List<CouponIssue> couponIssueList = couponService.selectCouponIssueList(couponIssue); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            if(couponIssueList !=null && couponIssueList.size() ==1){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                //int size = ids.size(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                for(int i=0; i<ids.size(); i++){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                            userCoupon.setGetCouponTime(new Date()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                            couponService.addUserCoupon(userCoupon); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                            resultData = ResultData.success("领取成功!"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                        }else { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                            resultData = ResultData.error(CodeMsg.COUPON_LOSE_EFFECTIVE); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                        } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                    }else { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                        resultData = ResultData.error(CodeMsg.COUPON_NO_GRANT); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                }else { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                    resultData = ResultData.error(CodeMsg.NO_COUPON); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                 } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             }else { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                resultData = ResultData.error(CodeMsg.REQUEST_FAIL); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                resultData = ResultData.error(CodeMsg.YEWU_FAIL,"该领取方式不存在"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         }catch (Exception e){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             logger.error("用户领取优惠券错误信息:" + e.getMessage()); 
			 |