| | |
| | | package com.yeshi.fanli.controller.client.v2;
|
| | |
|
| | | import java.io.PrintWriter;
|
| | | 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.JsonUtil;
|
| | |
|
| | | import com.yeshi.fanli.entity.accept.AcceptData;
|
| | | import com.yeshi.fanli.entity.bus.homemodule.SwiperPicture;
|
| | | import com.yeshi.fanli.entity.bus.user.UserInfoExtra;
|
| | | import com.yeshi.fanli.entity.order.CommonOrder;
|
| | | import com.yeshi.fanli.exception.user.UserInfoExtraException;
|
| | | import com.yeshi.fanli.exception.user.UserSystemCouponException;
|
| | | import com.yeshi.fanli.log.LogHelper;
|
| | | 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.order.CommonOrderService;
|
| | | import com.yeshi.fanli.service.inter.user.DeviceLotteryRecordService;
|
| | | import com.yeshi.fanli.service.inter.user.UserInfoExtraService;
|
| | | import com.yeshi.fanli.service.inter.user.UserLotteryRecordService;
|
| | | import com.yeshi.fanli.service.inter.user.UserSystemCouponService;
|
| | | import com.yeshi.fanli.service.inter.user.vip.UserVIPInfoService;
|
| | | import com.yeshi.fanli.util.Constant;
|
| | | import com.yeshi.fanli.util.StringUtil;
|
| | | import com.yeshi.fanli.util.TimeUtil;
|
| | | import com.yeshi.fanli.vo.user.UserSystemCouponVO;
|
| | |
|
| | | import net.sf.json.JSONObject;
|
| | |
|
| | | /**
|
| | | * 福利中心
|
| | | * |
| | | * @author Administrator
|
| | | *
|
| | | */
|
| | | @Controller
|
| | | @RequestMapping("api/v2/user/coupon")
|
| | | public class UserCouponControllerV2 {
|
| | |
|
| | | @Resource(name = "taskExecutor")
|
| | | private TaskExecutor executor;
|
| | |
|
| | | @Resource
|
| | | private ConfigService configService;
|
| | |
|
| | | @Resource
|
| | | private SystemCouponService systemCouponService;
|
| | | |
| | | @Resource
|
| | | private UserSystemCouponService UserSystemCouponService;
|
| | |
|
| | | @Resource
|
| | | private SwiperPictureService swiperPictureService;
|
| | |
|
| | | @Resource
|
| | | private CommonOrderService commonOrderService;
|
| | |
|
| | | @Resource
|
| | | private DeviceLotteryRecordService deviceLotteryRecordService;
|
| | |
|
| | | @Resource
|
| | | private UserSystemCouponService userSystemCouponService;
|
| | |
|
| | | @Resource
|
| | | private UserInfoExtraService userInfoExtraService;
|
| | |
|
| | | |
| | | @Resource
|
| | | private UserLotteryRecordService userLotteryRecordService;
|
| | | |
| | | @Resource
|
| | | private UserVIPInfoService userVIPInfoService;
|
| | |
|
| | | /**
|
| | | * 用户券列表查询
|
| | | * |
| | | * @param acceptData
|
| | | * @param page
|
| | | * @param uid
|
| | | * @param out
|
| | | */
|
| | | @RequestMapping(value = "getCouponList", method = RequestMethod.POST)
|
| | | public void getCouponList(AcceptData acceptData, Integer page, Long uid, PrintWriter out) {
|
| | | if (uid == null || uid <= 0) {
|
| | | out.print(JsonUtil.loadFalseResult(1, "用户未登录"));
|
| | | return;
|
| | | }
|
| | |
|
| | | if (page == null || page < 1) {
|
| | | out.print(JsonUtil.loadFalseResult(1, "页码不正确"));
|
| | | return;
|
| | | }
|
| | |
|
| | | try {
|
| | | JSONObject data = new JSONObject();
|
| | | if (page == 1) {
|
| | | // 福利中心图片
|
| | | List<SwiperPicture> listswiper = swiperPictureService.getByBannerCard("welfare_top_1.6.5");
|
| | | if (listswiper != null && listswiper.size() > 0) {
|
| | | String topPicture = listswiper.get(0).getSrc();
|
| | | data.put("topPicture", topPicture);
|
| | | }
|
| | | }
|
| | | |
| | | long count = UserSystemCouponService.countUserCouponList(uid);
|
| | | |
| | | List<UserSystemCouponVO> resultList = UserSystemCouponService.getCouponList(acceptData,(page - 1) * Constant.PAGE_SIZE, Constant.PAGE_SIZE, uid);
|
| | | if (resultList == null) {
|
| | | resultList = new ArrayList<UserSystemCouponVO>();
|
| | | }
|
| | | |
| | | data.put("count", count);
|
| | | data.put("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()));
|
| | | } catch (Exception e) {
|
| | | out.print(JsonUtil.loadFalseResult(1, "查询失败"));
|
| | | LogHelper.errorDetailInfo(e);
|
| | | }
|
| | | }
|
| | |
|
| | | |
| | | /**
|
| | | * 赠送券口令生成
|
| | | * @param acceptData
|
| | | * @param uid
|
| | | * @param id
|
| | | * @param out
|
| | | */
|
| | | @RequestMapping(value = "giveCoupon", method = RequestMethod.POST)
|
| | | public void giveCoupon(AcceptData acceptData, Long uid, Long id, PrintWriter out) {
|
| | | if (uid == null || uid <= 0) {
|
| | | out.print(JsonUtil.loadFalseResult(1, "用户未登录"));
|
| | | return;
|
| | | }
|
| | | if (id == null || id <= 0) {
|
| | | out.print(JsonUtil.loadFalseResult(1, "传递参数不正确"));
|
| | | return;
|
| | | }
|
| | | try {
|
| | | UserSystemCouponVO vo = UserSystemCouponService.giveCoupon(uid, id);
|
| | | JSONObject data = new JSONObject();
|
| | | data.put("result", JsonUtil.getApiCommonGson().toJson(vo));
|
| | | out.print(JsonUtil.loadTrueResult(data));
|
| | | } catch (UserSystemCouponException e) {
|
| | | out.print(JsonUtil.loadFalseResult(1, e.getMsg()));
|
| | | }
|
| | | }
|
| | | |
| | | |
| | | /**
|
| | | * 用户奖励券
|
| | | * |
| | | * @param acceptData
|
| | | * @param page
|
| | | * @param uid
|
| | | * @param out
|
| | | */
|
| | | @RequestMapping(value = "getOrderCouponList", method = RequestMethod.POST)
|
| | | public void getOrderCouponList(AcceptData acceptData, Long uid, String orderNo, PrintWriter out) {
|
| | | if (uid == null || StringUtil.isNullOrEmpty(orderNo)) {
|
| | | out.print(JsonUtil.loadFalseResult("传递参数信息不完整"));
|
| | | return;
|
| | | }
|
| | | |
| | | if (userVIPInfoService.isVIP(uid)) {
|
| | | out.print(JsonUtil.loadFalseResult("超级会员不可使用奖励券"));
|
| | | return;
|
| | | }
|
| | | |
| | | List<CommonOrder> listOrder = commonOrderService.getByOrderNo(uid, orderNo);
|
| | | if (listOrder == null || listOrder.size() == 0) {
|
| | | out.print(JsonUtil.loadFalseResult("订单号不存在"));
|
| | | return;
|
| | | }
|
| | | |
| | | boolean valid = false;
|
| | | long limitDate = TimeUtil.convertDateToTemp("2019-09-10");
|
| | | for (CommonOrder commonOrder: listOrder) {
|
| | | Integer wholeOrder = commonOrder.getStateWholeOrder();
|
| | | if (wholeOrder != null && CommonOrder.STATE_WHOLE_ORDER_SHIXIAO == wholeOrder) {
|
| | | out.print(JsonUtil.loadFalseResult("整个订单已失效"));
|
| | | return;
|
| | | }
|
| | | |
| | | Date thirdCreateTime = commonOrder.getThirdCreateTime();
|
| | | if (thirdCreateTime != null && thirdCreateTime.getTime() > limitDate) {
|
| | | valid = true; // 1.6.5上线之后下单
|
| | | }
|
| | | }
|
| | | |
| | | try {
|
| | | |
| | | List<UserSystemCouponVO> resultList = null;
|
| | | if (valid) { |
| | | resultList = UserSystemCouponService.getOrderCouponList(uid);
|
| | | } else {
|
| | | resultList = UserSystemCouponService.listIncludeNotExchange(uid);
|
| | | }
|
| | | |
| | | if (resultList == null) {
|
| | | resultList = new ArrayList<UserSystemCouponVO>();
|
| | | }
|
| | |
|
| | | JSONObject data = new JSONObject();
|
| | | data.put("helpLink", configService.get("reward_coupon_help"));
|
| | | data.put("count", resultList.size());
|
| | | data.put("result_list", JsonUtil.getApiCommonGson().toJson(resultList));
|
| | | out.print(JsonUtil.loadTrueResult(data));
|
| | | } catch (UserSystemCouponException e) {
|
| | | out.print(JsonUtil.loadFalseResult(e.getCode(), e.getMsg()));
|
| | | } catch (Exception e) {
|
| | | out.print(JsonUtil.loadFalseResult(1, "查询失败"));
|
| | | LogHelper.errorDetailInfo(e);
|
| | | }
|
| | | }
|
| | |
|
| | | }
|
| | | package com.yeshi.fanli.controller.client.v2; |
| | | |
| | | import java.io.PrintWriter; |
| | | 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.JsonUtil; |
| | | |
| | | import com.yeshi.fanli.entity.accept.AcceptData; |
| | | import com.yeshi.fanli.entity.bus.user.UserInfoExtra; |
| | | import com.yeshi.fanli.entity.order.CommonOrder; |
| | | import com.yeshi.fanli.entity.system.ConfigKeyEnum; |
| | | import com.yeshi.fanli.exception.user.UserSystemCouponException; |
| | | import com.yeshi.fanli.log.LogHelper; |
| | | 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.order.CommonOrderService; |
| | | import com.yeshi.fanli.service.inter.user.DeviceLotteryRecordService; |
| | | import com.yeshi.fanli.service.inter.user.UserInfoExtraService; |
| | | import com.yeshi.fanli.service.inter.user.UserSystemCouponService; |
| | | import com.yeshi.fanli.service.inter.user.vip.UserVIPInfoService; |
| | | import com.yeshi.fanli.util.Constant; |
| | | import com.yeshi.fanli.util.StringUtil; |
| | | import org.yeshi.utils.TimeUtil; |
| | | import com.yeshi.fanli.vo.homemodule.BannerVO; |
| | | import com.yeshi.fanli.vo.user.UserSystemCouponVO; |
| | | |
| | | import net.sf.json.JSONObject; |
| | | |
| | | /** |
| | | * 福利中心 |
| | | * |
| | | * @author Administrator |
| | | * |
| | | */ |
| | | @Controller |
| | | @RequestMapping("api/v2/user/coupon") |
| | | public class UserCouponControllerV2 { |
| | | |
| | | @Resource(name = "taskExecutor") |
| | | private TaskExecutor executor; |
| | | |
| | | @Resource |
| | | private ConfigService configService; |
| | | |
| | | @Resource |
| | | private SystemCouponService systemCouponService; |
| | | |
| | | @Resource |
| | | private UserSystemCouponService UserSystemCouponService; |
| | | |
| | | @Resource |
| | | private SwiperPictureService swiperPictureService; |
| | | |
| | | @Resource |
| | | private CommonOrderService commonOrderService; |
| | | |
| | | @Resource |
| | | private DeviceLotteryRecordService deviceLotteryRecordService; |
| | | |
| | | @Resource |
| | | private UserSystemCouponService userSystemCouponService; |
| | | |
| | | @Resource |
| | | private UserInfoExtraService userInfoExtraService; |
| | | |
| | | @Resource |
| | | private UserVIPInfoService userVIPInfoService; |
| | | |
| | | /** |
| | | * 用户券列表查询 |
| | | * |
| | | * @param acceptData |
| | | * @param page |
| | | * @param uid |
| | | * @param out |
| | | */ |
| | | @RequestMapping(value = "getCouponList", method = RequestMethod.POST) |
| | | public void getCouponList(AcceptData acceptData, Integer page, Long uid, PrintWriter out) { |
| | | if (uid == null || uid <= 0) { |
| | | out.print(JsonUtil.loadFalseResult(1, "用户未登录")); |
| | | return; |
| | | } |
| | | |
| | | if (page == null || page < 1) { |
| | | out.print(JsonUtil.loadFalseResult(1, "页码不正确")); |
| | | return; |
| | | } |
| | | |
| | | try { |
| | | JSONObject data = new JSONObject(); |
| | | if (page == 1) { |
| | | // 福利中心图片 |
| | | List<BannerVO> listswiper = swiperPictureService.getByBannerCardAndVersion("welfare_top_1.6.5",acceptData.getPlatform(), Integer.parseInt(acceptData.getVersion()),acceptData.getSystem()); |
| | | if (listswiper != null && listswiper.size() > 0) { |
| | | String topPicture = listswiper.get(0).getSrc(); |
| | | data.put("topPicture", topPicture); |
| | | } |
| | | } |
| | | |
| | | long count = UserSystemCouponService.countUserCouponList(uid); |
| | | |
| | | List<UserSystemCouponVO> resultList = UserSystemCouponService.getCouponList(acceptData,(page - 1) * Constant.PAGE_SIZE, Constant.PAGE_SIZE, uid); |
| | | if (resultList == null) { |
| | | resultList = new ArrayList<UserSystemCouponVO>(); |
| | | } |
| | | |
| | | data.put("count", count); |
| | | data.put("list", JsonUtil.getApiCommonGson().toJson(resultList)); |
| | | out.print(JsonUtil.loadTrueResult(data)); |
| | | } catch (UserSystemCouponException e) { |
| | | out.print(JsonUtil.loadFalseResult(e.getCode(), e.getMsg())); |
| | | } catch (Exception e) { |
| | | out.print(JsonUtil.loadFalseResult(1, "查询失败")); |
| | | LogHelper.errorDetailInfo(e); |
| | | } |
| | | |
| | | // 更新福利中心未读数量 |
| | | if (page == 1) { |
| | | try { |
| | | executor.execute(new Runnable() { |
| | | @Override |
| | | public void run() { |
| | | UserInfoExtra userInfoExtra = userInfoExtraService.getUserInfoExtra(uid); |
| | | // 未读券是否大于0 |
| | | if (userInfoExtra != null && userInfoExtra.getCouponNews() > 0) { |
| | | UserInfoExtra extra = new UserInfoExtra(); |
| | | extra.setId(userInfoExtra.getId()); |
| | | extra.setCouponNews(0); |
| | | userInfoExtraService.updateByPrimaryKeySelective(extra); |
| | | } |
| | | } |
| | | }); |
| | | } catch (Exception e) { |
| | | } |
| | | } |
| | | } |
| | | |
| | | |
| | | /** |
| | | * 赠送券口令生成 |
| | | * @param acceptData |
| | | * @param uid |
| | | * @param id |
| | | * @param out |
| | | */ |
| | | @RequestMapping(value = "giveCoupon", method = RequestMethod.POST) |
| | | public void giveCoupon(AcceptData acceptData, Long uid, Long id, PrintWriter out) { |
| | | if (uid == null || uid <= 0) { |
| | | out.print(JsonUtil.loadFalseResult(1, "用户未登录")); |
| | | return; |
| | | } |
| | | if (id == null || id <= 0) { |
| | | out.print(JsonUtil.loadFalseResult(1, "传递参数不正确")); |
| | | return; |
| | | } |
| | | try { |
| | | UserSystemCouponVO vo = UserSystemCouponService.giveCoupon(uid, id); |
| | | JSONObject data = new JSONObject(); |
| | | data.put("result", JsonUtil.getApiCommonGson().toJson(vo)); |
| | | out.print(JsonUtil.loadTrueResult(data)); |
| | | } catch (UserSystemCouponException e) { |
| | | out.print(JsonUtil.loadFalseResult(1, e.getMsg())); |
| | | } |
| | | } |
| | | |
| | | |
| | | /** |
| | | * 用户奖励券 |
| | | * |
| | | * @param acceptData |
| | | * @param page |
| | | * @param uid |
| | | * @param out |
| | | */ |
| | | @RequestMapping(value = "getOrderCouponList") |
| | | public void getOrderCouponList(String callback, AcceptData acceptData, Long uid, String orderNo, PrintWriter out) { |
| | | if (uid == null || StringUtil.isNullOrEmpty(orderNo)) { |
| | | JsonUtil.printMode(out, callback,JsonUtil.loadFalseResult("传递参数信息不完整")); |
| | | return; |
| | | } |
| | | |
| | | if (userVIPInfoService.isVIP(uid)) { |
| | | JsonUtil.printMode(out, callback,JsonUtil.loadFalseResult("超级会员不可使用奖励券")); |
| | | return; |
| | | } |
| | | |
| | | List<CommonOrder> listOrder = commonOrderService.getByOrderNo(uid, orderNo); |
| | | if (listOrder == null || listOrder.size() == 0) { |
| | | JsonUtil.printMode(out, callback,JsonUtil.loadFalseResult("订单号不存在")); |
| | | return; |
| | | } |
| | | |
| | | boolean valid = false; |
| | | long limitDate = TimeUtil.convertDateToTemp("2019-09-10"); |
| | | for (CommonOrder commonOrder: listOrder) { |
| | | Integer wholeOrder = commonOrder.getStateWholeOrder(); |
| | | if (wholeOrder != null && CommonOrder.STATE_WHOLE_ORDER_SHIXIAO == wholeOrder) { |
| | | JsonUtil.printMode(out, callback,JsonUtil.loadFalseResult("整个订单已失效")); |
| | | return; |
| | | } |
| | | |
| | | Date thirdCreateTime = commonOrder.getThirdCreateTime(); |
| | | if (thirdCreateTime != null && thirdCreateTime.getTime() > limitDate) { |
| | | valid = true; // 1.6.5上线之后下单 |
| | | } |
| | | } |
| | | |
| | | try { |
| | | |
| | | List<UserSystemCouponVO> resultList = null; |
| | | if (valid) { |
| | | resultList = UserSystemCouponService.getOrderCouponList(uid); |
| | | } else { |
| | | resultList = UserSystemCouponService.listIncludeNotExchange(uid); |
| | | } |
| | | |
| | | if (resultList == null) { |
| | | resultList = new ArrayList<UserSystemCouponVO>(); |
| | | } |
| | | |
| | | JSONObject data = new JSONObject(); |
| | | data.put("helpLink", configService.getValue(ConfigKeyEnum.rewardCouponHelp.getKey(),acceptData.getSystem())); |
| | | data.put("count", resultList.size()); |
| | | data.put("result_list", JsonUtil.getApiCommonGson().toJson(resultList)); |
| | | JsonUtil.printMode(out, callback, JsonUtil.loadTrueResult(data)); |
| | | } catch (UserSystemCouponException e) { |
| | | JsonUtil.printMode(out, callback, JsonUtil.loadFalseResult(e.getCode(), e.getMsg())); |
| | | } catch (Exception e) { |
| | | JsonUtil.printMode(out, callback, JsonUtil.loadFalseResult(1, "查询失败")); |
| | | LogHelper.errorDetailInfo(e); |
| | | } |
| | | } |
| | | |
| | | } |