xp-robotaxi-api/src/main/java/com/xiaopeng/api/model/operation/XpPricing.java
@@ -41,7 +41,7 @@ @ApiModelProperty(value = "城市id") @TableField("city_id") private Integer cityId; private Long cityId; @ApiModelProperty(value = "城市名称") @TableField(exist = false) xp-robotaxi-api/src/main/java/com/xiaopeng/api/model/operation/XpSystemSetting.java
@@ -46,6 +46,7 @@ private Integer minOrderDistance; @ApiModelProperty(value = "到达目的地后X分钟后自动结束行程") @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8") @TableField("arrive_time") private Integer arriveTime; xp-robotaxi-operation-boot/src/main/java/com/xiaopeng/operation/controller/XpFrequentlyAskedQuestionsController.java
@@ -48,23 +48,17 @@ } @GetMapping("/api/v1/frequently-asked-questions/getList") @ApiOperation(value = "获取常见问题列表",tags = {"管理后台-内容中心"},response = XpFrequentlyAskedQuestions.class) @ApiOperation(value = "获取常见问题列表", tags = {"管理后台-内容中心"}, response = XpFrequentlyAskedQuestions.class) public R<List<XpFrequentlyAskedQuestions>> getQuestionList() { List<XpFrequentlyAskedQuestions> list = xpFrequentlyAskedQuestionsService.list(); return R.ok(list); } @ApiOperation(value = "保存常见问题") @ApiOperation(value = "保存常见问题", tags = {"管理后台-内容中心"}) @PostMapping("/api/v1/frequently-asked-questions/save") public R<?> saveQuestion(@RequestBody XpFrequentlyAskedQuestionsDTO dto) { xpFrequentlyAskedQuestionsService.saveQuestion(dto); return R.ok(); } @ApiOperation(value = "删除常见问题") @DeleteMapping("/api/v1/frequently-asked-questions/delete/{id}") public R<?> deleteQuestion(@PathVariable Long id) { xpFrequentlyAskedQuestionsService.removeById(id); return R.ok(); } } xp-robotaxi-operation-boot/src/main/java/com/xiaopeng/operation/controller/XpPricingController.java
@@ -15,10 +15,7 @@ import com.xiaopeng.common.core.web.controller.BaseController; import com.xiaopeng.common.core.web.page.PageInfo; import com.xiaopeng.operation.constant.I18nKeyConstant; import com.xiaopeng.operation.dto.PricingAddDTO; import com.xiaopeng.operation.dto.PricingSetPriceDTO; import com.xiaopeng.operation.dto.PricingSetRuleDTO; import com.xiaopeng.operation.dto.XpOrderDto; import com.xiaopeng.operation.dto.*; import com.xiaopeng.operation.query.PricingPageListQuery; import com.xiaopeng.operation.service.*; import com.xiaopeng.operation.vo.PricingPageListVO; @@ -181,9 +178,14 @@ @PostMapping("/api/v1/pricing/add") @ApiOperation(value = "管理后台-新增定价", tags = {"管理后台-定价管理"}) public R<?> add(@Valid @RequestBody PricingAddDTO dto) { xpPricingService.add(dto); return R.ok(); public R<Long> add(@Valid @RequestBody PricingAddDTO dto) { return R.ok(xpPricingService.add(dto)); } @PostMapping("/api/v1/pricing/edit") @ApiOperation(value = "管理后台-编辑定价", tags = {"管理后台-定价管理"}) public R<?> edit(@Valid @RequestBody PricingEditDTO dto) { return R.ok(xpPricingService.edit(dto)); } @PostMapping("/api/v1/pricing/setPrice") xp-robotaxi-operation-boot/src/main/java/com/xiaopeng/operation/controller/XpSystemSettingController.java
@@ -13,6 +13,7 @@ import lombok.extern.slf4j.Slf4j; import org.springframework.validation.annotation.Validated; import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.RequestBody; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RestController; @@ -79,4 +80,10 @@ return R.ok(xpSystemSettingService.lambdaQuery().last("limit 1").one()); } @ApiOperation(value = "保存系统配置、热修复", tags = {"管理后台-系统"}) @GetMapping("/api/v1/systemSetting/save") public R<?> saveSystemSetting(@RequestBody XpSystemSetting xpSystemSetting){ xpSystemSettingService.saveSystemSetting(xpSystemSetting); return R.ok(); } } xp-robotaxi-operation-boot/src/main/java/com/xiaopeng/operation/dto/PricingEditDTO.java
New file @@ -0,0 +1,24 @@ package com.xiaopeng.operation.dto; import io.swagger.annotations.ApiModel; import io.swagger.annotations.ApiModelProperty; import lombok.Data; import lombok.EqualsAndHashCode; import javax.validation.constraints.Max; import javax.validation.constraints.Min; import javax.validation.constraints.NotBlank; import javax.validation.constraints.NotNull; /** * 定价新增数据传输对象 */ @Data @EqualsAndHashCode(callSuper = true) @ApiModel(value = "定价新增数据传输对象") public class PricingEditDTO extends PricingAddDTO{ @ApiModelProperty(value = "id", required = true) @NotNull(message = "id不能为空") private Long id; } xp-robotaxi-operation-boot/src/main/java/com/xiaopeng/operation/service/XpOpenCityService.java
@@ -73,5 +73,5 @@ * @param cityId * @return */ String getNameWithCityName(Integer cityId); String getNameWithCityName(Long cityId); } xp-robotaxi-operation-boot/src/main/java/com/xiaopeng/operation/service/XpPricingService.java
@@ -6,12 +6,11 @@ import com.xiaopeng.api.model.operation.XpPricing; import com.xiaopeng.api.vo.operation.RouteAndFareVo; import com.xiaopeng.common.core.web.page.PageInfo; import com.xiaopeng.operation.dto.PricingAddDTO; import com.xiaopeng.operation.dto.PricingSetPriceDTO; import com.xiaopeng.operation.dto.PricingSetRuleDTO; import com.xiaopeng.operation.dto.XpOrderDto; import com.xiaopeng.operation.dto.*; import com.xiaopeng.operation.query.PricingPageListQuery; import com.xiaopeng.operation.vo.PricingPageListVO; import javax.validation.Valid; /** * <p> @@ -64,7 +63,14 @@ * * @param dto 新增参数 */ void add(PricingAddDTO dto); Long add(PricingAddDTO dto); /** * 编辑定价 * @param dto * @return */ Long edit(@Valid PricingEditDTO dto); /** * 管理后台-定价管理-设置价格 @@ -80,4 +86,5 @@ */ void setRule(PricingSetRuleDTO dto); } xp-robotaxi-operation-boot/src/main/java/com/xiaopeng/operation/service/XpSystemSettingService.java
@@ -33,5 +33,9 @@ */ Integer getOrderFinishTime(); /** * 保存系统配置、热修复 * @param xpSystemSetting */ void saveSystemSetting(XpSystemSetting xpSystemSetting); } xp-robotaxi-operation-boot/src/main/java/com/xiaopeng/operation/service/impl/XpFrequentlyAskedQuestionsServiceImpl.java
@@ -23,7 +23,9 @@ @Transactional(rollbackFor = Exception.class) @Override public void saveQuestion(XpFrequentlyAskedQuestionsDTO dto) { //先删除原有的常见问题 remove(null); List<XpFrequentlyAskedQuestions> frequentlyAskedQuestionsList = dto.getFrequentlyAskedQuestionsList(); saveOrUpdateBatch(frequentlyAskedQuestionsList); saveBatch(frequentlyAskedQuestionsList); } } xp-robotaxi-operation-boot/src/main/java/com/xiaopeng/operation/service/impl/XpOpenCityServiceImpl.java
@@ -144,7 +144,7 @@ } @Override public String getNameWithCityName(Integer cityId) { public String getNameWithCityName(Long cityId) { String cityName = ""; XpOpenCity openCity = getById(cityId); if (Objects.nonNull(openCity)) { xp-robotaxi-operation-boot/src/main/java/com/xiaopeng/operation/service/impl/XpPricingServiceImpl.java
@@ -5,6 +5,7 @@ import com.alibaba.fastjson.JSONArray; import com.alibaba.fastjson.JSONObject; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.xiaopeng.api.dto.account.GetUserCouponDto; @@ -31,10 +32,7 @@ import com.xiaopeng.common.core.web.page.PageInfo; import com.xiaopeng.common.redis.service.RedisService; import com.xiaopeng.operation.constant.I18nKeyConstant; import com.xiaopeng.operation.dto.PricingAddDTO; import com.xiaopeng.operation.dto.PricingSetPriceDTO; import com.xiaopeng.operation.dto.PricingSetRuleDTO; import com.xiaopeng.operation.dto.XpOrderDto; import com.xiaopeng.operation.dto.*; import com.xiaopeng.operation.mapper.*; import com.xiaopeng.operation.query.PricingPageListQuery; import com.xiaopeng.operation.service.IXpGeoQueryEntityService; @@ -685,7 +683,7 @@ } @Override public void add(PricingAddDTO dto) { public Long add(PricingAddDTO dto) { XpOpenCity openCity = xpOpenCityMapper.selectById(dto.getCityId()); if (openCity == null) { throw new ServiceException("开通城市不存在"); @@ -703,7 +701,7 @@ XpPricing pricing = new XpPricing(); pricing.setVehicleModel(dto.getVehicleModel()); pricing.setChannel(dto.getChannel()); pricing.setCityId(dto.getCityId().intValue()); pricing.setCityId(dto.getCityId()); pricing.setRemark(dto.getRemark()); pricing.setPricingType(dto.getPricingType()); pricing.setBasicPricingJson("{}"); @@ -711,6 +709,30 @@ pricing.setDynamicPricingJson("{}"); pricing.setIsDynamicPrice(0); this.save(pricing); return pricing.getId(); } @Override public Long edit(PricingEditDTO dto) { //1.查询定价 XpPricing pricing = getById(dto.getId()); if (Objects.nonNull(pricing)) { LambdaUpdateWrapper<XpPricing> updateWrapper = new LambdaUpdateWrapper<>(); //2.判断定价类型是否改变 if (!pricing.getPricingType().equals(dto.getPricingType())) { updateWrapper.set(XpPricing::getBasicPricingJson, null); updateWrapper.set(XpPricing::getStartingFareJson, null); updateWrapper.set(XpPricing::getDynamicPricingJson, null); } updateWrapper.set(XpPricing::getVehicleModel, dto.getVehicleModel()); updateWrapper.set(XpPricing::getChannel, dto.getChannel()); updateWrapper.set(XpPricing::getCityId, dto.getCityId()); updateWrapper.set(StringUtils.isNotBlank(dto.getRemark()), XpPricing::getRemark, dto.getRemark()); updateWrapper.set(XpPricing::getPricingType, dto.getPricingType()); updateWrapper.eq(XpPricing::getId, dto.getId()); update(updateWrapper); } return dto.getId(); } @Override xp-robotaxi-operation-boot/src/main/java/com/xiaopeng/operation/service/impl/XpSystemSettingServiceImpl.java
@@ -6,6 +6,7 @@ import com.xiaopeng.api.model.operation.XpSystemSetting; import com.xiaopeng.operation.service.XpSystemSettingService; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; /** * <p> @@ -44,4 +45,10 @@ } return 15; } @Transactional(rollbackFor = Exception.class) @Override public void saveSystemSetting(XpSystemSetting xpSystemSetting) { saveOrUpdate(xpSystemSetting); } }