| | |
| | | import com.yeshi.fanli.service.inter.user.UserMoneyExtraService;
|
| | | import com.yeshi.fanli.util.MoneyBigDecimalUtil;
|
| | | import com.yeshi.fanli.util.RedisManager;
|
| | | import com.yeshi.fanli.util.TaoBaoConstant;
|
| | | import com.yeshi.fanli.util.factory.CommonGoodsFactory;
|
| | | import com.yeshi.fanli.util.taobao.TaoKeApiUtil;
|
| | | import com.yeshi.fanli.util.taobao.TaoLiJinUtil;
|
| | |
| | | @Resource
|
| | | private UserInfoExtraService userInfoExtraService;
|
| | |
|
| | | |
| | | @Override
|
| | | public UserTaoLiJinRecord selectByPrimaryKey(Long id){
|
| | | return userTaoLiJinRecordMapper.selectByPrimaryKey(id);
|
| | | }
|
| | |
|
| | | |
| | | @Override
|
| | | public UserTaoLiJinRecord createSelfBuyTaoLiJin(Long uid, int totalNum, TaoBaoGoodsBrief goods) throws UserTaoLiJinRecordException{
|
| | | public UserTaoLiJinRecord createSelfBuyTaoLiJin(Long uid, int totalNum, TaoBaoGoodsBrief goods)
|
| | | throws UserTaoLiJinRecordException {
|
| | | Date date = new Date();
|
| | | SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd");
|
| | | SimpleDateFormat formatStr = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
|
| | |
| | | // 新人红包 自购一元
|
| | | BigDecimal perface = new BigDecimal(1);
|
| | |
|
| | | return createUserTaoLiJin(1, uid, goods.getAuctionId(), perface, 1, name, sendStartTime,
|
| | | sendEndTime, null, useEndTime);
|
| | | String pid = TaoBaoConstant.TAOBAO_SPECIAL_PID_DEFAULT;
|
| | | if (goods.getMaterialLibType() == null || goods.getMaterialLibType() == 0)
|
| | | pid = TaoBaoConstant.TAOBAO_RELATION_AS_SPECIAL_PID;
|
| | | return createUserTaoLiJin(1, uid, goods.getAuctionId(), perface, 1, name, sendStartTime, sendEndTime, null,
|
| | | useEndTime, pid);
|
| | | }
|
| | |
|
| | | |
| | | @Override
|
| | | public UserTaoLiJinRecord createShareTaoLiJin(Long uid, int totalNum, TaoBaoGoodsBrief goods) throws UserTaoLiJinRecordException{
|
| | | public UserTaoLiJinRecord createShareTaoLiJin(Long uid, int totalNum, TaoBaoGoodsBrief goods)
|
| | | throws UserTaoLiJinRecordException {
|
| | | Date date = new Date();
|
| | | SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd");
|
| | | SimpleDateFormat formatStr = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
|
| | |
| | | perface = TaoLiJinUtil.getSpreadMoney(warningRate, goods);
|
| | | }
|
| | |
|
| | | return createUserTaoLiJin(2, uid, goods.getAuctionId(), perface, totalNum, name, sendStartTime,
|
| | | sendEndTime, null, useEndTime);
|
| | | return createUserTaoLiJin(2, uid, goods.getAuctionId(), perface, totalNum, name, sendStartTime, sendEndTime,
|
| | | null, useEndTime, TaoBaoConstant.TAOBAO_RELATION_PID_DEFAULT);
|
| | | }
|
| | | |
| | |
|
| | | @Override
|
| | | @Transactional
|
| | | public UserTaoLiJinRecord createUserTaoLiJin(int origin, Long uid, Long auctionId, BigDecimal perface, int totalNum, String name,
|
| | | Date sendStartTime, Date sendEndTime, Date useStartTime, Date useEndTime) throws UserTaoLiJinRecordException{
|
| | | Date sendStartTime, Date sendEndTime, Date useStartTime, Date useEndTime,String pid) throws UserTaoLiJinRecordException{
|
| | |
|
| | | // 用户剩余可以淘礼金验证
|
| | | UserMoneyExtra userMoneyExtra = userMoneyExtraService.selectByPrimaryKey(uid);
|
| | |
| | | }
|
| | |
|
| | | // 创建淘礼金红包
|
| | | TaoLiJinDTO taoLiJinDTO = TaoKeApiUtil.createTaoLiJin(auctionId, name, perface, totalNum, sendStartTime, sendEndTime, useStartTime, useEndTime);
|
| | | TaoLiJinDTO taoLiJinDTO = TaoKeApiUtil.createTaoLiJin(auctionId, name, perface, totalNum, sendStartTime, sendEndTime, useStartTime, useEndTime, pid);
|
| | | if (taoLiJinDTO == null) {
|
| | | throw new UserTaoLiJinRecordException(101, "红包创建失败");
|
| | | }
|
| | |
| | | return record;
|
| | | }
|
| | |
|
| | | |
| | | @Override
|
| | | public List<UserTaoLiJinRecordVO> getRecordByUid(long start, int count, Long uid){
|
| | | List<UserTaoLiJinRecordVO> list = userTaoLiJinRecordMapper.getRecordByUid(start, count, uid);
|
| | | if (list == null || list.size() == 0) {
|
| | | return list;
|
| | | }
|
| | | |
| | |
|
| | | List<Long> listGoodsId = new ArrayList<Long>();
|
| | | for (UserTaoLiJinRecordVO userTaoLiJinRecordVO: list) {
|
| | |
| | | if (listGoods == null || listGoods.size() == 0) {
|
| | | return null;
|
| | | }
|
| | | |
| | |
|
| | | // 组织相关数据
|
| | | for (UserTaoLiJinRecordVO userTaoLiJinRecordVO: list) {
|
| | |
| | | int totalNum = userTaoLiJinRecordVO.getTotalNum();
|
| | | userTaoLiJinRecordVO.setSurplusNum(totalNum - winNum);
|
| | |
|
| | | |
| | | // 计算分享奖金
|
| | | BigDecimal shareMoney = new BigDecimal(0);
|
| | | BigDecimal commission = userTaoLiJinRecordVO.getCommission();
|
| | | if (commission != null && commission.compareTo(shareMoney) > 1) {
|
| | | BigDecimal shareRate = hongBaoManageService.getShareRate();
|
| | | shareMoney = MoneyBigDecimalUtil.mul(MoneyBigDecimalUtil.mul(commission, new BigDecimal("0.01")), MoneyBigDecimalUtil.div(shareRate, new BigDecimal(100)));
|
| | | shareMoney = MoneyBigDecimalUtil.mul(MoneyBigDecimalUtil.mul(commission, new BigDecimal("0.01")),
|
| | | MoneyBigDecimalUtil.div(shareRate, new BigDecimal(100)));
|
| | | shareMoney = BigDecimalUtil.getWithNoZera(shareMoney);
|
| | | }
|
| | |
|
| | |
| | | public long countTodayNum(Long uid) {
|
| | | return userTaoLiJinRecordMapper.countTodayNum(uid);
|
| | | }
|
| | | |
| | |
|
| | | @Override
|
| | | public BigDecimal getShareHongBaoByUidAndGoodsId(Long uid, Long goodsId) {
|