| | |
| | | package com.yeshi.fanli.controller.client.v1;
|
| | |
|
| | | import java.io.PrintWriter;
|
| | | import java.math.BigDecimal;
|
| | | import java.util.ArrayList;
|
| | | import java.util.List;
|
| | | import java.util.Map;
|
| | |
|
| | | import javax.annotation.Resource;
|
| | |
|
| | |
| | | import org.springframework.web.bind.annotation.RequestMethod;
|
| | | import org.yeshi.utils.JsonUtil;
|
| | |
|
| | | import com.yeshi.fanli.dto.pdd.PDDGoodsDetail;
|
| | | import com.yeshi.fanli.entity.accept.AcceptData;
|
| | | import com.yeshi.fanli.entity.bus.user.UserInfoExtra;
|
| | | import com.yeshi.fanli.entity.jd.JDGoods;
|
| | | import com.yeshi.fanli.entity.system.ConfigKeyEnum;
|
| | | import com.yeshi.fanli.entity.taobao.TaoBaoGoodsBrief;
|
| | | import com.yeshi.fanli.exception.taobao.TaobaoGoodsDownException;
|
| | | 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.user.invite.UserInviteService;
|
| | | import com.yeshi.fanli.service.inter.user.vip.UserVIPInfoService;
|
| | | import com.yeshi.fanli.util.Constant;
|
| | | import com.yeshi.fanli.util.RedisManager;
|
| | | import com.yeshi.fanli.util.StringUtil;
|
| | | import com.yeshi.fanli.util.cache.JDGoodsCacheUtil;
|
| | | import com.yeshi.fanli.util.cache.PinDuoDuoCacheUtil;
|
| | | import com.yeshi.fanli.util.jd.JDUtil;
|
| | | import com.yeshi.fanli.util.pinduoduo.PinDuoDuoUtil;
|
| | | import com.yeshi.fanli.util.taobao.TaoBaoUtil;
|
| | | import com.yeshi.fanli.vo.homemodule.BannerVO;
|
| | | import com.yeshi.fanli.vo.user.UserSystemCouponRecordVO;
|
| | | import com.yeshi.fanli.vo.user.UserSystemCouponVO;
|
| | |
| | |
|
| | | @Resource
|
| | | private UserInviteService userInviteService;
|
| | |
|
| | | |
| | | |
| | | @Resource
|
| | | private RedisManager redisManager;
|
| | | |
| | | @Resource
|
| | | private JDGoodsCacheUtil jdGoodsCacheUtil;
|
| | | |
| | | @Resource
|
| | | private PinDuoDuoCacheUtil pinDuoDuoCacheUtil;
|
| | | |
| | | |
| | | |
| | | |
| | | /**
|
| | | * 用户券列表查询
|
| | | *
|
| | |
| | | // 福利中心图片
|
| | | String topPicture = null;
|
| | | if (page == 1) {
|
| | | List<BannerVO> listswiper = swiperPictureService.getByBannerCardAndVersion("welfare_top",acceptData.getPlatform(), Integer.parseInt(acceptData.getVersion()));
|
| | | List<BannerVO> listswiper = swiperPictureService.getByBannerCardAndVersion("welfare_top",acceptData.getPlatform(), Integer.parseInt(acceptData.getVersion()),acceptData.getSystem());
|
| | | if (listswiper != null && listswiper.size() > 0) {
|
| | | topPicture = listswiper.get(0).getSrc();
|
| | | }
|
| | |
| | |
|
| | | try {
|
| | | List<UserSystemCouponVO> resultList = UserSystemCouponService.getGoodsCouponList(uid, auctionId);
|
| | |
|
| | | if (resultList == null) {
|
| | | resultList = new ArrayList<UserSystemCouponVO>();
|
| | | }
|
| | |
|
| | | JSONObject dataTip = new JSONObject();
|
| | | dataTip.put("content", configService.get(ConfigKeyEnum.freeCouponTip.getKey()));
|
| | | dataTip.put("content", configService.getValue(ConfigKeyEnum.freeCouponTip.getKey(),acceptData.getSystem()));
|
| | | dataTip.put("fontColor", "#F14242");
|
| | |
|
| | | JSONObject data = new JSONObject();
|
| | | data.put("helpLink", configService.get(ConfigKeyEnum.freeCouponHelp.getKey()));
|
| | | data.put("helpLink", configService.getValue(ConfigKeyEnum.freeCouponHelp.getKey(),acceptData.getSystem()));
|
| | | data.put("tip", dataTip);
|
| | | 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) {
|
| | |
| | | }
|
| | | }
|
| | |
|
| | | |
| | | |
| | | |
| | | /**
|
| | | * 免单券使用记录 以及状态修改
|
| | | *
|
| | | * @param acceptData
|
| | | * @param page
|
| | | * @param uid
|
| | | * @param out
|
| | | */
|
| | |
| | | }
|
| | |
|
| | | JSONObject data = new JSONObject();
|
| | | data.put("helpLink", configService.get(ConfigKeyEnum.rewardCouponHelp.getKey()));
|
| | | data.put("helpLink", configService.getValue(ConfigKeyEnum.rewardCouponHelp.getKey(),acceptData.getSystem()));
|
| | | data.put("count", resultList.size());
|
| | | data.put("result_list", JsonUtil.getApiCommonGson().toJson(resultList));
|
| | |
|
| | |
| | | }
|
| | | }
|
| | |
|
| | | |
| | |
|
| | | /**
|
| | | * 查询免单券
|
| | | * @param acceptData
|
| | | * @param uid
|
| | | * @param auctionId
|
| | | * @param out
|
| | | */
|
| | | @RequestMapping(value = "getFreeCouponList", method = RequestMethod.POST)
|
| | | public void getFreeCouponList(AcceptData acceptData, Long uid, String goodsId, Integer goodsType, PrintWriter out) {
|
| | | if (uid == null) {
|
| | | out.print(JsonUtil.loadFalseResult("用户未登录"));
|
| | | return;
|
| | | }
|
| | |
|
| | | if (goodsType == null || StringUtil.isNullOrEmpty(goodsId)) {
|
| | | out.print(JsonUtil.loadFalseResult("参数不完整"));
|
| | | return;
|
| | | }
|
| | | |
| | | List<UserSystemCouponVO> list = UserSystemCouponService.getFreeCouponList(uid);
|
| | | if (list == null) |
| | | list = new ArrayList<>();
|
| | | |
| | | |
| | | if (list.size() > 0) {
|
| | | boolean state = false;
|
| | | BigDecimal priceLimit = BigDecimal.valueOf(9.9);
|
| | | switch(goodsType) {
|
| | | case Constant.SOURCE_TYPE_TAOBAO:
|
| | | state = checkCanUsedTB(Long.parseLong(goodsId), priceLimit);
|
| | | break;
|
| | | case Constant.SOURCE_TYPE_JD:
|
| | | state = checkCanUsedTB(Long.parseLong(goodsId), priceLimit);
|
| | | break;
|
| | | case Constant.SOURCE_TYPE_PDD:
|
| | | state = checkCanUsedTB(Long.parseLong(goodsId), priceLimit);
|
| | | break;
|
| | | default:
|
| | | break;
|
| | | }
|
| | | |
| | | // 不能使用
|
| | | if (!state) {
|
| | | for (UserSystemCouponVO userCouponVO : list) {
|
| | | userCouponVO.setState(0);
|
| | | userCouponVO.setCouponPicture(userCouponVO.getCouponPictureInvalid());
|
| | | Map<String, Object> map = userCouponVO.getRemainDays();
|
| | | if (map != null) {
|
| | | map.put("fontColor", "#CCCCCC");
|
| | | }
|
| | | userCouponVO.setRemainDays(map);
|
| | | }
|
| | | }
|
| | | }
|
| | |
|
| | | JSONObject dataTip = new JSONObject();
|
| | | dataTip.put("content", configService.getValue(ConfigKeyEnum.freeCouponTip.getKey(),acceptData.getSystem()));
|
| | | dataTip.put("fontColor", "#F14242");
|
| | | |
| | | JSONObject data = new JSONObject();
|
| | | data.put("helpLink", configService.getValue(ConfigKeyEnum.freeCouponHelp.getKey(),acceptData.getSystem()));
|
| | | data.put("tip", dataTip);
|
| | | data.put("count", list.size());
|
| | | data.put("list", JsonUtil.getApiCommonGson().toJson(list));
|
| | | out.print(JsonUtil.loadTrueResult(data));
|
| | | }
|
| | | |
| | | |
| | | |
| | | private boolean checkCanUsedTB(Long goodsId, BigDecimal priceLimit) {
|
| | | try {
|
| | | TaoBaoGoodsBrief goods = redisManager.getTaoBaoGoodsBrief(goodsId);
|
| | | if (goods == null) |
| | | return false;
|
| | | |
| | | BigDecimal quanPrice = TaoBaoUtil.getAfterUseCouplePrice(goods);
|
| | | if (quanPrice.compareTo(priceLimit) <= 0)
|
| | | return true;
|
| | | } catch (TaobaoGoodsDownException e) {
|
| | | e.printStackTrace();
|
| | | }
|
| | | return false;
|
| | | }
|
| | |
|
| | | |
| | | private boolean checkCanUsedJD(Long goodsId, BigDecimal priceLimit) {
|
| | | JDGoods goods = jdGoodsCacheUtil.getGoodsInfo(goodsId);
|
| | | if (goods == null) |
| | | return false;
|
| | | BigDecimal quanPrice = JDUtil.getQuanPrice(goods);
|
| | | if (quanPrice.compareTo(priceLimit) <= 0)
|
| | | return true;
|
| | | |
| | | return false;
|
| | | }
|
| | | |
| | | private boolean checkCanUsedPDD(Long goodsId, BigDecimal priceLimit) {
|
| | | PDDGoodsDetail goods = pinDuoDuoCacheUtil.getGoodsInfo(goodsId);
|
| | | if (goods == null) |
| | | return false;
|
| | | BigDecimal quanPrice = PinDuoDuoUtil.getQuanPrice(goods);
|
| | | if (quanPrice.compareTo(priceLimit) <= 0)
|
| | | return true;
|
| | | |
| | | return false;
|
| | | }
|
| | | |
| | | }
|