From f4a0f2acc63d7785eab108419a4e16f5f688cb95 Mon Sep 17 00:00:00 2001 From: yujian <yujian@163.com> Date: 星期六, 18 一月 2020 12:06:27 +0800 Subject: [PATCH] 用户注册信息 --- fanli/src/main/java/com/yeshi/fanli/service/impl/tlj/UserTaoLiJinNewbiesServiceImpl.java | 67 ++++++++++++++++++++++++++------- 1 files changed, 53 insertions(+), 14 deletions(-) diff --git a/fanli/src/main/java/com/yeshi/fanli/service/impl/tlj/UserTaoLiJinNewbiesServiceImpl.java b/fanli/src/main/java/com/yeshi/fanli/service/impl/tlj/UserTaoLiJinNewbiesServiceImpl.java index 694c0fd..efb2880 100644 --- a/fanli/src/main/java/com/yeshi/fanli/service/impl/tlj/UserTaoLiJinNewbiesServiceImpl.java +++ b/fanli/src/main/java/com/yeshi/fanli/service/impl/tlj/UserTaoLiJinNewbiesServiceImpl.java @@ -4,8 +4,7 @@ import java.text.ParseException; import java.text.SimpleDateFormat; import java.util.Date; -import java.util.HashMap; -import java.util.Map; +import java.util.List; import javax.annotation.Resource; @@ -19,8 +18,10 @@ import com.yeshi.fanli.entity.bus.tlj.UserTaoLiJinDetail; import com.yeshi.fanli.entity.bus.tlj.UserTaoLiJinDetail.TaoLiJinDetailTypeEnum; import com.yeshi.fanli.entity.bus.tlj.UserTaoLiJinNewbies; +import com.yeshi.fanli.entity.bus.user.UserInfo; import com.yeshi.fanli.entity.bus.user.UserInfoExtra; import com.yeshi.fanli.entity.push.DeviceActive; +import com.yeshi.fanli.entity.taobao.TLJFreeBuyGoods; import com.yeshi.fanli.entity.taobao.TaoBaoGoodsBrief; import com.yeshi.fanli.entity.taobao.TaoKeAppInfo; import com.yeshi.fanli.exception.taobao.TaoKeApiException; @@ -36,14 +37,18 @@ import com.yeshi.fanli.service.inter.tlj.ConfigTaoLiJinService; import com.yeshi.fanli.service.inter.tlj.UserTaoLiJinDetailService; import com.yeshi.fanli.service.inter.user.UserInfoExtraService; +import com.yeshi.fanli.service.inter.user.UserInfoService; import com.yeshi.fanli.util.Constant; import com.yeshi.fanli.util.MoneyBigDecimalUtil; import com.yeshi.fanli.util.StringUtil; import com.yeshi.fanli.util.TaoBaoConstant; +import com.yeshi.fanli.util.TimeUtil; import com.yeshi.fanli.util.annotation.RequestSerializableByKeyService; import com.yeshi.fanli.util.taobao.TaoBaoUtil; import com.yeshi.fanli.util.taobao.TaoKeApiUtil; import com.yeshi.fanli.vo.redpack.TaoLiJinWinDetailVO; + +import net.sf.json.JSONObject; @Service public class UserTaoLiJinNewbiesServiceImpl implements UserTaoLiJinNewbiesService { @@ -53,6 +58,9 @@ @Resource private ConfigTaoLiJinService configTaoLiJinService; + + @Resource + private UserInfoService userInfoService; @Resource private UserInfoExtraService userInfoExtraService; @@ -139,6 +147,10 @@ if (uid == null || uid <= 0) return null; // 鏈櫥褰曞脊鍑� + UserInfo userInfo = userInfoService.selectByPKey(uid); + if (userInfo == null) + return null; + UserInfoExtra userInfoExtra = userInfoExtraService.getUserInfoExtra(uid); if (userInfoExtra == null || userInfoExtra.getFirstLoginTime() == null) return null; @@ -215,11 +227,11 @@ detail.setTitle(TaoLiJinDetailTypeEnum.add.getDesc()); detail.setType(TaoLiJinDetailTypeEnum.add); detail.setCreateTime(new Date()); + detail.setRemark("鏂颁汉绾㈠寘"); userTaoLiJinDetailService.insertSelective(detail); - - Map<String,String> map = new HashMap<String,String>(); - map.put("url", configTaoLiJinService.getValueByKey("new_user_free_buy_list")); + JSONObject json = new JSONObject(); + json.put("url", configTaoLiJinService.getValueByKey("new_user_free_buy_list")); TaoLiJinWinDetailVO winDetailVO = new TaoLiJinWinDetailVO(); winDetailVO.setTitle("鏂颁汉绾㈠寘"); @@ -227,10 +239,10 @@ winDetailVO.setMoney(money.toString()); winDetailVO.setDesc("宸查鍙栵細" + balance + "鍏�"); winDetailVO.setTips(configTaoLiJinService.getValueByKey("new_user_win_tips")); - winDetailVO.setParams(map.toString()); + winDetailVO.setParams(json.toString()); winDetailVO.setJumpDetail(jumpDetailV2Service.getByTypeCache("web")); winDetailVO.setLogo(Constant.systemCommonConfig.getDefaultPortrait()); - winDetailVO.setLogoLight(Constant.systemCommonConfig.getDefaultPortrait()); + winDetailVO.setLogoLight(userInfo.getPortrait()); return winDetailVO; } @@ -242,32 +254,46 @@ if (uid == null || uid <= 0 || goods == null) throw new UserTaoLiJinNewbiesException(1,"鍙傛暟淇℃伅缂哄け"); + // 楠岃瘉鍟嗗搧鏄惁鍦ㄥ厤鍗曞晢鍝佸簱 + TLJFreeBuyGoods tljFreeBuyGoods = tljFreeBuyGoodsService.selectByAuctionIdAndDay(goods.getAuctionId(), + TimeUtil.getGernalTime(System.currentTimeMillis(), "yyyy-MM-dd")); + if (tljFreeBuyGoods == null) + throw new UserTaoLiJinNewbiesException(1, "璇ュ晢鍝侀潪鍏嶅崟鍟嗗搧"); + + // 楠岃瘉鏄惁鏈夊埜 if (goods == null || goods.getCouponAmount() == null || - goods.getCouponAmount().compareTo(new BigDecimal(0)) == 0) { + goods.getCouponAmount().compareTo(new BigDecimal(0)) <= 0) { executor.execute(new Runnable() { @Override public void run() { - tljFreeBuyGoodsService.deleteByGoodsId(goods.getId()); + tljFreeBuyGoodsService.deleteByGoodsId(goods.getAuctionId()); } }); throw new UserTaoLiJinNewbiesException(1, "璇ュ晢鍝侀潪鍏嶅崟鍟嗗搧"); } + // 楠岃瘉鍒稿悗浠� 鏄惁鍦� 1-2鍏� BigDecimal money = TaoBaoUtil.getAfterUseCouplePrice(goods); - if (money.compareTo(new BigDecimal(1.0)) < 0 && money.compareTo(new BigDecimal(2.0)) > 0) { + if (money.compareTo(new BigDecimal(1.0)) < 0 || money.compareTo(new BigDecimal(2.0)) > 0) { executor.execute(new Runnable() { @Override public void run() { - tljFreeBuyGoodsService.deleteByGoodsId(goods.getId()); + tljFreeBuyGoodsService.deleteByGoodsId(goods.getAuctionId()); } }); throw new UserTaoLiJinNewbiesException(1, "璇ュ晢鍝侀潪鍏嶅崟鍟嗗搧"); } + // 楠岃瘉鐢ㄦ埛淇℃伅 UserInfoExtra userInfoExtra = userInfoExtraService.getUserInfoExtra(uid); if (userInfoExtra == null || userInfoExtra.getFirstLoginTime() == null) throw new UserTaoLiJinNewbiesException(1001, "浣犱笉鏄�滄柊鐢ㄦ埛鈥濇棤娉曚娇鐢ㄦ柊浜虹孩鍖�0鍏冭喘涔般��"); - + + // 楠岃瘉鏄惁婵�娲� + if (StringUtil.isNullOrEmpty(userInfoExtra.getInviteCode())) + throw new UserTaoLiJinNewbiesException(1002, "閭�璇风爜鏈縺娲伙紝鏃犳硶浣跨敤鏂颁汉绾㈠寘0鍏冭喘涔般��"); + + // 楠岃瘉鏄惁宸茶秴鍑烘柊鐢ㄦ埛瀹氫箟 try { int days = DateUtil.daysBetween2(userInfoExtra.getFirstLoginTime(), new Date()); if (days > Constant.TLJ_NEW_USER_DEFINE) @@ -275,12 +301,14 @@ } catch (ParseException e1) { throw new UserTaoLiJinNewbiesException(1, "鏃ユ湡淇℃伅璁$畻澶辫触"); } - + + // 楠岃瘉浣欓 UserTaoLiJinNewbies taoLiJinNewbies = userTaoLiJinNewbiesMapper.selectForUpdate(uid); if (taoLiJinNewbies == null || taoLiJinNewbies.getMoney() == null || taoLiJinNewbies.getMoney().compareTo(money) < 0) throw new UserTaoLiJinNewbiesException(1001, "鏂颁汉绾㈠寘涓嶈冻锛岃鎹釜鍟嗗搧鍐嶈瘯鎴栫户缁鍙栧埌瓒抽鏂颁汉绾㈠寘銆�"); + // 楠岃瘉鏄惁宸茶繃鏈� if (taoLiJinNewbies.getEndTime() == null || taoLiJinNewbies.getEndTime().getTime() < java.lang.System.currentTimeMillis()) throw new UserTaoLiJinNewbiesException(1, "鏂颁汉绾㈠寘宸茶繃鏈�"); @@ -295,6 +323,7 @@ detail.setTitle(TaoLiJinDetailTypeEnum.reduce.getDesc()); detail.setType(TaoLiJinDetailTypeEnum.reduce); detail.setCreateTime(new Date()); + detail.setRemark("鏂颁汉鍏嶅崟浣跨敤绾㈠寘"); userTaoLiJinDetailService.insertSelective(detail); // 鍒涘缓娣樼ぜ閲戦摼鎺� @@ -317,7 +346,7 @@ } - @Transactional + @Transactional(rollbackFor=Exception.class) private String createTaoLiJin(Long auctionId, BigDecimal perface, int totalNum, String pid) throws UserTaoLiJinNewbiesException { SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd"); SimpleDateFormat formatStr = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); @@ -378,4 +407,14 @@ return userTaoLiJinNewbiesMapper.selectByPrimaryKey(uid); } + + @Override + public long count(String key) { + return userTaoLiJinNewbiesMapper.count(key); + } + + @Override + public List<UserTaoLiJinNewbies> query(int page, int count, String key,Integer order) { + return userTaoLiJinNewbiesMapper.query((page -1)* count, count, key, order); + } } -- Gitblit v1.8.0