package com.stylefeng.guns.modular.api; import com.stylefeng.guns.modular.system.service.IUserCouponRecordService; import com.stylefeng.guns.modular.system.service.IUserInfoService; import com.stylefeng.guns.modular.system.util.ResultUtil; import com.stylefeng.guns.modular.system.warpper.CouponWarpper; import io.swagger.annotations.Api; import io.swagger.annotations.ApiImplicitParam; import io.swagger.annotations.ApiImplicitParams; import io.swagger.annotations.ApiOperation; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.web.bind.annotation.*; import sun.security.provider.MD5; import javax.servlet.http.HttpServletRequest; import java.util.Base64; import java.util.List; import java.util.Map; /** * 优惠券控制器 */ @Api @RestController @RequestMapping("") public class CouponController { @Autowired private IUserCouponRecordService userCouponRecordService; @Autowired private IUserInfoService userInfoService; /** * 获取个人优惠券列表 * @param state * @param pageNum * @param size * @param request * @return */ @ResponseBody @PostMapping("/api/coupon/queryMyCoupons") @ApiOperation(value = "获取个人优惠券列表", tags = {"用户端-个人中心"}, notes = "") @ApiImplicitParams({ @ApiImplicitParam(value = "优惠券状态(1=未使用,2=已使用)", name = "state", required = true, dataType = "int"), @ApiImplicitParam(value = "页码(首页1)", name = "pageNum", required = true, dataType = "int"), @ApiImplicitParam(value = "页条数", name = "size", required = true, dataType = "int"), @ApiImplicitParam(name = "Authorization", value = "Bearer +token", required = true, dataType = "String", paramType = "header", defaultValue = "Bearer eyJhbGciOiJIUzUxMiJ9.....") }) public ResultUtil> queryMyCoupons(Integer state, Integer pageNum, Integer size, HttpServletRequest request){ try { Integer uid = userInfoService.getUserIdFormRedis(request); if(null == uid){ return ResultUtil.tokenErr(); } List> list = userCouponRecordService.queryMyCoupons(state, pageNum, size, uid); return ResultUtil.success(CouponWarpper.getCouponWarppers(list)); }catch (Exception e){ e.printStackTrace(); return ResultUtil.runErr(); } } @ResponseBody @PostMapping("/base/coupon/queryUserCoupons") @ApiOperation(value = "获取用户优惠券列表", tags = {"道行龙城"}, notes = "") @ApiImplicitParams({ @ApiImplicitParam(value = "用户id", name = "userId", required = true, dataType = "int"), @ApiImplicitParam(value = "优惠券状态(1=未使用,2=已使用)", name = "state", required = true, dataType = "int"), @ApiImplicitParam(value = "页码(首页1)", name = "pageNo", required = true, dataType = "int"), @ApiImplicitParam(value = "页条数", name = "pageSize", required = true, dataType = "int"), @ApiImplicitParam(value = "签名", name = "sign", required = true, dataType = "string"), }) public ResultUtil> queryUserCoupons(@RequestParam Integer userId, @RequestParam Integer state, @RequestParam Integer pageNo, @RequestParam Integer pageSize, @RequestParam String sign){ try { List> list = userCouponRecordService.queryMyCoupons(state, pageNo, pageSize, userId); return ResultUtil.success(CouponWarpper.getCouponWarppers(list)); }catch (Exception e){ e.printStackTrace(); return ResultUtil.runErr(); } } /** * 删除优惠券 * @param id * @param request * @return */ @ResponseBody @PostMapping("/api/coupon/delMyCoupon") @ApiOperation(value = "删除优惠券", tags = {"用户端-个人中心"}, notes = "") @ApiImplicitParams({ @ApiImplicitParam(value = "优惠券id", name = "id", required = true, dataType = "int"), @ApiImplicitParam(name = "Authorization", value = "Bearer +token", required = true, dataType = "String", paramType = "header", defaultValue = "Bearer eyJhbGciOiJIUzUxMiJ9.....") }) public ResultUtil delMyCoupon(Integer id, HttpServletRequest request){ try { Integer uid = userInfoService.getUserIdFormRedis(request); if(null == uid){ return ResultUtil.tokenErr(); } return userCouponRecordService.delMyCoupon(id, uid); }catch (Exception e){ e.printStackTrace(); return ResultUtil.runErr(); } } /** * 赠送优惠券 * @param id * @param userId * @param request * @return */ @ResponseBody @PostMapping("/api/coupon/handselCoupon") @ApiOperation(value = "赠送优惠券", tags = {"用户端-个人中心"}, notes = "") @ApiImplicitParams({ @ApiImplicitParam(value = "优惠券id", name = "id", required = true, dataType = "int"), @ApiImplicitParam(value = "赠送用户id", name = "userId", required = true, dataType = "int"), @ApiImplicitParam(name = "Authorization", value = "Bearer +token", required = true, dataType = "String", paramType = "header", defaultValue = "Bearer eyJhbGciOiJIUzUxMiJ9.....") }) public ResultUtil handselCoupon(Integer id, Integer userId, HttpServletRequest request){ try { Integer uid = userInfoService.getUserIdFormRedis(request); if(null == uid){ return ResultUtil.tokenErr(); } return userCouponRecordService.handselCoupon(id, uid, userId); }catch (Exception e){ e.printStackTrace(); return ResultUtil.runErr(); } } }