luodangjia
2024-09-18 a96c5eddcd63fa6f09e4cdce9e28c7b846068f0c
ruoyi-service/ruoyi-account/src/main/java/com/ruoyi/account/controller/TAppUserController.java
@@ -11,11 +11,9 @@
import com.ruoyi.account.api.dto.*;
import com.ruoyi.account.api.model.*;
import com.ruoyi.account.service.*;
import com.ruoyi.account.util.PointDetailUtil;
import com.ruoyi.account.util.SignDayUtil;
import com.ruoyi.account.util.*;
import com.ruoyi.account.util.carBrand.CarBrandUtil;
import com.ruoyi.account.wx.model.WeixinProperties;
import com.ruoyi.account.util.GiveVipUtil;
import com.ruoyi.common.core.constant.Constants;
import com.ruoyi.common.core.domain.R;
import com.ruoyi.common.core.dto.PointChangeDto;
@@ -26,6 +24,9 @@
import com.ruoyi.common.core.web.domain.AjaxResult;
import com.ruoyi.common.core.web.domain.BasePojo;
import com.ruoyi.common.core.web.page.BasePage;
import com.ruoyi.common.log.annotation.Log;
import com.ruoyi.common.log.enums.BusinessType;
import com.ruoyi.common.log.enums.OperatorType;
import com.ruoyi.common.redis.service.RedisService;
import com.ruoyi.common.security.auth.AuthUtil;
import com.ruoyi.common.security.service.TokenService;
@@ -114,6 +115,8 @@
    private VipClient vipClient;
    @Resource
    private TInviteUserService inviteUserService;
    @Resource
    private GiveVipUtil giveVipUtil;
    /**
@@ -149,8 +152,9 @@
    public R<List<Long>> getUserIdsByPhone(@RequestParam("phone") String phone) {
        return R.ok(appUserService.list(new QueryWrapper<TAppUser>().like("phone",phone)).stream().map(TAppUser::getId).collect(Collectors.toList()));
    }
    @Resource
    private GiveVipUtil giveVipUtil;
    @ApiOperation(value = "单位管理列表", tags = {"用户管理-单位管理"})
    @PostMapping(value = "/unit/page")
    public R<Page<TCompany>> unitPage(@RequestBody UnitListQueryDto unitListQueryDto) {
@@ -180,6 +184,7 @@
    @ApiOperation(value = "单位管理添加或编辑", tags = {"用户管理-单位管理"})
    @PostMapping(value = "/unit/addOrUpdate")
    @Log(title = "【单位管理】添加或编辑单位", businessType = BusinessType.INSERT,operatorType = OperatorType.MANAGE)
    public R add(@RequestBody TCompany tCompany) {
        //拿到单位列表
       otherClient.unitAddorUpadate(tCompany);
@@ -191,6 +196,7 @@
    @ApiOperation(value = "单位管理删除", tags = {"用户管理-单位管理"})
    @DeleteMapping(value = "/unit/delete")
    @Log(title = "【单位管理】删除单位", businessType = BusinessType.DELETE,operatorType = OperatorType.MANAGE)
    public R add(@RequestParam String ids) {
        String[] split = ids.split(",");
        for (String s : split) {
@@ -242,6 +248,14 @@
            R<Long> useOrderCount = chargingOrderClient.useOrderCount(appUser.getId());
            appUser.setOrderCount(useOrderCount.getData());
            appUser.setUid(appUser.getId().toString());
            TAppUserCar one1 = appUserCarService.lambdaQuery().eq(TAppUserCar::getAppUserId, appUser.getId()).orderByDesc(BasePojo::getCreateTime).last("limit 1").one();
            if (one1!=null){
                CarNumDto carNumDto = CarUtil.carNum(one1.getLicensePlate());
                appUser.setPlace(carNumDto.getProvince()+carNumDto.getCity());
            }
        }
        return R.ok(page);
@@ -349,6 +363,7 @@
    @ApiOperation(value = "用户添加编辑", tags = {"用户管理-用户列表"})
    @PostMapping(value = "/user/addOrUpdate")
    @Log(title = "【用户列表】添加编辑用户", businessType = BusinessType.INSERT,operatorType = OperatorType.MANAGE)
    public R addOrUpdate(@RequestBody TAppUser  tAppUser) {
        if (tAppUser.getId() != null){
            //为编辑操作,要进行vip的逻辑处理
@@ -466,6 +481,7 @@
    @ApiOperation(value = "冻结解冻用户", tags = {"后台-用户管理-用户列表"})
    @PostMapping(value = "/user/status/change")
    @Log(title = "【用户列表】冻结解冻用户", businessType = BusinessType.UPDATE,operatorType = OperatorType.MANAGE)
    public R pointsDetail(@RequestBody UserChangeDto userChangeDto) {
        TAppUser appUser = appUserService.getById(userChangeDto.getUserId());
        appUser.setStatus(userChangeDto.getStatus());
@@ -476,6 +492,7 @@
    @ApiOperation(value = "修改单位", tags = {"后台-用户管理-用户列表"})
    @PostMapping(value = "/user/unit/change")
    @Log(title = "【用户列表】修改用户单位", businessType = BusinessType.UPDATE,operatorType = OperatorType.MANAGE)
    public R unitChange(@RequestBody UnitChangeDto unitChangeDto) {
        for (String s : unitChangeDto.getIds().split(",")) {
            TAppUser byId = appUserService.getById(s);
@@ -487,6 +504,7 @@
    @ApiOperation(value = "删除用户", tags = {"后台-用户管理-用户列表"})
    @DeleteMapping(value = "/user/delete")
    @Log(title = "【用户列表】删除用户", businessType = BusinessType.DELETE,operatorType = OperatorType.MANAGE)
    public R userDelete(String ids) {
        String[] split = ids.split(",");
        for (String s : split) {
@@ -513,7 +531,7 @@
            appUserInfoDto.setVipExpireTime(byId.getVipEndTime());
        }
        //判断当天是否签到
        Long count = signService.lambdaQuery().eq(TAppUserSign::getSignDay, LocalDate.now()).count();
        Long count = signService.lambdaQuery().eq(TAppUserSign::getAppUserId,userId).eq(TAppUserSign::getSignDay, LocalDate.now()).count();
        appUserInfoDto.setIsSign(count>0?1:0);
        //获取当前拥有的优惠卷数量
        Long coupons = appCouponService.lambdaQuery().eq(TAppCoupon::getAppUserId, userId).eq(TAppCoupon::getStatus, 1).count();
@@ -525,6 +543,7 @@
        }
        appUserInfoDto.setUserCars(list);
        appUserInfoDto.setFirstAdd(byId.getFirstAdd()!=null?byId.getFirstAdd():0);
        appUserInfoDto.setPoints(byId.getPoints()==null?0:byId.getPoints());
        return R.ok(appUserInfoDto);
@@ -543,7 +562,8 @@
                TCoupon coupon = JSON.toJavaObject(JSON.parseObject(tAppCoupon.getCouponJson()), TCoupon.class);
                InfoCouponDto infoCouponDto = new InfoCouponDto();
                BeanUtils.copyProperties(coupon, infoCouponDto);
                infoCouponDto.setId(tAppCoupon.getId());
                infoCouponDto.setId(tAppCoupon.getId().toString());
                infoCouponDto.setEndTime(tAppCoupon.getEndTime());
                couponDtos1.add(infoCouponDto);
            }
@@ -556,28 +576,35 @@
            TCoupon coupon = JSON.toJavaObject(JSON.parseObject(tAppCoupon.getCouponJson()), TCoupon.class);
            InfoCouponDto infoCouponDto = new InfoCouponDto();
            BeanUtils.copyProperties(coupon, infoCouponDto);
            infoCouponDto.setId(tAppCoupon.getId());
            infoCouponDto.setId(tAppCoupon.getId().toString());
            infoCouponDto.setEndTime(tAppCoupon.getEndTime());
            couponDtos2.add(infoCouponDto);
        }
        for (TAppCoupon tAppCoupon : list2) {
            TCoupon coupon = JSON.toJavaObject(JSON.parseObject(tAppCoupon.getCouponJson()), TCoupon.class);
            InfoCouponDto infoCouponDto = new InfoCouponDto();
            BeanUtils.copyProperties(coupon, infoCouponDto);
            infoCouponDto.setId(tAppCoupon.getId());
            infoCouponDto.setId(tAppCoupon.getId().toString());
            infoCouponDto.setEndTime(tAppCoupon.getEndTime());
            couponDtos2.add(infoCouponDto);
        }
        ListInfoCouponDto listInfoCouponDto = new ListInfoCouponDto();
        listInfoCouponDto.setInfoCouponDtoList1(couponDtos1);
        listInfoCouponDto.setInfoCouponDtoList2(couponDtos2);
        if (type==1){
            listInfoCouponDto.setInfoCouponDtoList(couponDtos1);
        }else {
            listInfoCouponDto.setInfoCouponDtoList(couponDtos2);
        }
        listInfoCouponDto.setNum1(couponDtos1.size());
        listInfoCouponDto.setNum2(couponDtos2.size());
        return R.ok(listInfoCouponDto);
    }
    @ApiOperation(value = "优惠卷详情(1可使用2不可用)", tags = {"小程序-个人中心"})
    @PostMapping(value = "/user/coupon/getById")
    @GetMapping(value = "/user/coupon/getById")
    public R<TAppCoupon> couponGetById(@RequestParam("id")Long id) {
        TAppCoupon appCoupon = appCouponService.getById(id);
        return R.ok(appCoupon);
@@ -587,6 +614,7 @@
    @ApiOperation(value = "赠送会员", tags = {"用户管理-用户列表"})
    @PostMapping(value = "/user/give/vip")
    @Log(title = "【用户列表】赠送会员", businessType = BusinessType.OTHER,operatorType = OperatorType.MANAGE)
    public R giveVip(@RequestBody GiveVipDto  giveVipDto) {
        String[] split = giveVipDto.getUserIds().split(",");
        for (String s : split) {
@@ -619,7 +647,7 @@
    }
    @ApiOperation(value = "已赠送列表", tags = {"小程序-个人中心-邀请好友"})
    @PostMapping(value = "/user/invite/info")
    @GetMapping(value = "/user/invite/info")
    public R<InviteInfoDto> inviteInfo() {
        Long userId = tokenService.getLoginUserApplet().getUserId();
        Integer point = 0;
@@ -716,6 +744,16 @@
                .eq(TAppUser::getPhone,phone)
                .last("LIMIT 1")));
    }
    /**
     * 通过手机号模糊查询用户
     * @param phone
     * @return
     */
    @GetMapping("/user/selectByPhoneLike")
    public R<List<TAppUser>> selectByPhoneLike(@RequestParam("phone") String phone){
        return R.ok(appUserService.list(Wrappers.lambdaQuery(TAppUser.class)
                .eq(TAppUser::getPhone,phone)));
    }
    @ApiOperation(value = "签到", tags = {"小程序-个人中心-签到"})
    @GetMapping(value = "/user/sign")
@@ -808,6 +846,15 @@
        return R.ok();
    }
    @PostMapping(value = "/user/points/change/down")
    public R changeDown(@RequestBody PointChangeDto points) {
        TAppUser byId = appUserService.getById(points.getUserId());
        pointDetailUtil.addDetail(byId.getPoints(),byId.getPoints()-points.getPoints(),points.getType(),points.getUserId(),points.getRemark(),"JF");
        byId.setPoints(byId.getPoints()-points.getPoints());
        appUserService.updateById(byId);
        return R.ok();
    }
    @ApiOperation(value = "添加编辑车辆", tags = {"小程序-个人中心-车辆"})
    @PostMapping(value = "/user/car/addOrUpdate")
    public R carAdd(@RequestBody TAppUserCar appUserCar) {