yujian
2020-01-18 f4a0f2acc63d7785eab108419a4e16f5f688cb95
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,6 +18,7 @@
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;
@@ -37,6 +37,7 @@
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;
@@ -47,6 +48,8 @@
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 {
@@ -55,6 +58,9 @@
   
   @Resource
   private ConfigTaoLiJinService configTaoLiJinService;
   @Resource
   private UserInfoService userInfoService;
   
   @Resource   
   private UserInfoExtraService userInfoExtraService;
@@ -141,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;
@@ -220,9 +230,8 @@
      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("新人红包");
@@ -230,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;
   }
   
@@ -279,7 +288,11 @@
      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());
@@ -288,7 +301,7 @@
      } catch (ParseException e1) {
         throw new UserTaoLiJinNewbiesException(1, "日期信息计算失败");
      }
      // 验证余额
      UserTaoLiJinNewbies taoLiJinNewbies = userTaoLiJinNewbiesMapper.selectForUpdate(uid);
      if (taoLiJinNewbies == null || taoLiJinNewbies.getMoney() == null ||
@@ -333,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");
@@ -394,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);
   }
}