Pu Zhibing
6 天以前 6f5e0af7b4e3c4e6d2bcd33bafb6649727e98b37
ruoyi-modules/ruoyi-goods/src/main/java/com/ruoyi/goods/service/impl/lottery/UserLotteryEventServiceImpl.java
@@ -1,10 +1,20 @@
package com.ruoyi.goods.service.impl.lottery;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.ruoyi.goods.api.domain.UserLotteryEvent;
import com.ruoyi.goods.domain.vo.ShopWinningRecordVo;
import com.ruoyi.goods.mapper.lottery.UserLotteryEventMapper;
import com.ruoyi.goods.service.lottery.IUserLotteryEventService;
import com.ruoyi.system.api.domain.poji.member.Member;
import com.ruoyi.system.api.service.RemoteMemberService;
import org.springframework.stereotype.Service;
import javax.annotation.Resource;
import java.util.List;
import java.util.Map;
import java.util.StringJoiner;
import java.util.stream.Collectors;
/**
 * @author zhibing.pu
@@ -12,4 +22,53 @@
 */
@Service
public class UserLotteryEventServiceImpl extends ServiceImpl<UserLotteryEventMapper, UserLotteryEvent> implements IUserLotteryEventService {
   @Resource
   private RemoteMemberService remoteMemberService;
   /**
    * 获取店铺中中奖记录
    *
    * @return
    */
   @Override
   public List<ShopWinningRecordVo> getShopWinningRecord(Page<ShopWinningRecordVo> page, String id) {
      List<Map<String, Object>> shopWinningRecord = this.baseMapper.getShopWinningRecord(page, id);
      List<ShopWinningRecordVo> collect = shopWinningRecord.stream().map(item -> {
         Long user_id = Long.valueOf(item.get("user_id").toString());
         Member member = remoteMemberService.getMember(user_id).getData();
         String create_time = item.get("create_time").toString();
         String content = item.get("content").toString();
         String[] prizes = content.split(",");
         StringJoiner awardName = new StringJoiner("、");
         for (String prize : prizes) {
            String[] split = prize.split("_");
            String name = "";
            switch (split[0]) {
               case "1":
                  name = "优惠券";
                  break;
               case "2":
                  name = split[2] + "x" + split[3];
                  break;
               case "3":
                  name = split[2] + "x" + split[3];
                  break;
               case "4":
                  name = "积分";
                  break;
            }
            awardName.add(name);
         }
         ShopWinningRecordVo shopWinningRecordVo = new ShopWinningRecordVo();
         shopWinningRecordVo.setUserName(member.getRealName());
         shopWinningRecordVo.setUserPhone(member.getMobile());
         shopWinningRecordVo.setLotteryTime(create_time);
         shopWinningRecordVo.setAwardName(awardName.toString());
         return shopWinningRecordVo;
      }).collect(Collectors.toList());
      return collect;
   }
}