puzhibing
2023-02-16 b3ec53a9da0c09dd03da33bfc27f278d13a5d8f9
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
package com.stylefeng.guns.modular.system.service.impl;
 
import com.baomidou.mybatisplus.mapper.EntityWrapper;
import com.stylefeng.guns.core.util.DateUtil;
import com.stylefeng.guns.modular.system.dao.TCouponMapper;
import com.stylefeng.guns.modular.system.enums.CouponStatusEnum;
import com.stylefeng.guns.modular.system.model.TAppUser;
import com.stylefeng.guns.modular.system.dao.TAppUserMapper;
import com.stylefeng.guns.modular.system.model.TCoupon;
import com.stylefeng.guns.modular.system.service.ITAppUserService;
import com.baomidou.mybatisplus.service.impl.ServiceImpl;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import org.springframework.ui.Model;
import org.springframework.util.StringUtils;
 
import java.util.Date;
import java.util.List;
import java.util.Objects;
import java.util.stream.Collectors;
 
/**
 * <p>
 * 用户基础信息 服务实现类
 * </p>
 *
 * @author stylefeng
 * @since 2023-02-14
 */
@Service
public class TAppUserServiceImpl extends ServiceImpl<TAppUserMapper, TAppUser> implements ITAppUserService {
 
    @Autowired
    private TAppUserMapper tAppUserMapper;
    @Autowired
    private TCouponMapper tCouponMapper;
 
    @Override
    public void detail(Integer tAppUserId, Model model) {
        // 用户资料
        TAppUser tAppUser = tAppUserMapper.selectById(tAppUserId);
        model.addAttribute("avatar",tAppUser.getAvatar());
        model.addAttribute("status",tAppUser.getStatus());
        model.addAttribute("id",tAppUser.getId());
        model.addAttribute("nickname",tAppUser.getNickname());
        model.addAttribute("remark",tAppUser.getRemark());
        model.addAttribute("createTime",tAppUser.getCreateTime());
        // 消费信息:优惠券数据
        List<TCoupon> tCoupons = tCouponMapper.selectList(new EntityWrapper<TCoupon>().eq("user_id", tAppUserId));
        List<TCoupon> notUsedList = tCoupons.stream().filter(coupon -> coupon.getCouponStatus().equals(CouponStatusEnum.NOT_USED.getCode())).collect(Collectors.toList());
        List<TCoupon> usedList = tCoupons.stream().filter(coupon -> coupon.getCouponStatus().equals(CouponStatusEnum.USED.getCode())).collect(Collectors.toList());
        List<TCoupon> expiredList = tCoupons.stream().filter(coupon -> coupon.getCouponStatus().equals(CouponStatusEnum.EXPIRED.getCode())).collect(Collectors.toList());
        model.addAttribute("notUsedCount",notUsedList.size());
        model.addAttribute("usedCount",usedList.size());
        model.addAttribute("expiredCount",expiredList.size());
    }
 
    @Override
    public EntityWrapper<TAppUser> getUserListWrapper(String createTime, String nickname, String phone, Integer id, Integer status) {
        EntityWrapper<TAppUser> wrapper = new EntityWrapper<>();
        // 昵称
        if(StringUtils.hasLength(nickname)){
            wrapper.like("nickname",nickname);
        }
        // 手机号
        if(StringUtils.hasLength(phone)){
            wrapper.like("phone",phone);
        }
        // id
        if(Objects.nonNull(id)){
            wrapper.eq("id",id);
        }
        // 开始,结束时间
        if(StringUtils.hasLength(createTime)){
            String[] split = createTime.split(" - ");
            Date startTime = DateUtil.getDate_str4(split[0]);
            Date endTime = DateUtil.getDate_str4(split[1]);
            wrapper.between("createtime",startTime,endTime);
        }
//        if(Objects.nonNull(startTime) && Objects.nonNull(endTime)){
//            wrapper.between("createtime",startTime,endTime);
//        }
        // 状态
        if(Objects.nonNull(status)){
            wrapper.eq("status",status);
        }
        return wrapper;
    }
}