| | |
| | | import com.alibaba.fastjson.JSON; |
| | | import com.alibaba.fastjson.JSONArray; |
| | | import com.alibaba.fastjson.JSONObject; |
| | | import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; |
| | | import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; |
| | | import com.baomidou.mybatisplus.core.toolkit.Wrappers; |
| | | import com.baomidou.mybatisplus.extension.plugins.pagination.Page; |
| | |
| | | import com.ruoyi.account.util.carBrand.CarBrandUtil; |
| | | import com.ruoyi.account.wx.model.WeixinProperties; |
| | | import com.ruoyi.common.core.constant.Constants; |
| | | import com.ruoyi.common.core.constant.MsgConstants; |
| | | import com.ruoyi.common.core.domain.R; |
| | | import com.ruoyi.common.core.dto.PointChangeDto; |
| | | import com.ruoyi.common.core.enums.status.AppUserStatusEnum; |
| | | import com.ruoyi.common.core.utils.JwtUtils; |
| | | import com.ruoyi.common.core.utils.StringUtils; |
| | | import com.ruoyi.common.core.utils.*; |
| | | import com.ruoyi.common.core.utils.bean.BeanUtils; |
| | | import com.ruoyi.common.core.web.domain.AjaxResult; |
| | | import com.ruoyi.common.core.web.domain.BasePojo; |
| | |
| | | import com.ruoyi.common.security.utils.SecurityUtils; |
| | | import com.ruoyi.order.api.feignClient.ChargingOrderClient; |
| | | import com.ruoyi.order.api.feignClient.ExchangeOrderClient; |
| | | import com.ruoyi.order.api.feignClient.OrderClient; |
| | | import com.ruoyi.order.api.model.TChargingOrder; |
| | | import com.ruoyi.order.api.model.TExchangeOrder; |
| | | import com.ruoyi.order.api.model.TGrantVip; |
| | | import com.ruoyi.other.api.domain.*; |
| | | import com.ruoyi.other.api.domain.TCoupon; |
| | | import com.ruoyi.other.api.domain.TVip; |
| | | import com.ruoyi.other.api.dto.UnitListQueryDto; |
| | | import com.ruoyi.other.api.feignClient.IntegralRuleClient; |
| | | import com.ruoyi.other.api.feignClient.OtherClient; |
| | |
| | | |
| | | import javax.annotation.Resource; |
| | | import javax.servlet.http.HttpServletRequest; |
| | | import java.math.BigDecimal; |
| | | import java.time.Duration; |
| | | import java.time.LocalDate; |
| | | import java.time.LocalDateTime; |
| | |
| | | private TAppUserService appUserService; |
| | | @Resource |
| | | private TAppUserTagService appUserTagService; |
| | | @Autowired |
| | | private OrderClient orderClient; |
| | | |
| | | @Resource |
| | | private TAppUserVipDetailService tAppUserVipDetailService; |
| | |
| | | appUser.setLastDays( Duration.between(LocalDateTime.now(), appUser.getVipEndTime()).toDays()); |
| | | 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); |
| | | } |
| | |
| | | } |
| | | if(appUser.getCityCode()!=null){ |
| | | Region data = otherClient.getRegionBuyCode(appUser.getCityCode()).getData(); |
| | | appUser.setProvince(data.getName()); |
| | | appUser.setCity(data.getName()); |
| | | } |
| | | //拿到最新的tagId |
| | | TAppUserTag one = appUserTagService.lambdaQuery().eq(TAppUserTag::getAppUserId, appUser.getId()).orderByDesc(TAppUserTag::getCreateTime).last("limit 1").one(); |
| | |
| | | @GetMapping(value = "/user/points/detail") |
| | | public R<TAppUserIntegralChange> pointsDetail(String id) { |
| | | TAppUserIntegralChange byId = integralChangeService.getById(id); |
| | | TExchangeOrder data = exchangeOrderClient.orderDetail(Long.valueOf(byId.getExtension())).getData(); |
| | | if (data!=null) { |
| | | byId.setGoodType(data.getOrderType()); |
| | | if (byId.getChangeType()==6) { |
| | | TExchangeOrder data = exchangeOrderClient.orderDetail(Long.valueOf(byId.getExtension())).getData(); |
| | | if (data != null) { |
| | | byId.setGoodType(data.getOrderType()); |
| | | } |
| | | }else if (byId.getChangeType()==4){ |
| | | TAppUser byId1 = appUserService.getById(byId.getExtension()); |
| | | byId.setExtension(byId1.getPhone()); |
| | | } |
| | | return R.ok(byId); |
| | | } |
| | |
| | | return R.ok(); |
| | | |
| | | } |
| | | @Resource |
| | | private TAppUserVipDetailService appUserVipDetailService; |
| | | |
| | | @ApiOperation(value = "个人中心信息", tags = {"小程序-个人中心"}) |
| | | @GetMapping(value = "/user/info") |
| | |
| | | if (byId.getVipEndTime()==null||byId.getVipEndTime().isBefore(LocalDateTime.now())){ |
| | | appUserInfoDto.setIsVip(0); |
| | | }else { |
| | | TAppUserVipDetail one = appUserVipDetailService.getOne(new LambdaQueryWrapper<TAppUserVipDetail>() |
| | | .eq(TAppUserVipDetail::getAppUserId, userId) |
| | | .eq(TAppUserVipDetail::getVipId, byId.getVipId()) |
| | | .last(" and now() between start_time and end_time")); |
| | | Long count = appCouponService.lambdaQuery().eq(TAppCoupon::getDetailId, one.getId()).count(); |
| | | appUserInfoDto.setVipCouponNum(count); |
| | | appUserInfoDto.setIsVip(1); |
| | | appUserInfoDto.setVipExpireTime(byId.getVipEndTime()); |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | |
| | | |
| | | |
| | | @ApiOperation(value = "优惠卷详情(1可使用2不可用)", tags = {"小程序-个人中心"}) |
| | | @GetMapping(value = "/user/coupon/getById") |
| | | @PostMapping(value = "/user/coupon/getById") |
| | | public R<TAppCoupon> couponGetById(@RequestParam("id")Long id) { |
| | | TAppCoupon appCoupon = appCouponService.getById(id); |
| | | appCoupon.setUid(id.toString()); |
| | | return R.ok(appCoupon); |
| | | } |
| | | |
| | |
| | | } else if (giveVipDto.getType() == 3) { |
| | | plusDay = 12; |
| | | } |
| | | //增加vipDetail |
| | | BigDecimal bigDecimal = new BigDecimal("0"); |
| | | TVip info = vipClient.getInfo1(giveVipDto.getVipId()).getData(); |
| | | switch (giveVipDto.getType()){ |
| | | case 1: |
| | | bigDecimal = bigDecimal.add(info.getMonthlyCard()==null?new BigDecimal(0):info.getMonthlyCard()); |
| | | break; |
| | | case 2: |
| | | bigDecimal = bigDecimal.add(info.getSeasonCard()==null?new BigDecimal(0):info.getSeasonCard()); |
| | | break; |
| | | case 3: |
| | | bigDecimal = bigDecimal.add(info.getAnnualCard()==null?new BigDecimal(0):info.getAnnualCard()); |
| | | break; |
| | | } |
| | | //增加vipDetail |
| | | giveVipUtil.sendVip(nowUser, giveVipDto.getVipId(),plusDay,giveVipDto.getType()); |
| | | appUserService.updateById(nowUser); |
| | | // 新增后台赠送记录 |
| | | TGrantVip tGrantVip = new TGrantVip(); |
| | | tGrantVip.setCode(OrderCodeUtil.getOrderCode("ZS")); |
| | | tGrantVip.setAppUserId(nowUser.getId()); |
| | | tGrantVip.setVipId(giveVipDto.getVipId()); |
| | | tGrantVip.setOrderAmount(bigDecimal); |
| | | tGrantVip.setCreateTime(LocalDateTime.now()); |
| | | tGrantVip.setAppUserId(nowUser.getId()); |
| | | orderClient.managementGiveVip(tGrantVip); |
| | | } |
| | | return R.ok(); |
| | | } |
| | |
| | | @PostMapping(value = "/user/invite/page") |
| | | public R<Page<TInviteUser>> invitePage(@RequestBody BasePage basePage) { |
| | | Long userId = tokenService.getLoginUserApplet().getUserId(); |
| | | |
| | | Page<TInviteUser> page = inviteUserService.lambdaQuery().eq(TInviteUser::getAppUserId, userId).isNotNull(TInviteUser::getAward).orderByDesc(TInviteUser::getCreateTime).page(Page.of(basePage.getPageCurr(), basePage.getPageSize())); |
| | | for (TInviteUser record : page.getRecords()) { |
| | | TAppUser byId = appUserService.getById(record.getBeInvitedAppUserId()); |
| | | record.setAvatar(byId.getAvatar()); |
| | | record.setName(byId.getName()); |
| | | } |
| | | return R.ok(page); |
| | | } |
| | | |
| | |
| | | .eq(TAppUserSign::getAppUserId, userId) |
| | | .orderByDesc(TAppUserSign::getSignDay) |
| | | .list(); |
| | | for (TAppUserSign signRecord : signRecords) { |
| | | int i = signDayUtil.calculateContinuousSignDays1(signRecord.getAppUserId(), signRecord.getSignDay()); |
| | | signRecord.setContinueDays(i); |
| | | } |
| | | return R.ok(signRecords); |
| | | |
| | | } |
| | |
| | | public R getModel(String id) throws Exception { |
| | | String modelById = CarBrandUtil.getModelById(id); |
| | | JSONObject jsonObject = JSON.parseObject(modelById); |
| | | Integer code = jsonObject.getInteger("code"); |
| | | if (code==701){ |
| | | return R.fail("当前品牌暂无分类"); |
| | | } |
| | | JSONArray data = jsonObject.getJSONArray("data"); |
| | | JSONArray backList = new JSONArray(); |
| | | for (Object datum : data) { |
| | |
| | | appUserService.updateById(appUser); |
| | | return AjaxResult.success(); |
| | | } |
| | | |
| | | @PostMapping("/sendMessage") |
| | | public R<String> sendMessage(@RequestBody SendMessageDTO sendMessageDTO){ |
| | | switch (sendMessageDTO.getType()){ |
| | | case 1: |
| | | String reqStr1 = MsgUtil.codeMsg(sendMessageDTO.getPhone(), sendMessageDTO.getCode()); |
| | | String result1 = HttpUtils.post(MsgConstants.SEND_URL, reqStr1); |
| | | return R.ok(result1); |
| | | case 2: |
| | | String reqStr2 = MsgUtil.applyCodeMsg(sendMessageDTO.getPhone(), sendMessageDTO.getCode()); |
| | | String result2 = HttpUtils.post(MsgConstants.SEND_URL, reqStr2); |
| | | return R.ok(result2); |
| | | default: |
| | | String reqStr3 = MsgUtil.faultMsg(sendMessageDTO.getPhone(), sendMessageDTO.getSite(), sendMessageDTO.getChargeGun()); |
| | | String result3 = HttpUtils.post(MsgConstants.SEND_URL, reqStr3); |
| | | return R.ok(result3); |
| | | } |
| | | } |
| | | |
| | | } |
| | | |