From a146097a15d719c60af3cdeb4de1f21aa7b5ca8d Mon Sep 17 00:00:00 2001 From: Pu Zhibing <393733352@qq.com> Date: 星期五, 20 九月 2024 10:47:53 +0800 Subject: [PATCH] Merge branch 'master' of http://120.76.84.145:10101/gitblit/r/java/mx_charging_pile --- ruoyi-service/ruoyi-account/src/main/java/com/ruoyi/account/controller/TAppUserController.java | 148 +++++++++++++++++++++++++++++++++++++++++------- 1 files changed, 125 insertions(+), 23 deletions(-) diff --git a/ruoyi-service/ruoyi-account/src/main/java/com/ruoyi/account/controller/TAppUserController.java b/ruoyi-service/ruoyi-account/src/main/java/com/ruoyi/account/controller/TAppUserController.java index ff010e9..cce7853 100644 --- a/ruoyi-service/ruoyi-account/src/main/java/com/ruoyi/account/controller/TAppUserController.java +++ b/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); @@ -340,6 +354,7 @@ //累计充电次数 R<Long> useOrderCount = chargingOrderClient.useOrderCount(appUser.getId()); appUser.setOrderCount(useOrderCount.getData()); + appUser.setUid(appUser.getId().toString()); } return R.ok(page); @@ -348,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的逻辑处理 @@ -465,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()); @@ -475,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); @@ -486,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) { @@ -512,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(); @@ -523,35 +542,69 @@ tAppUserCar.setUid(tAppUserCar.getId().toString()); } appUserInfoDto.setUserCars(list); + appUserInfoDto.setFirstAdd(byId.getFirstAdd()!=null?byId.getFirstAdd():0); + appUserInfoDto.setPoints(byId.getPoints()==null?0:byId.getPoints()); return R.ok(appUserInfoDto); } @ApiOperation(value = "优惠卷列表不分页(1可使用2不可用)", tags = {"小程序-个人中心"}) - @PostMapping(value = "/user/coupon") - public R<List<InfoCouponDto>> userCoupon(@RequestParam("type") Integer type) { + @GetMapping(value = "/user/coupon") + public R<ListInfoCouponDto> userCoupon(@RequestParam("type") Integer type) { + Long userId = tokenService.getLoginUserApplet().getUserId(); LocalDateTime now = LocalDateTime.now(); - List<InfoCouponDto> couponDtos = new ArrayList<>(); - List<TAppCoupon> list = appCouponService.lambdaQuery().le(TAppCoupon::getStartTime, now).ge(TAppCoupon::getEndTime, now).eq(TAppCoupon::getStatus, type).list(); - for (TAppCoupon tAppCoupon : list) { + List<InfoCouponDto> couponDtos1 = new ArrayList<>(); + + List<TAppCoupon> list = appCouponService.lambdaQuery().eq(TAppCoupon::getAppUserId, userId).ge(TAppCoupon::getEndTime, now).eq(TAppCoupon::getStatus, 1).list(); + for (TAppCoupon tAppCoupon : list) { + TCoupon coupon = JSON.toJavaObject(JSON.parseObject(tAppCoupon.getCouponJson()), TCoupon.class); + InfoCouponDto infoCouponDto = new InfoCouponDto(); + BeanUtils.copyProperties(coupon, infoCouponDto); + infoCouponDto.setId(tAppCoupon.getId().toString()); + infoCouponDto.setEndTime(tAppCoupon.getEndTime()); + couponDtos1.add(infoCouponDto); + + } + + List<TAppCoupon> list1 = appCouponService.lambdaQuery().eq(TAppCoupon::getAppUserId, userId).eq(TAppCoupon::getStatus, 2).list(); + List<TAppCoupon> list2 = appCouponService.lambdaQuery().eq(TAppCoupon::getAppUserId, userId).lt(TAppCoupon::getEndTime, now).list(); + + List<InfoCouponDto> couponDtos2 = new ArrayList<>(); + for (TAppCoupon tAppCoupon : list1) { TCoupon coupon = JSON.toJavaObject(JSON.parseObject(tAppCoupon.getCouponJson()), TCoupon.class); InfoCouponDto infoCouponDto = new InfoCouponDto(); - BeanUtils.copyProperties(coupon,infoCouponDto); - infoCouponDto.setId(tAppCoupon.getId()); - couponDtos.add(infoCouponDto); - + BeanUtils.copyProperties(coupon, infoCouponDto); + 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().toString()); + infoCouponDto.setEndTime(tAppCoupon.getEndTime()); + couponDtos2.add(infoCouponDto); } - return R.ok(couponDtos); - + ListInfoCouponDto listInfoCouponDto = new ListInfoCouponDto(); + 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") + + @ApiOperation(value = "优惠卷详情(1可使用2不可用)", tags = {"小程序-个人中心"}) + @GetMapping(value = "/user/coupon/getById") public R<TAppCoupon> couponGetById(@RequestParam("id")Long id) { TAppCoupon appCoupon = appCouponService.getById(id); return R.ok(appCoupon); @@ -561,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) { @@ -593,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; @@ -614,7 +668,7 @@ @ApiOperation(value = "更换手机号", tags = {"小程序-用户管理-更换手机号"}) @PostMapping(value = "/user/updatePhone") public AjaxResult<String> updatePhone(@Validated @RequestBody UpdatePhoneDTO dto) { - String code = redisService.getCacheObject(dto.getPhone() + Constants.APPLET); + String code = redisService.getCacheObject(dto.getPhone() + Constants.UPDATE_PHONE); if(StringUtils.isEmpty(code)){ return AjaxResult.error("验证码已过期,请重新获取验证码!"); } @@ -690,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") @@ -741,6 +805,8 @@ appUserService.updateById(byId); return R.ok(); } + + //已签到日期 @ApiOperation(value = "本月已签到日期", tags = {"小程序-个人中心-签到"}) @GetMapping(value = "/user/has/sign") @@ -778,6 +844,15 @@ 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(); + } + + @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(); } @@ -820,6 +895,7 @@ //增加积分记录 pointDetailUtil.addDetail(byId.getPoints(),byId.getPoints()+point,5,userId,appUserCar.getLicensePlate(),""); byId.setPoints(byId.getPoints()+point); + byId.setFirstAdd(1); appUserService.updateById(byId); @@ -831,7 +907,7 @@ return R.ok(); } @ApiOperation(value = "添加编辑车辆", tags = {"小程序-个人中心-车辆"}) - @DeleteMapping(value = "/user/car/delete") + @GetMapping(value = "/user/car/delete") public R carDelete(String id) { boolean b = appUserCarService.removeById(id); return R.ok(); @@ -853,7 +929,7 @@ } - @ApiOperation(value = "根据品牌获取车型", tags = {"小程序-个人中心-车辆"}) + @ApiOperation(value = "根据品牌获取车系", tags = {"小程序-个人中心-车辆"}) @GetMapping(value = "/user/car/getModel") public R getModel(String id) throws Exception { String modelById = CarBrandUtil.getModelById(id); @@ -867,5 +943,31 @@ } return R.ok(backList); } + @ApiOperation(value = "根据车系获取车型", tags = {"小程序-个人中心-车辆"}) + @GetMapping(value = "/user/car/getSeries") + public R getSeries(String id) throws Exception { + String modelById = CarBrandUtil.getSeriesById(id); + JSONObject jsonObject = JSON.parseObject(modelById); + JSONObject data1 = jsonObject.getJSONObject("data"); + JSONArray data = data1.getJSONArray("list"); +// JSONArray data = jsonObject.getJSONArray(data1.get("list").toString()); +// JSONArray backList = new JSONArray(); +// for (Object datum : data) { +// JSONObject jsonObject1 = JSON.parseObject(datum.toString()); +// JSONArray list = jsonObject1.getJSONArray("list"); +// backList.addAll(jsonObject1); +// } + return R.ok(data); + + } + + @ApiOperation(value = "根据车型获取详情", tags = {"小程序-个人中心-车辆"}) + @GetMapping(value = "/user/car/getDetail") + public R getDetail(String id) throws Exception { + String detailById = CarBrandUtil.getDetailById(id); + JSONObject jsonObject = JSON.parseObject(detailById); + + return R.ok(jsonObject.getJSONObject("data")); + } } -- Gitblit v1.7.1