Commit 0083d1240423338605ab8ec3ea03633d0f3d543c
1 parent
53e9be73
mall:review + mall:快递费用
Showing
6 changed files
with
50 additions
and
29 deletions
yudao-module-mall/yudao-module-trade-biz/src/main/java/cn/iocoder/yudao/module/trade/controller/admin/delivery/DeliveryExpressController.java
| @@ -74,6 +74,7 @@ public class DeliveryExpressController { | @@ -74,6 +74,7 @@ public class DeliveryExpressController { | ||
| 74 | return success(DeliveryExpressConvert.INSTANCE.convertPage(pageResult)); | 74 | return success(DeliveryExpressConvert.INSTANCE.convertPage(pageResult)); |
| 75 | } | 75 | } |
| 76 | 76 | ||
| 77 | + // TODO @jason:运费模版,可以去掉哈,没啥用; | ||
| 77 | @GetMapping("/export-excel") | 78 | @GetMapping("/export-excel") |
| 78 | @Operation(summary = "导出快递公司 Excel") | 79 | @Operation(summary = "导出快递公司 Excel") |
| 79 | @PreAuthorize("@ss.hasPermission('trade:delivery:express:export')") | 80 | @PreAuthorize("@ss.hasPermission('trade:delivery:express:export')") |
yudao-module-mall/yudao-module-trade-biz/src/main/java/cn/iocoder/yudao/module/trade/convert/delivery/DeliveryExpressTemplateConvert.java
| 1 | package cn.iocoder.yudao.module.trade.convert.delivery; | 1 | package cn.iocoder.yudao.module.trade.convert.delivery; |
| 2 | 2 | ||
| 3 | -import java.util.*; | ||
| 4 | - | ||
| 5 | import cn.hutool.core.collection.CollUtil; | 3 | import cn.hutool.core.collection.CollUtil; |
| 6 | import cn.iocoder.yudao.framework.common.pojo.PageResult; | 4 | import cn.iocoder.yudao.framework.common.pojo.PageResult; |
| 7 | - | ||
| 8 | import cn.iocoder.yudao.module.trade.controller.admin.delivery.vo.*; | 5 | import cn.iocoder.yudao.module.trade.controller.admin.delivery.vo.*; |
| 9 | import cn.iocoder.yudao.module.trade.dal.dataobject.delivery.DeliveryExpressTemplateChargeDO; | 6 | import cn.iocoder.yudao.module.trade.dal.dataobject.delivery.DeliveryExpressTemplateChargeDO; |
| 10 | import cn.iocoder.yudao.module.trade.dal.dataobject.delivery.DeliveryExpressTemplateDO; | 7 | import cn.iocoder.yudao.module.trade.dal.dataobject.delivery.DeliveryExpressTemplateDO; |
| @@ -12,6 +9,10 @@ import cn.iocoder.yudao.module.trade.dal.dataobject.delivery.DeliveryExpressTemp | @@ -12,6 +9,10 @@ import cn.iocoder.yudao.module.trade.dal.dataobject.delivery.DeliveryExpressTemp | ||
| 12 | import org.mapstruct.Mapper; | 9 | import org.mapstruct.Mapper; |
| 13 | import org.mapstruct.factory.Mappers; | 10 | import org.mapstruct.factory.Mappers; |
| 14 | 11 | ||
| 12 | +import java.util.ArrayList; | ||
| 13 | +import java.util.Collections; | ||
| 14 | +import java.util.List; | ||
| 15 | + | ||
| 15 | /** | 16 | /** |
| 16 | * 快递运费模板 Convert | 17 | * 快递运费模板 Convert |
| 17 | * | 18 | * |
| @@ -22,6 +23,8 @@ public interface DeliveryExpressTemplateConvert { | @@ -22,6 +23,8 @@ public interface DeliveryExpressTemplateConvert { | ||
| 22 | 23 | ||
| 23 | DeliveryExpressTemplateConvert INSTANCE = Mappers.getMapper(DeliveryExpressTemplateConvert.class); | 24 | DeliveryExpressTemplateConvert INSTANCE = Mappers.getMapper(DeliveryExpressTemplateConvert.class); |
| 24 | 25 | ||
| 26 | + // ========== Template ========== | ||
| 27 | + | ||
| 25 | DeliveryExpressTemplateDO convert(DeliveryExpressTemplateCreateReqVO bean); | 28 | DeliveryExpressTemplateDO convert(DeliveryExpressTemplateCreateReqVO bean); |
| 26 | 29 | ||
| 27 | DeliveryExpressTemplateDO convert(DeliveryExpressTemplateUpdateReqVO bean); | 30 | DeliveryExpressTemplateDO convert(DeliveryExpressTemplateUpdateReqVO bean); |
| @@ -36,32 +39,46 @@ public interface DeliveryExpressTemplateConvert { | @@ -36,32 +39,46 @@ public interface DeliveryExpressTemplateConvert { | ||
| 36 | 39 | ||
| 37 | List<DeliveryExpressTemplateExcelVO> convertList02(List<DeliveryExpressTemplateDO> list); | 40 | List<DeliveryExpressTemplateExcelVO> convertList02(List<DeliveryExpressTemplateDO> list); |
| 38 | 41 | ||
| 39 | - DeliveryExpressTemplateChargeDO convertTemplateCharge(Long templateId, Integer chargeMode, ExpressTemplateChargeBaseVO vo); | ||
| 40 | - | ||
| 41 | - DeliveryExpressTemplateChargeDO convertTemplateCharge(ExpressTemplateChargeUpdateVO vo); | ||
| 42 | - | ||
| 43 | - DeliveryExpressTemplateFreeDO convertTemplateFree(Long templateId, ExpressTemplateFreeBaseVO vo); | 42 | + default DeliveryExpressTemplateRespVO convert(DeliveryExpressTemplateDO bean, |
| 43 | + List<DeliveryExpressTemplateChargeDO> chargeList, | ||
| 44 | + List<DeliveryExpressTemplateFreeDO> freeList){ | ||
| 45 | + DeliveryExpressTemplateRespVO respVO = convert2(bean); | ||
| 46 | + respVO.setTemplateCharge(convertTemplateChargeList(chargeList)); | ||
| 47 | + respVO.setTemplateFree(convertTemplateFreeList(freeList)); | ||
| 48 | + return respVO; | ||
| 49 | + } | ||
| 44 | 50 | ||
| 45 | - DeliveryExpressTemplateFreeDO convertTemplateFree(ExpressTemplateFreeUpdateVO vo); | 51 | + // ========== Template Charge ========== |
| 46 | 52 | ||
| 47 | - List<ExpressTemplateChargeBaseVO> convertTemplateChargeList(List<DeliveryExpressTemplateChargeDO> list); | 53 | + DeliveryExpressTemplateChargeDO convertTemplateCharge(Long templateId, Integer chargeMode, ExpressTemplateChargeBaseVO vo); |
| 48 | 54 | ||
| 49 | - List<ExpressTemplateFreeBaseVO> convertTemplateFreeList(List<DeliveryExpressTemplateFreeDO> list); | 55 | + DeliveryExpressTemplateChargeDO convertTemplateCharge(ExpressTemplateChargeUpdateVO vo); |
| 50 | 56 | ||
| 51 | - default List<DeliveryExpressTemplateChargeDO> convertTemplateChargeList(Long templateId, Integer chargeMode, List<ExpressTemplateChargeBaseVO> list){ | 57 | + default List<DeliveryExpressTemplateChargeDO> convertTemplateChargeList(Long templateId, Integer chargeMode, List<ExpressTemplateChargeBaseVO> list) { |
| 58 | + // TODO @jason:可以使用 CollectionUtils.convertList,本质上就是 stream convert list | ||
| 52 | if(CollUtil.isEmpty(list)){ | 59 | if(CollUtil.isEmpty(list)){ |
| 53 | return Collections.emptyList(); | 60 | return Collections.emptyList(); |
| 54 | } | 61 | } |
| 55 | - List<DeliveryExpressTemplateChargeDO> templateChargeList = new ArrayList<>( list.size() ); | 62 | + List<DeliveryExpressTemplateChargeDO> templateChargeList = new ArrayList<>(list.size()); |
| 56 | for (ExpressTemplateChargeBaseVO item : list) { | 63 | for (ExpressTemplateChargeBaseVO item : list) { |
| 57 | templateChargeList.add(convertTemplateCharge(templateId, chargeMode, item)); | 64 | templateChargeList.add(convertTemplateCharge(templateId, chargeMode, item)); |
| 58 | } | 65 | } |
| 59 | return templateChargeList; | 66 | return templateChargeList; |
| 60 | } | 67 | } |
| 61 | 68 | ||
| 69 | + // ========== Template Free ========== | ||
| 70 | + | ||
| 71 | + DeliveryExpressTemplateFreeDO convertTemplateFree(Long templateId, ExpressTemplateFreeBaseVO vo); | ||
| 72 | + | ||
| 73 | + DeliveryExpressTemplateFreeDO convertTemplateFree(ExpressTemplateFreeUpdateVO vo); | ||
| 74 | + | ||
| 75 | + List<ExpressTemplateChargeBaseVO> convertTemplateChargeList(List<DeliveryExpressTemplateChargeDO> list); | ||
| 62 | 76 | ||
| 77 | + List<ExpressTemplateFreeBaseVO> convertTemplateFreeList(List<DeliveryExpressTemplateFreeDO> list); | ||
| 63 | 78 | ||
| 79 | + // TODO @jason:, List,中间一个空格哈。代码的空格和空行要注意,嘿嘿~ | ||
| 64 | default List<DeliveryExpressTemplateFreeDO> convertTemplateFreeList(Long templateId, List<ExpressTemplateFreeBaseVO> list) { | 80 | default List<DeliveryExpressTemplateFreeDO> convertTemplateFreeList(Long templateId, List<ExpressTemplateFreeBaseVO> list) { |
| 81 | + // TODO @jason:可以使用 CollectionUtils.convertList,本质上就是 stream convert list | ||
| 65 | if (CollUtil.isEmpty(list)) { | 82 | if (CollUtil.isEmpty(list)) { |
| 66 | return Collections.emptyList(); | 83 | return Collections.emptyList(); |
| 67 | } | 84 | } |
| @@ -72,12 +89,4 @@ public interface DeliveryExpressTemplateConvert { | @@ -72,12 +89,4 @@ public interface DeliveryExpressTemplateConvert { | ||
| 72 | return templateFreeList; | 89 | return templateFreeList; |
| 73 | } | 90 | } |
| 74 | 91 | ||
| 75 | - default DeliveryExpressTemplateRespVO convert(DeliveryExpressTemplateDO bean, | ||
| 76 | - List<DeliveryExpressTemplateChargeDO> chargeList, | ||
| 77 | - List<DeliveryExpressTemplateFreeDO> freeList){ | ||
| 78 | - DeliveryExpressTemplateRespVO respVO = convert2(bean); | ||
| 79 | - respVO.setTemplateCharge(convertTemplateChargeList(chargeList)); | ||
| 80 | - respVO.setTemplateFree(convertTemplateFreeList(freeList)); | ||
| 81 | - return respVO; | ||
| 82 | - } | ||
| 83 | } | 92 | } |
yudao-module-mall/yudao-module-trade-biz/src/main/java/cn/iocoder/yudao/module/trade/dal/mysql/delivery/DeliveryExpressTemplateMapper.java
| @@ -3,11 +3,9 @@ package cn.iocoder.yudao.module.trade.dal.mysql.delivery; | @@ -3,11 +3,9 @@ package cn.iocoder.yudao.module.trade.dal.mysql.delivery; | ||
| 3 | 3 | ||
| 4 | import cn.iocoder.yudao.framework.common.pojo.PageResult; | 4 | import cn.iocoder.yudao.framework.common.pojo.PageResult; |
| 5 | import cn.iocoder.yudao.framework.mybatis.core.mapper.BaseMapperX; | 5 | import cn.iocoder.yudao.framework.mybatis.core.mapper.BaseMapperX; |
| 6 | - | ||
| 7 | import cn.iocoder.yudao.framework.mybatis.core.query.LambdaQueryWrapperX; | 6 | import cn.iocoder.yudao.framework.mybatis.core.query.LambdaQueryWrapperX; |
| 8 | import cn.iocoder.yudao.module.trade.controller.admin.delivery.vo.DeliveryExpressTemplateExportReqVO; | 7 | import cn.iocoder.yudao.module.trade.controller.admin.delivery.vo.DeliveryExpressTemplateExportReqVO; |
| 9 | import cn.iocoder.yudao.module.trade.controller.admin.delivery.vo.DeliveryExpressTemplatePageReqVO; | 8 | import cn.iocoder.yudao.module.trade.controller.admin.delivery.vo.DeliveryExpressTemplatePageReqVO; |
| 10 | -import cn.iocoder.yudao.module.trade.dal.dataobject.delivery.DeliveryExpressDO; | ||
| 11 | import cn.iocoder.yudao.module.trade.dal.dataobject.delivery.DeliveryExpressTemplateDO; | 9 | import cn.iocoder.yudao.module.trade.dal.dataobject.delivery.DeliveryExpressTemplateDO; |
| 12 | import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; | 10 | import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; |
| 13 | import org.apache.ibatis.annotations.Mapper; | 11 | import org.apache.ibatis.annotations.Mapper; |
| @@ -33,8 +31,10 @@ public interface DeliveryExpressTemplateMapper extends BaseMapperX<DeliveryExpre | @@ -33,8 +31,10 @@ public interface DeliveryExpressTemplateMapper extends BaseMapperX<DeliveryExpre | ||
| 33 | .orderByAsc(DeliveryExpressTemplateDO::getSort)); | 31 | .orderByAsc(DeliveryExpressTemplateDO::getSort)); |
| 34 | } | 32 | } |
| 35 | 33 | ||
| 34 | + // TODO @jason:可以用 selectOne(DeliveryExpressTemplateDO::getName, name),常用的我封装了哈。简洁一点~ | ||
| 36 | default DeliveryExpressTemplateDO selectByName(String name) { | 35 | default DeliveryExpressTemplateDO selectByName(String name) { |
| 37 | return selectOne(new LambdaQueryWrapper<DeliveryExpressTemplateDO>() | 36 | return selectOne(new LambdaQueryWrapper<DeliveryExpressTemplateDO>() |
| 38 | .eq(DeliveryExpressTemplateDO::getName, name)); | 37 | .eq(DeliveryExpressTemplateDO::getName, name)); |
| 39 | } | 38 | } |
| 39 | + | ||
| 40 | } | 40 | } |
yudao-module-mall/yudao-module-trade-biz/src/main/java/cn/iocoder/yudao/module/trade/service/delivery/DeliveryExpressTemplateServiceImpl.java
| @@ -36,6 +36,7 @@ public class DeliveryExpressTemplateServiceImpl implements DeliveryExpressTempla | @@ -36,6 +36,7 @@ public class DeliveryExpressTemplateServiceImpl implements DeliveryExpressTempla | ||
| 36 | private DeliveryExpressTemplateChargeMapper expressTemplateChargeMapper; | 36 | private DeliveryExpressTemplateChargeMapper expressTemplateChargeMapper; |
| 37 | @Resource | 37 | @Resource |
| 38 | private DeliveryExpressTemplateFreeMapper expressTemplateFreeMapper; | 38 | private DeliveryExpressTemplateFreeMapper expressTemplateFreeMapper; |
| 39 | + // TODO @jason:应该不用 BatchInsertMapper 拉,直接走 expressTemplateChargeMapper.insertBatch | ||
| 39 | @Resource | 40 | @Resource |
| 40 | private DeliveryExpressTemplateChargeMapper.BatchInsertMapper expressTemplateChargeBatchMapper; | 41 | private DeliveryExpressTemplateChargeMapper.BatchInsertMapper expressTemplateChargeBatchMapper; |
| 41 | @Resource | 42 | @Resource |
| @@ -44,12 +45,15 @@ public class DeliveryExpressTemplateServiceImpl implements DeliveryExpressTempla | @@ -44,12 +45,15 @@ public class DeliveryExpressTemplateServiceImpl implements DeliveryExpressTempla | ||
| 44 | @Override | 45 | @Override |
| 45 | @Transactional(rollbackFor = Exception.class) | 46 | @Transactional(rollbackFor = Exception.class) |
| 46 | public Long createDeliveryExpressTemplate(DeliveryExpressTemplateCreateReqVO createReqVO) { | 47 | public Long createDeliveryExpressTemplate(DeliveryExpressTemplateCreateReqVO createReqVO) { |
| 48 | + // TODO @jason:中英文之间,要有空格哈。例如说, // 校验模板名是否唯一 | ||
| 47 | //校验模板名是否唯一 | 49 | //校验模板名是否唯一 |
| 48 | validateTemplateNameUnique(createReqVO.getName(), null); | 50 | validateTemplateNameUnique(createReqVO.getName(), null); |
| 51 | + | ||
| 49 | // 插入 | 52 | // 插入 |
| 50 | DeliveryExpressTemplateDO deliveryExpressTemplate = INSTANCE.convert(createReqVO); | 53 | DeliveryExpressTemplateDO deliveryExpressTemplate = INSTANCE.convert(createReqVO); |
| 51 | expressTemplateMapper.insert(deliveryExpressTemplate); | 54 | expressTemplateMapper.insert(deliveryExpressTemplate); |
| 52 | //插入运费模板计费表 | 55 | //插入运费模板计费表 |
| 56 | + // TODO @jason:if (,中间要有空格 | ||
| 53 | if(CollUtil.isNotEmpty(createReqVO.getTemplateCharge())) { | 57 | if(CollUtil.isNotEmpty(createReqVO.getTemplateCharge())) { |
| 54 | expressTemplateChargeBatchMapper.saveBatch( | 58 | expressTemplateChargeBatchMapper.saveBatch( |
| 55 | INSTANCE.convertTemplateChargeList(deliveryExpressTemplate.getId(), createReqVO.getChargeMode(), createReqVO.getTemplateCharge()) | 59 | INSTANCE.convertTemplateChargeList(deliveryExpressTemplate.getId(), createReqVO.getChargeMode(), createReqVO.getTemplateCharge()) |
| @@ -121,7 +125,7 @@ public class DeliveryExpressTemplateServiceImpl implements DeliveryExpressTempla | @@ -121,7 +125,7 @@ public class DeliveryExpressTemplateServiceImpl implements DeliveryExpressTempla | ||
| 121 | //更新运费区域列表 | 125 | //更新运费区域列表 |
| 122 | List<DeliveryExpressTemplateChargeDO> updateList = new ArrayList<>(newChargeList.size()); | 126 | List<DeliveryExpressTemplateChargeDO> updateList = new ArrayList<>(newChargeList.size()); |
| 123 | for (ExpressTemplateChargeUpdateVO item : newChargeList) { | 127 | for (ExpressTemplateChargeUpdateVO item : newChargeList) { |
| 124 | - if (Objects.nonNull(item.getId())) { | 128 | + if (Objects.nonNull(item.getId())) { // TODO @jason:null 的判断,还是用 item.getId() != null 好一点。一般数组用方法,主要考虑 null + length = 0; |
| 125 | //计费模式以主表为准 | 129 | //计费模式以主表为准 |
| 126 | item.setChargeMode(updateReqVO.getChargeMode()); | 130 | item.setChargeMode(updateReqVO.getChargeMode()); |
| 127 | updateList.add(INSTANCE.convertTemplateCharge(item)); | 131 | updateList.add(INSTANCE.convertTemplateCharge(item)); |
| @@ -131,7 +135,7 @@ public class DeliveryExpressTemplateServiceImpl implements DeliveryExpressTempla | @@ -131,7 +135,7 @@ public class DeliveryExpressTemplateServiceImpl implements DeliveryExpressTempla | ||
| 131 | addList.add(INSTANCE.convertTemplateCharge(item)); | 135 | addList.add(INSTANCE.convertTemplateCharge(item)); |
| 132 | } | 136 | } |
| 133 | } | 137 | } |
| 134 | - //删除的运费区域id | 138 | + //删除的运费区域id TODO @jason:这块放到删除部分的那块逻辑会好点(149 - 152 行),主要变量要贴相应的逻辑近一点哈。 |
| 135 | Set<Long> deleteChargeIds = CollectionUtils.convertSet(oldChargeList, DeliveryExpressTemplateChargeDO::getId); | 139 | Set<Long> deleteChargeIds = CollectionUtils.convertSet(oldChargeList, DeliveryExpressTemplateChargeDO::getId); |
| 136 | deleteChargeIds.removeAll(CollectionUtils.convertSet(updateList, DeliveryExpressTemplateChargeDO::getId)); | 140 | deleteChargeIds.removeAll(CollectionUtils.convertSet(updateList, DeliveryExpressTemplateChargeDO::getId)); |
| 137 | //新增 | 141 | //新增 |
| @@ -153,6 +157,7 @@ public class DeliveryExpressTemplateServiceImpl implements DeliveryExpressTempla | @@ -153,6 +157,7 @@ public class DeliveryExpressTemplateServiceImpl implements DeliveryExpressTempla | ||
| 153 | public void deleteDeliveryExpressTemplate(Long id) { | 157 | public void deleteDeliveryExpressTemplate(Long id) { |
| 154 | // 校验存在 | 158 | // 校验存在 |
| 155 | validateDeliveryExpressTemplateExists(id); | 159 | validateDeliveryExpressTemplateExists(id); |
| 160 | + | ||
| 156 | // 删除主表 | 161 | // 删除主表 |
| 157 | expressTemplateMapper.deleteById(id); | 162 | expressTemplateMapper.deleteById(id); |
| 158 | // 删除运费从表 | 163 | // 删除运费从表 |
| @@ -162,9 +167,9 @@ public class DeliveryExpressTemplateServiceImpl implements DeliveryExpressTempla | @@ -162,9 +167,9 @@ public class DeliveryExpressTemplateServiceImpl implements DeliveryExpressTempla | ||
| 162 | } | 167 | } |
| 163 | 168 | ||
| 164 | /** | 169 | /** |
| 165 | - * 校验运费模板名是否唯一 | 170 | + * 校验运费模板名是否唯一 // TODO @jason:方法注释,和参数,要空一行。 |
| 166 | * @param name 模板名称 | 171 | * @param name 模板名称 |
| 167 | - * @param id 运费模板编号, 可以为null | 172 | + * @param id 运费模板编号, 可以为null // TODO @jason:中英文之间,要空一行;其它地方也看看哈 |
| 168 | */ | 173 | */ |
| 169 | private void validateTemplateNameUnique(String name, Long id) { | 174 | private void validateTemplateNameUnique(String name, Long id) { |
| 170 | DeliveryExpressTemplateDO template = expressTemplateMapper.selectByName(name); | 175 | DeliveryExpressTemplateDO template = expressTemplateMapper.selectByName(name); |
yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/controller/admin/ip/AreaController.java
| @@ -15,7 +15,6 @@ import org.springframework.validation.annotation.Validated; | @@ -15,7 +15,6 @@ import org.springframework.validation.annotation.Validated; | ||
| 15 | import org.springframework.web.bind.annotation.*; | 15 | import org.springframework.web.bind.annotation.*; |
| 16 | 16 | ||
| 17 | import java.util.ArrayList; | 17 | import java.util.ArrayList; |
| 18 | -import java.util.Arrays; | ||
| 19 | import java.util.List; | 18 | import java.util.List; |
| 20 | import java.util.Set; | 19 | import java.util.Set; |
| 21 | 20 | ||
| @@ -35,6 +34,8 @@ public class AreaController { | @@ -35,6 +34,8 @@ public class AreaController { | ||
| 35 | return success(AreaConvert.INSTANCE.convertList(area.getChildren())); | 34 | return success(AreaConvert.INSTANCE.convertList(area.getChildren())); |
| 36 | } | 35 | } |
| 37 | 36 | ||
| 37 | + // TODO @jason:1)url 使用中划线分隔哈,然后可以改成 children;2)id 需要添加 @RequestParam,因为可能会混淆编译; | ||
| 38 | + // 3) swagger 注解要写下哈; | ||
| 38 | @GetMapping("/getChildrenArea") | 39 | @GetMapping("/getChildrenArea") |
| 39 | @Operation(summary = "获得地区的下级区域") | 40 | @Operation(summary = "获得地区的下级区域") |
| 40 | public CommonResult<List<LazyAreaNodeRespVO>> getChildrenArea(Integer id) { | 41 | public CommonResult<List<LazyAreaNodeRespVO>> getChildrenArea(Integer id) { |
| @@ -43,8 +44,10 @@ public class AreaController { | @@ -43,8 +44,10 @@ public class AreaController { | ||
| 43 | return success(AreaConvert.INSTANCE.convertList2(area.getChildren())); | 44 | return success(AreaConvert.INSTANCE.convertList2(area.getChildren())); |
| 44 | } | 45 | } |
| 45 | 46 | ||
| 47 | + // TODO @jason:1)读请求,使用 get 哈。2)然后参数不应该使用 @RequestBody;3)areaIds 改成 ids 更合适; | ||
| 48 | + // 4)方法改成 getAreaChildrenList 获得子节点们;5)url 可以已改成 children-list | ||
| 46 | @PostMapping("/list") | 49 | @PostMapping("/list") |
| 47 | - @Operation(summary = "通过区域ids获得地区列表") | 50 | + @Operation(summary = "通过区域 ids 获得地区列表") |
| 48 | public CommonResult<List<LazyAreaNodeRespVO>> list(@RequestBody Set<Integer> areaIds) { | 51 | public CommonResult<List<LazyAreaNodeRespVO>> list(@RequestBody Set<Integer> areaIds) { |
| 49 | List<Area> areaList = new ArrayList<>(areaIds.size()); | 52 | List<Area> areaList = new ArrayList<>(areaIds.size()); |
| 50 | for (Integer areaId : areaIds) { | 53 | for (Integer areaId : areaIds) { |
yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/controller/admin/ip/vo/LazyAreaNodeRespVO.java
| @@ -3,6 +3,7 @@ package cn.iocoder.yudao.module.system.controller.admin.ip.vo; | @@ -3,6 +3,7 @@ package cn.iocoder.yudao.module.system.controller.admin.ip.vo; | ||
| 3 | import io.swagger.v3.oas.annotations.media.Schema; | 3 | import io.swagger.v3.oas.annotations.media.Schema; |
| 4 | import lombok.Data; | 4 | import lombok.Data; |
| 5 | 5 | ||
| 6 | +// TODO @jason:1)VO 不添加注释作者哈。2)是不是改成 AreaNodeSimpleRespVO,它其实是返回一个简洁的地区,懒加载只是它的使用场景; | ||
| 6 | /** | 7 | /** |
| 7 | * @author jason | 8 | * @author jason |
| 8 | */ | 9 | */ |
| @@ -16,6 +17,8 @@ public class LazyAreaNodeRespVO { | @@ -16,6 +17,8 @@ public class LazyAreaNodeRespVO { | ||
| 16 | @Schema(description = "名字", required = true, example = "北京") | 17 | @Schema(description = "名字", required = true, example = "北京") |
| 17 | private String name; | 18 | private String name; |
| 18 | 19 | ||
| 20 | + // TODO @jason:1)不设置默认值,交给业务逻辑那写入;2)这个字段必须返回哇? | ||
| 19 | @Schema(description = "是否叶子节点", required = true, example = "false") | 21 | @Schema(description = "是否叶子节点", required = true, example = "false") |
| 20 | private Boolean leaf = Boolean.FALSE; | 22 | private Boolean leaf = Boolean.FALSE; |
| 23 | + | ||
| 21 | } | 24 | } |