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;
|
}
|
}
|