xp-robotaxi-account-boot/pom.xml
@@ -166,6 +166,14 @@ </execution> </executions> </plugin> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-compiler-plugin</artifactId> <configuration> <source>8</source> <target>8</target> </configuration> </plugin> </plugins> <resources> <resource> xp-robotaxi-account-boot/src/main/java/com/xiaopeng/account/config/serializer/MobileSerializer.java
File was deleted xp-robotaxi-account-boot/src/main/java/com/xiaopeng/account/controller/SysGroupController.java
@@ -78,7 +78,7 @@ } @GetMapping("/logan/inner/group/getPhoneDesensitization") public R<String> getXpOperationsRoleByRoleId(@RequestParam String phoneNumber) { public R<String> getPhoneDesensitization(@RequestParam String phoneNumber) { return R.ok(sysGroupService.getPhoneDesensitization(phoneNumber)); } xp-robotaxi-account-boot/src/main/java/com/xiaopeng/account/controller/SysUserController.java
@@ -1,5 +1,6 @@ package com.xiaopeng.account.controller; import cn.hutool.core.util.DesensitizedUtil; import com.alibaba.fastjson2.JSONObject; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.core.toolkit.Wrappers; @@ -71,6 +72,8 @@ private ISysUserRoleService sysUserRoleService; @Autowired private RedisService redisService; @Resource private ISysGroupService sysGroupService; /** @@ -78,9 +81,13 @@ */ @GetMapping("/api/v1/sys-user/pageList") @ApiOperation(value = "账号管理分页列表", tags = {"管理后台-账号管理"}) public AjaxResult<PageInfo<SysUser>> list(SysUserListQuery sysUserListQuery) { PageInfo<SysUser> pageInfo = new PageInfo<>(sysUserListQuery.getPageNum(), sysUserListQuery.getPageSize()); public AjaxResult<PageInfo<SysUser>> list(final SysUserListQuery sysUserListQuery) { PageInfo<SysUser> pageInfo = new PageInfo<SysUser>(sysUserListQuery.getPageNum(), sysUserListQuery.getPageSize()); PageInfo<SysUser> page = userService.getList(pageInfo, sysUserListQuery); page.getRecords().forEach(user -> { user.setPhoneNumber(sysGroupService.getPhoneDesensitization(user.getPhoneNumber())); // user.setUserAccount(sysGroupService.getPhoneDesensitization(user.getUserAccount())); }); return AjaxResult.success(page); } /** @@ -90,6 +97,7 @@ @ApiOperation(value = "账号管理不分页列表", tags = {"管理后台-账号管理"}) public R<List<SysUser>> listAll() { List<SysUser> listAll = userService.list(); listAll.forEach(user -> user.setPhoneNumber(sysGroupService.getPhoneDesensitization(user.getPhoneNumber()))); return R.ok(listAll); } @@ -179,6 +187,7 @@ ajax.put("posts", postService.selectPostAll()); if (StringUtils.isNotNull(userId)) { SysUser sysUser = userService.selectUserById(userId); sysUser.setPhoneNumber(sysGroupService.getPhoneDesensitization(sysUser.getPhoneNumber())); ajax.put(AjaxResult.DATA_TAG, sysUser); ajax.put("postIds", postService.selectPostListByUserId(userId)); // ajax.put("roleIds", sysUser.getRoles().stream().map(SysRole::getId).collect(Collectors.toList())); xp-robotaxi-account-boot/src/main/java/com/xiaopeng/account/controller/XpOperationsUserController.java
@@ -15,6 +15,7 @@ import com.xiaopeng.account.service.IXpOperationsUserService; import com.xiaopeng.account.service.IXpQualificationAuditService; import com.xiaopeng.api.dto.account.XpOperationsUserQueryDTO; import com.xiaopeng.api.feignClient.account.SysGroupMenuClient; import com.xiaopeng.api.feignClient.vehicleConvoy.XpFleetClient; import com.xiaopeng.api.model.account.SysRole; import com.xiaopeng.api.model.account.XpOperationsRole; @@ -69,6 +70,8 @@ @Resource private ISysRoleService sysRoleService; @Resource private SysGroupMenuClient groupMenuClient; @Autowired public XpOperationsUserController(IXpOperationsUserService xpOperationsUserService, @@ -227,6 +230,7 @@ @PostMapping("/api/v1/operationsUser/pageList") public R<PageInfo<XpOperationsUserVO>> pageList(@RequestBody XpOperationsUserQuery query) { PageInfo<XpOperationsUserVO> pageList = xpOperationsUserService.pageList(query); pageList.getRecords().forEach(s->s.setPhoneNumber(groupMenuClient.getPhoneDesensitization(s.getPhoneNumber()).getData())); return R.ok(pageList); } @@ -382,7 +386,7 @@ } } xpOperationsUserVO.setPhoneNumber(groupMenuClient.getPhoneDesensitization(xpOperationsUserVO.getPhoneNumber()).getData()); return R.ok(xpOperationsUserVO); } xp-robotaxi-api/src/main/java/com/xiaopeng/api/factory/account/SysGroupClientFallbackFactory.java
xp-robotaxi-api/src/main/java/com/xiaopeng/api/model/operation/XpTradingStrategyPush.java
@@ -25,7 +25,7 @@ * 开始时段 */ @ApiModelProperty(value = "开始时段") private String starTime; private String startTime; /** * 结束时段 */ xp-robotaxi-operation-boot/src/main/java/com/xiaopeng/operation/controller/XpInvitationCodeController.java
@@ -10,6 +10,7 @@ import cn.hutool.core.util.PhoneUtil; import cn.hutool.core.io.resource.ClassPathResource; import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper; import com.xiaopeng.api.feignClient.account.SysGroupMenuClient; import com.xiaopeng.api.model.operation.XpInvitationCode; import com.xiaopeng.api.model.operation.XpWhitelist; import com.xiaopeng.common.core.domain.R; @@ -68,6 +69,8 @@ private IXpWhitelistService xpWhitelistService; @Resource private MessageSource messageSource; @Resource private SysGroupMenuClient groupMenuClient; private static final Pattern CHINESE_PATTERN = Pattern.compile("\\p{IsHan}"); private static final long INVITATION_CODE_LIMIT = 500L; @@ -76,8 +79,10 @@ @PostMapping("/api/v1/invitation/pageList") public R<PageInfo<XpInvitationCode>> pageList(@RequestBody InvitationPageListQuery query) { PageInfo<XpInvitationCode> pageList = xpInvitationCodeService.pageList(query); pageList.getRecords().forEach(s -> s.setBindAccount(groupMenuClient.getPhoneDesensitization(s.getBindAccount()).getData())); return R.ok(pageList); } /** * 生成邀请码 */ @@ -99,6 +104,7 @@ } return xpInvitationCodeService.add(dto.getPhones()); } /** * 解绑 */ @@ -116,6 +122,7 @@ xpInvitationCodeService.update(xpInvitationCodeUpdateWrapper); return R.ok(); } @ApiOperation(value = "邀请码导入模板下载") @GetMapping("/api/v1/invitation/import-template") public void importTemplate() { @@ -147,6 +154,7 @@ } } } @ApiOperation(value = "邀请码导入") @PostMapping("/base/v1/invitation/importExcel") public R<String> importExcel(@RequestParam("file") MultipartFile file) { @@ -294,6 +302,7 @@ } return CHINESE_PATTERN.matcher(value).find(); } @ApiOperation(value = "邀请码导出") @PostMapping(value = "/api/v1/invitation/exportExcel") public void exportExcel(@RequestBody InvitationPageListQuery query) { @@ -333,6 +342,7 @@ } } /** * 批量删除 */ xp-robotaxi-operation-boot/src/main/java/com/xiaopeng/operation/controller/XpTargetedServiceController.java
@@ -1,6 +1,7 @@ package com.xiaopeng.operation.controller; import cn.hutool.core.collection.CollUtil; import com.xiaopeng.api.feignClient.account.SysGroupMenuClient; import com.xiaopeng.api.model.account.SysUser; import com.xiaopeng.api.model.operation.XpTargetedService; import com.xiaopeng.api.model.operation.XpWhitelist; @@ -39,6 +40,8 @@ XpTargetedServiceService xpTargetedServiceService; @Resource private TokenService tokenService; @Resource private SysGroupMenuClient groupMenuClient; @ApiOperation(value = "定向服务分页", tags = {"管理后台-定向服务分页"}) @@ -57,6 +60,7 @@ if (vo == null) { return R.fail("数据不存在"); } vo.getWhitelistList().forEach(s->s.setAccount(groupMenuClient.getPhoneDesensitization(s.getAccount()).getData())); return R.ok(vo); } xp-robotaxi-operation-boot/src/main/java/com/xiaopeng/operation/controller/XpUserFeedbackController.java
@@ -1,6 +1,7 @@ package com.xiaopeng.operation.controller; import com.xiaopeng.api.feignClient.account.SysGroupMenuClient; import com.xiaopeng.api.model.operation.XpUserFeedback; import com.xiaopeng.common.core.domain.R; import com.xiaopeng.common.core.web.page.PageInfo; @@ -18,6 +19,7 @@ import org.springframework.stereotype.Controller; import org.springframework.web.bind.annotation.RestController; import javax.annotation.Resource; import javax.servlet.http.HttpServletRequest; /** @@ -35,6 +37,8 @@ public class XpUserFeedbackController { private final IXpUserFeedbackService xpUserFeedbackService; @Resource private SysGroupMenuClient groupMenuClient; public XpUserFeedbackController(IXpUserFeedbackService xpUserFeedbackService) { this.xpUserFeedbackService = xpUserFeedbackService; @@ -61,6 +65,8 @@ @ApiOperation(value = "获取意见反馈分页列表", tags = {"管理后台-服务中心"}) @PostMapping(value = "/api/v1/userFeedBack/pageList") public R<PageInfo<XpUserFeedbackVO>> getPageList(@RequestBody UserFeedBackQuery query) { return R.ok(xpUserFeedbackService.getPageList(query)); PageInfo<XpUserFeedbackVO> pageList = xpUserFeedbackService.getPageList(query); pageList.getRecords().forEach(s->s.setPhone(groupMenuClient.getPhoneDesensitization(s.getPhone()).getData())); return R.ok(); } } xp-robotaxi-operation-boot/src/main/java/com/xiaopeng/operation/controller/XpWhitelistController.java
@@ -7,6 +7,7 @@ import cn.afterturn.easypoi.excel.entity.ImportParams; import cn.hutool.core.util.PhoneUtil; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.xiaopeng.api.feignClient.account.SysGroupMenuClient; import com.xiaopeng.api.model.account.SysUser; import com.xiaopeng.api.model.operation.XpWhitelist; import com.xiaopeng.api.model.operation.XpWhitelistOperlog; @@ -71,6 +72,8 @@ private IXpWhitelistOperlogService xpWhitelistOperlogService; @Resource private TokenService tokenService; @Resource private SysGroupMenuClient groupMenuClient; @@ -87,7 +90,9 @@ @ApiOperation(value = "白名单管理详情", tags = {"管理后台-白名单管理详情"}) @GetMapping("/api/v1/whitelist/detail/{id}") public R<XpWhitelist> detail(@PathVariable("id") Long id) { return R.ok(xpWhitelistService.getById(id)); XpWhitelist xpWhitelist = xpWhitelistService.getById(id); xpWhitelist.setAccount(groupMenuClient.getPhoneDesensitization(xpWhitelist.getAccount()).getData()); return R.ok(xpWhitelist); } @@ -95,6 +100,7 @@ @PostMapping("/api/v1/whitelist/pageList") public R<PageInfo<XpWhitelist>> pageList(@RequestBody WhitelistPageListQuery query) { PageInfo<XpWhitelist> pageList = xpWhitelistService.pageList(query); pageList.getRecords().forEach(s->s.setAccount(groupMenuClient.getPhoneDesensitization(s.getAccount()).getData())); return R.ok(pageList); } xp-robotaxi-operation-boot/src/main/java/com/xiaopeng/operation/service/impl/XpTradingStrategyServiceImpl.java
@@ -62,7 +62,8 @@ // 3. 组装 VO XpTradingStrategyDetailVO vo = BeanUtil.copyProperties(strategy, XpTradingStrategyDetailVO.class); vo.setCityList(cityList); List<XpTradingStrategyPush> tradingStrategyId = xpTradingStrategyPushService.list(new QueryWrapper<XpTradingStrategyPush>().eq("trading_strategy_id", strategy.getId()).orderByAsc("start_time")); List<XpTradingStrategyPush> tradingStrategyId = xpTradingStrategyPushService.list(new QueryWrapper<XpTradingStrategyPush>() .eq("trading_strategy_id", strategy.getId()).orderByAsc("start_time")); vo.setTimePushStrategyList(tradingStrategyId); return vo; } @@ -83,11 +84,13 @@ //更新分时段推单策略 xpTradingStrategyPushService.remove(new QueryWrapper<XpTradingStrategyPush>().eq("trading_strategy_id", dto.getId())); if(null != dto.getPushTimeList()){ List<XpTradingStrategyPush> pushTimeList = dto.getPushTimeList(); for (XpTradingStrategyPush xpTradingStrategyPush : pushTimeList) { xpTradingStrategyPush.setTradingStrategyId(dto.getId()); xpTradingStrategyPushService.save(xpTradingStrategyPush); } } // 3. 删除旧的城市关联 tradingStrategyCityService.remove( xp-robotaxi-operation-boot/src/main/java/com/xiaopeng/operation/utils/TaskOrderUtil.java
@@ -216,7 +216,7 @@ List<XpTradingStrategyPush> tradingStrategyId = xpTradingStrategyPushService.list(new QueryWrapper<XpTradingStrategyPush>().eq("trading_strategy_id", xpTradingStrategy)); long now = Long.parseLong(LocalDateTime.now().format(DateTimeFormatter.ofPattern("HHmm"))); XpTradingStrategyPush xpTradingStrategyPush = tradingStrategyId.stream().filter(item -> { long start = Long.parseLong(item.getStarTime().replace(":", "")); long start = Long.parseLong(item.getStartTime().replace(":", "")); long end = Long.parseLong(item.getEndTime().replace(":", "")); return now >= start && now < end; }).findFirst().orElse(null); xp-robotaxi-order-boot/src/main/java/com/xiaopeng/order/controller/XpOrderController.java
@@ -14,6 +14,7 @@ import com.xiaopeng.api.dto.statistics.OrderStatisticsDTO; import com.xiaopeng.api.dto.statistics.StatisticsQueryDTO; import com.xiaopeng.api.dto.vehicleConvoy.BaseVehicleUserDto; import com.xiaopeng.api.feignClient.account.SysGroupMenuClient; import com.xiaopeng.api.feignClient.vehicleConvoy.VehicleMacClient; import com.xiaopeng.api.feignClient.vehicleConvoy.XpVehicleClient; import com.xiaopeng.api.model.order.XpOrder; @@ -97,6 +98,8 @@ @Resource private VehicleMacClient vehicleMacClient; @Resource private SysGroupMenuClient groupMenuClient; @@ -225,6 +228,7 @@ @PostMapping("/api/v1/order/pageList") public R<PageInfo<XpOrderPageVO>> pageList( @RequestBody XpOrderPageQuery query) { PageInfo<XpOrderPageVO> pageInfo = xpOrderService.pageList(query); pageInfo.getRecords().forEach(s->s.setPhoneNumber(groupMenuClient.getPhoneDesensitization(s.getPhoneNumber()).getData())); return R.ok(pageInfo); } @@ -238,6 +242,7 @@ @GetMapping("/api/v1/order/queryById") public R<XpOrderDetailVO> queryById(@ApiParam(value = "订单id", required = true) @RequestParam Long id) { XpOrderDetailVO detail = xpOrderService.getOrderDetail(id); detail.setPhoneNumber(groupMenuClient.getPhoneDesensitization(detail.getPhoneNumber()).getData()); return R.ok(detail); } xp-robotaxi-order-boot/src/main/java/com/xiaopeng/order/controller/XpOrderEvaluateController.java
@@ -1,5 +1,6 @@ package com.xiaopeng.order.controller; import com.xiaopeng.api.feignClient.account.SysGroupMenuClient; import com.xiaopeng.common.core.domain.R; import com.xiaopeng.common.core.web.page.PageInfo; import com.xiaopeng.order.model.query.OrderEvaluatePageQuery; @@ -28,6 +29,8 @@ @Resource private IXpOrderEvaluateService xpOrderEvaluateService; @Resource private SysGroupMenuClient groupMenuClient; /** * 订单评价分页列表查询 @@ -39,6 +42,7 @@ @PostMapping("/pageList") public R<PageInfo<OrderEvaluatePageVO>> pageList(@Validated @RequestBody OrderEvaluatePageQuery query) { PageInfo<OrderEvaluatePageVO> pageInfo = xpOrderEvaluateService.pageList(query); pageInfo.getRecords().forEach(s->s.setPhoneNumber(groupMenuClient.getPhoneDesensitization(s.getPhoneNumber()).getData())); return R.ok(pageInfo); } } xp-robotaxi-order-boot/src/main/java/com/xiaopeng/order/service/impl/XpOrderServiceImpl.java
@@ -11,6 +11,7 @@ import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.google.common.collect.ImmutableMap; import com.xiaopeng.api.dto.WeatherDTO; import com.xiaopeng.api.dto.account.GetUserCouponDto; import com.xiaopeng.api.dto.account.UcUserInfo; import com.xiaopeng.api.dto.account.UseUserCouponDto; @@ -2449,14 +2450,31 @@ // 当前费率+(费率*上升百分比) priceRate = new BigDecimal(priceRate).multiply(divide).add(new BigDecimal(priceRate)).setScale(2, RoundingMode.HALF_UP).doubleValue(); } // 天气预报动态调价 JSONArray ws = jsonObject.getJSONArray("weather"); if(null != ws){ WeatherDTO data = xpMapClient.wether(order.getCityCode()).getData(); List<WeatherDTO.Lives> lives = data.getLives(); if(lives!=null && !lives.isEmpty()){ String w = lives.get(0).getWeather(); for (Object o : ws) { JSONObject ele = JSONObject.parseObject(o.toString()); if(w.contains(ele.getString("weatherType"))){ double floatRate = jsonObject.getDouble("ratio"); priceRate = new BigDecimal(priceRate).add(new BigDecimal(floatRate)).doubleValue(); break; } } } } // 冷却时间 Integer time = getOrderNum(jsonObject, 6); // 触发调价了 redisService.setCacheObject("USER_DYNAMIC_PRICE_" + order.getCityId() + "_" + uid, priceRate, time.longValue(), TimeUnit.MINUTES); } //天气预报动态调价 } } xp-robotaxi-vehicle-convoy-boot/src/main/java/com/xiaopeng/vehicleConvoy/controller/XpFleetController.java
@@ -2,6 +2,7 @@ import com.baomidou.mybatisplus.core.toolkit.Wrappers; import com.xiaopeng.api.dto.open_api.BrandInfo; import com.xiaopeng.api.feignClient.account.SysGroupMenuClient; import com.xiaopeng.api.feignClient.account.XpOperationsUserClient; import com.xiaopeng.api.model.account.XpOperationsUser; import com.xiaopeng.api.model.vehicleConvoy.XpFleet; @@ -25,6 +26,7 @@ import org.springframework.util.CollectionUtils; import org.springframework.web.bind.annotation.*; import javax.annotation.Resource; import javax.validation.Valid; import java.util.ArrayList; import java.util.List; @@ -46,6 +48,8 @@ private final IXpFleetService xpFleetService; private final IXpFleetOperationsService xpFleetOperationsService; @Resource private SysGroupMenuClient groupMenuClient; /** * 根据车队名字模糊查询车队人员 @@ -144,7 +148,9 @@ @ApiOperation(value = "查询车队详情", tags = {"管理后台-车队管理"}) @GetMapping("/api/v1/fleet/queryById") public R<FleetDetailVO> queryById(@RequestParam Long id) { return xpFleetService.queryById(id); R<FleetDetailVO> fleetDetailVOR = xpFleetService.queryById(id); fleetDetailVOR.getData().setPhoneNumber(groupMenuClient.getPhoneDesensitization(fleetDetailVOR.getData().getPhoneNumber()).getData()); return fleetDetailVOR; } /** @@ -156,7 +162,9 @@ @ApiOperation(value = "车队分页列表", tags = {"管理后台-车队管理"}) @PostMapping("/api/v1/fleet/pageList") public R<PageInfo<FleetPageVO>> pageList(@Valid @RequestBody FleetPageQuery query) { return xpFleetService.pageList(query); R<PageInfo<FleetPageVO>> pageInfoR = xpFleetService.pageList(query); pageInfoR.getData().getRecords().forEach(s->s.setPhoneNumber(groupMenuClient.getPhoneDesensitization(s.getPhoneNumber()).getData())); return pageInfoR; } /**