|
@@ -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());
|