From c0f3e4bb04c5f87a33d0d5de109120e956128545 Mon Sep 17 00:00:00 2001 From: fuliqi <fuliqi@qq.com> Date: 星期二, 12 三月 2024 18:33:33 +0800 Subject: [PATCH] Merge remote-tracking branch 'origin/master' --- ycl-server/src/main/java/com/ycl/platform/controller/RegionController.java | 87 +++++++ ycl-pojo/src/main/java/com/ycl/platform/domain/entity/YwPoint.java | 5 ycl-pojo/src/main/java/com/ycl/platform/domain/form/RegionForm.java | 60 +++++ ycl-pojo/src/main/java/com/ycl/platform/domain/query/RegionQuery.java | 43 +++ ycl-server/src/main/java/com/ycl/platform/service/RegionService.java | 77 ++++++ ycl-pojo/src/main/java/com/ycl/platform/domain/form/YwPointForm.java | 3 ycl-pojo/src/main/java/com/ycl/platform/domain/query/YwPointQuery.java | 3 ycl-pojo/src/main/java/com/ycl/platform/domain/vo/YwPointVO.java | 3 ycl-server/src/main/resources/mapper/zgyw/RegionMapper.xml | 18 + ycl-server/src/main/java/com/ycl/platform/service/impl/RegionServiceImpl.java | 205 +++++++++++++++++ ycl-pojo/src/main/java/com/ycl/platform/domain/vo/RegionCascaderVO.java | 27 ++ ycl-pojo/src/main/java/com/ycl/platform/domain/entity/Region.java | 51 ++++ ycl-pojo/src/main/java/com/ycl/platform/domain/vo/RegionVO.java | 52 ++++ ycl-server/src/main/java/com/ycl/platform/mapper/RegionMapper.java | 19 + ycl-common/src/main/java/enumeration/general/RegionLevelEnum.java | 33 ++ ycl-server/src/main/java/com/ycl/platform/service/impl/YwPointServiceImpl.java | 6 16 files changed, 692 insertions(+), 0 deletions(-) diff --git a/ycl-common/src/main/java/enumeration/general/RegionLevelEnum.java b/ycl-common/src/main/java/enumeration/general/RegionLevelEnum.java new file mode 100644 index 0000000..f9b7475 --- /dev/null +++ b/ycl-common/src/main/java/enumeration/general/RegionLevelEnum.java @@ -0,0 +1,33 @@ +package enumeration.general; + +import com.baomidou.mybatisplus.annotation.EnumValue; +import com.fasterxml.jackson.annotation.JsonValue; +import lombok.Getter; + +/** + * 鍦板尯绾у埆 + * + * @author锛歺p + * @date锛�2024/3/12 14:32 + */ +@Getter +public enum RegionLevelEnum { + + CITY("city", "甯�"), + COUNTY("county", "鍖哄幙"), + STREET("street", "琛楅亾"), + ; + + + @EnumValue + private String code; + + @JsonValue + private String value; + + + RegionLevelEnum(String code, String value) { + this.code = code; + this.value = value; + } +} diff --git a/ycl-pojo/src/main/java/com/ycl/platform/domain/entity/Region.java b/ycl-pojo/src/main/java/com/ycl/platform/domain/entity/Region.java new file mode 100644 index 0000000..658d884 --- /dev/null +++ b/ycl-pojo/src/main/java/com/ycl/platform/domain/entity/Region.java @@ -0,0 +1,51 @@ +package com.ycl.platform.domain.entity; + +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableName; +import com.ycl.platform.base.AbsEntity; +import enumeration.general.RegionLevelEnum; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; +import lombok.experimental.Accessors; + +/** + * 鍦板煙 + * + * @author xp + * @since 2024-03-12 + */ +@Data +@Accessors(chain = true) +@TableName("t_region") +@ApiModel(value = "Region瀵硅薄", description = "鍦板煙") +public class Region extends AbsEntity { + + private static final long serialVersionUID = 1L; + + @ApiModelProperty("鍖哄煙鍏ㄧО") + @TableField("full_name") + private String fullName; + + @ApiModelProperty("鍖哄煙绠�绉�") + @TableField("simple_name") + private String simpleName; + + @ApiModelProperty("鍦板煙绾у埆") + @TableField("region_level") + private RegionLevelEnum regionLevel; + + @ApiModelProperty("甯�") + @TableField("city") + private String city; + + @ApiModelProperty("鍖哄幙") + @TableField("county") + private String county; + + @ApiModelProperty("鐖剁骇id") + @TableField("parent_id") + private Integer parentId; + + +} diff --git a/ycl-pojo/src/main/java/com/ycl/platform/domain/entity/YwPoint.java b/ycl-pojo/src/main/java/com/ycl/platform/domain/entity/YwPoint.java index c8b42d2..46aba3e 100644 --- a/ycl-pojo/src/main/java/com/ycl/platform/domain/entity/YwPoint.java +++ b/ycl-pojo/src/main/java/com/ycl/platform/domain/entity/YwPoint.java @@ -53,4 +53,9 @@ @ApiModelProperty("涓婃姤閮ㄩ棬") @TableField("dept_id") private Long deptId; + + @TableField("point_detail") + private String pointDetail; + + } diff --git a/ycl-pojo/src/main/java/com/ycl/platform/domain/form/RegionForm.java b/ycl-pojo/src/main/java/com/ycl/platform/domain/form/RegionForm.java new file mode 100644 index 0000000..747af70 --- /dev/null +++ b/ycl-pojo/src/main/java/com/ycl/platform/domain/form/RegionForm.java @@ -0,0 +1,60 @@ +package com.ycl.platform.domain.form; + +import com.ycl.system.domain.group.Update; +import com.ycl.system.domain.group.Add; +import com.ycl.platform.base.AbsForm; +import com.ycl.platform.domain.entity.Region; +import java.time.LocalDateTime; + +import enumeration.general.RegionLevelEnum; +import org.springframework.beans.BeanUtils; +import jakarta.validation.constraints.NotBlank; +import jakarta.validation.constraints.NotNull; +import org.springframework.lang.NonNull; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; +import lombok.experimental.Accessors; + +/** + * 鍦板煙琛ㄥ崟 + * + * @author xp + * @since 2024-03-12 + */ +@Data +@Accessors(chain = true) +@ApiModel(value = "Region琛ㄥ崟", description = "鍦板煙琛ㄥ崟") +public class RegionForm extends AbsForm { + + @NotBlank(message = "鍖哄煙鍏ㄧО涓嶈兘涓虹┖", groups = {Add.class, Update.class}) + @ApiModelProperty("鍖哄煙鍏ㄧО") + private String fullName; + + @NotBlank(message = "鍖哄煙绠�绉颁笉鑳戒负绌�", groups = {Add.class, Update.class}) + @ApiModelProperty("鍖哄煙绠�绉�") + private String simpleName; + + @ApiModelProperty("鍦板煙绾у埆") + private RegionLevelEnum regionLevel; + + @NotBlank(message = "甯備笉鑳戒负绌�", groups = {Add.class, Update.class}) + @ApiModelProperty("甯�") + private String city; + + @NotBlank(message = "鍖哄幙涓嶈兘涓虹┖", groups = {Add.class, Update.class}) + @ApiModelProperty("鍖哄幙") + private String county; + + @ApiModelProperty("鐖剁骇id") + private Integer parentId; + + public static Region getEntityByForm(@NonNull RegionForm form, Region entity) { + if(entity == null) { + entity = new Region(); + } + BeanUtils.copyProperties(form, entity); + return entity; + } + +} diff --git a/ycl-pojo/src/main/java/com/ycl/platform/domain/form/YwPointForm.java b/ycl-pojo/src/main/java/com/ycl/platform/domain/form/YwPointForm.java index e5fd435..7b8274d 100644 --- a/ycl-pojo/src/main/java/com/ycl/platform/domain/form/YwPointForm.java +++ b/ycl-pojo/src/main/java/com/ycl/platform/domain/form/YwPointForm.java @@ -46,6 +46,9 @@ @ApiModelProperty("杩愮淮鐘舵��") private String status; + + private String pointDetail; + // @NotBlank(message = "澶囨敞涓嶈兘涓虹┖", groups = {Add.class, Update.class}) // @ApiModelProperty("澶囨敞") // private String remark; diff --git a/ycl-pojo/src/main/java/com/ycl/platform/domain/query/RegionQuery.java b/ycl-pojo/src/main/java/com/ycl/platform/domain/query/RegionQuery.java new file mode 100644 index 0000000..0db5840 --- /dev/null +++ b/ycl-pojo/src/main/java/com/ycl/platform/domain/query/RegionQuery.java @@ -0,0 +1,43 @@ +package com.ycl.platform.domain.query; + +import com.fasterxml.jackson.annotation.JsonFormat; +import com.ycl.platform.base.AbsQuery; + +import java.util.Date; +import java.util.List; + +import enumeration.general.RegionLevelEnum; +import org.springframework.lang.NonNull; +import jakarta.validation.constraints.NotBlank; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; +import lombok.experimental.Accessors; + +/** + * 鍦板煙鏌ヨ + * + * @author xp + * @since 2024-03-12 + */ +@Data +@Accessors(chain = true) +@ApiModel(value = "Region鏌ヨ", description = "鍦板煙鏌ヨ") +public class RegionQuery extends AbsQuery { + + private String fullName; + + private String simpleName; + + private Integer parentId; + + private String regionLevel; + + @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss") + private Date start; + + @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss") + private Date end; + +} + diff --git a/ycl-pojo/src/main/java/com/ycl/platform/domain/query/YwPointQuery.java b/ycl-pojo/src/main/java/com/ycl/platform/domain/query/YwPointQuery.java index ca880b0..a27e1f5 100644 --- a/ycl-pojo/src/main/java/com/ycl/platform/domain/query/YwPointQuery.java +++ b/ycl-pojo/src/main/java/com/ycl/platform/domain/query/YwPointQuery.java @@ -20,5 +20,8 @@ @Accessors(chain = true) @ApiModel(value = "YwPoint鏌ヨ", description = "杩愮淮鐐逛綅鏌ヨ") public class YwPointQuery extends AbsQuery { + + private String pointName; + } diff --git a/ycl-pojo/src/main/java/com/ycl/platform/domain/vo/RegionCascaderVO.java b/ycl-pojo/src/main/java/com/ycl/platform/domain/vo/RegionCascaderVO.java new file mode 100644 index 0000000..2c4b97f --- /dev/null +++ b/ycl-pojo/src/main/java/com/ycl/platform/domain/vo/RegionCascaderVO.java @@ -0,0 +1,27 @@ +package com.ycl.platform.domain.vo; + +import enumeration.general.RegionLevelEnum; +import lombok.Data; + +import java.util.List; + +/** + * 鍦板煙绾ц仈 + * + * @author锛歺p + * @date锛�2024/3/12 16:21 + */ +@Data +public class RegionCascaderVO { + + private Integer value; + + private String label; + + private Integer parentId; + + private RegionLevelEnum regionLevel; + + private List<RegionCascaderVO> children; + +} diff --git a/ycl-pojo/src/main/java/com/ycl/platform/domain/vo/RegionVO.java b/ycl-pojo/src/main/java/com/ycl/platform/domain/vo/RegionVO.java new file mode 100644 index 0000000..16d1da7 --- /dev/null +++ b/ycl-pojo/src/main/java/com/ycl/platform/domain/vo/RegionVO.java @@ -0,0 +1,52 @@ +package com.ycl.platform.domain.vo; + +import com.ycl.platform.base.AbsVo; +import com.ycl.platform.domain.entity.Region; +import java.util.List; +import java.time.LocalDateTime; + +import enumeration.general.RegionLevelEnum; +import org.springframework.lang.NonNull; +import org.springframework.beans.BeanUtils; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; +import lombok.experimental.Accessors; + +/** + * 鍦板煙灞曠ず + * + * @author xp + * @since 2024-03-12 + */ +@Data +@Accessors(chain = true) +public class RegionVO extends AbsVo { + + /** 鍖哄煙鍏ㄧО */ + private String fullName; + + /** 鍖哄煙绠�绉� */ + private String simpleName; + + /** 鍦板煙绾у埆 */ + private RegionLevelEnum regionLevel; + + /** 甯� */ + private String city; + + /** 鍖哄幙 */ + private String county; + + /** 鐖剁骇id */ + private Integer parentId; + + public static RegionVO getVoByEntity(@NonNull Region entity, RegionVO vo) { + if(vo == null) { + vo = new RegionVO(); + } + BeanUtils.copyProperties(entity, vo); + return vo; + } + +} diff --git a/ycl-pojo/src/main/java/com/ycl/platform/domain/vo/YwPointVO.java b/ycl-pojo/src/main/java/com/ycl/platform/domain/vo/YwPointVO.java index 56e2a5b..9632866 100644 --- a/ycl-pojo/src/main/java/com/ycl/platform/domain/vo/YwPointVO.java +++ b/ycl-pojo/src/main/java/com/ycl/platform/domain/vo/YwPointVO.java @@ -34,6 +34,7 @@ /** 杩愮淮鍗曚綅 */ private Integer unitId; + private String unitName; private String unitName; /** 杩愮淮鐘舵�� */ @@ -45,6 +46,8 @@ private Short category; private String deptName; + private String pointDetail; + public static YwPointVO getVoByEntity(@NonNull YwPoint entity, YwPointVO vo) { if(vo == null) { vo = new YwPointVO(); diff --git a/ycl-server/src/main/java/com/ycl/platform/controller/RegionController.java b/ycl-server/src/main/java/com/ycl/platform/controller/RegionController.java new file mode 100644 index 0000000..21ccbe0 --- /dev/null +++ b/ycl-server/src/main/java/com/ycl/platform/controller/RegionController.java @@ -0,0 +1,87 @@ +package com.ycl.platform.controller; + +import com.ycl.system.domain.group.Update; +import com.ycl.system.domain.group.Add; +import org.springframework.validation.annotation.Validated; +import lombok.RequiredArgsConstructor; +import java.util.List; +import org.springframework.validation.annotation.Validated; +import jakarta.validation.constraints.NotEmpty; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import com.ycl.platform.service.RegionService; +import com.ycl.system.Result; +import com.ycl.platform.domain.form.RegionForm; +import com.ycl.platform.domain.query.RegionQuery; +import lombok.RequiredArgsConstructor; +import org.springframework.web.bind.annotation.*; + +/** + * 鍦板煙 鍓嶇鎺у埗鍣� + * + * @author xp + * @since 2024-03-12 + */ +@Validated +@RequiredArgsConstructor +@Api(value = "鍦板煙", tags = "鍦板煙绠$悊") +@RestController +@RequestMapping("/region") +public class RegionController { + + private final RegionService regionService; + + @PostMapping + @ApiOperation(value = "娣诲姞", notes = "娣诲姞") + public Result add(@RequestBody @Validated(Add.class) RegionForm form) { + return regionService.add(form); + } + + @PutMapping + @ApiOperation(value = "淇敼", notes = "淇敼") + public Result update(@RequestBody @Validated(Update.class) RegionForm form) { + return regionService.update(form); + } + + @DeleteMapping("/{id}") + @ApiOperation(value = "ID鍒犻櫎", notes = "ID鍒犻櫎") + public Result removeById(@PathVariable("id") String id) { + return regionService.removeById(id); + } + + @DeleteMapping("/batch") + @ApiOperation(value = "鎵归噺鍒犻櫎", notes = "鎵归噺鍒犻櫎") + public Result remove(@RequestBody @NotEmpty(message = "璇烽�夋嫨鏁版嵁") List<String> ids) { + return regionService.remove(ids); + } + + @PostMapping("/page") + @ApiOperation(value = "鍒嗛〉", notes = "鍒嗛〉") + public Result page(@RequestBody RegionQuery query) { + return regionService.page(query); + } + + @GetMapping("/{id}") + @ApiOperation(value = "璇︽儏", notes = "璇︽儏") + public Result detail(@PathVariable("id") String id) { + return regionService.detail(id); + } + + @GetMapping("/list") + @ApiOperation(value = "鍒楄〃", notes = "鍒楄〃") + public Result list() { + return regionService.all(); + } + + @GetMapping("/counties") + @ApiOperation(value = "鍖哄幙鍒楄〃", notes = "鍖哄幙鍒楄〃") + public Result counties() { + return regionService.counties(); + } + + @GetMapping("/cascader") + @ApiOperation(value = "绾ц仈閫夋嫨", notes = "绾ц仈閫夋嫨") + public Result cascader() { + return regionService.cascader(); + } +} diff --git a/ycl-server/src/main/java/com/ycl/platform/mapper/RegionMapper.java b/ycl-server/src/main/java/com/ycl/platform/mapper/RegionMapper.java new file mode 100644 index 0000000..405a7f2 --- /dev/null +++ b/ycl-server/src/main/java/com/ycl/platform/mapper/RegionMapper.java @@ -0,0 +1,19 @@ +package com.ycl.platform.mapper; + +import com.ycl.platform.domain.entity.Region; +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.ycl.platform.domain.vo.RegionVO; +import com.ycl.platform.domain.form.RegionForm; +import java.util.List; +import org.apache.ibatis.annotations.Mapper; + +/** + * 鍦板煙 Mapper 鎺ュ彛 + * + * @author xp + * @since 2024-03-12 + */ +@Mapper +public interface RegionMapper extends BaseMapper<Region> { + +} diff --git a/ycl-server/src/main/java/com/ycl/platform/service/RegionService.java b/ycl-server/src/main/java/com/ycl/platform/service/RegionService.java new file mode 100644 index 0000000..49a1f1f --- /dev/null +++ b/ycl-server/src/main/java/com/ycl/platform/service/RegionService.java @@ -0,0 +1,77 @@ +package com.ycl.platform.service; + +import com.ycl.platform.domain.entity.Region; +import com.baomidou.mybatisplus.extension.service.IService; +import com.ycl.system.Result; +import com.ycl.platform.domain.form.RegionForm; +import com.ycl.platform.domain.query.RegionQuery; +import java.util.List; + +/** + * 鍦板煙 鏈嶅姟绫� + * + * @author xp + * @since 2024-03-12 + */ +public interface RegionService extends IService<Region> { + + /** + * 娣诲姞 + * @param form + * @return + */ + Result add(RegionForm form); + + /** + * 淇敼 + * @param form + * @return + */ + Result update(RegionForm form); + + /** + * 鎵归噺鍒犻櫎 + * @param ids + * @return + */ + Result remove(List<String> ids); + + /** + * id鍒犻櫎 + * @param id + * @return + */ + Result removeById(String id); + + /** + * 鍒嗛〉鏌ヨ + * @param query + * @return + */ + Result page(RegionQuery query); + + /** + * 鏍规嵁id鏌ユ壘 + * @param id + * @return + */ + Result detail(String id); + + /** + * 鍒楄〃 + * @return + */ + Result all(); + + /** + * 鍖哄幙鍒楄〃 + * @return + */ + Result counties(); + + /** + * 绾ц仈閫夋嫨 + * @return + */ + Result cascader(); +} diff --git a/ycl-server/src/main/java/com/ycl/platform/service/impl/RegionServiceImpl.java b/ycl-server/src/main/java/com/ycl/platform/service/impl/RegionServiceImpl.java new file mode 100644 index 0000000..045e50c --- /dev/null +++ b/ycl-server/src/main/java/com/ycl/platform/service/impl/RegionServiceImpl.java @@ -0,0 +1,205 @@ +package com.ycl.platform.service.impl; + +import com.ycl.platform.base.BaseSelect; +import com.ycl.platform.domain.entity.Region; +import com.ycl.platform.domain.entity.YwUnit; +import com.ycl.platform.domain.vo.RegionCascaderVO; +import com.ycl.platform.mapper.RegionMapper; +import com.ycl.platform.service.RegionService; +import com.ycl.system.Result; +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.ycl.platform.domain.form.RegionForm; +import com.ycl.platform.domain.vo.RegionVO; +import com.ycl.platform.domain.query.RegionQuery; +import java.util.List; + +import com.ycl.utils.DateUtils; +import enumeration.general.RegionLevelEnum; +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.ycl.system.page.PageUtil; +import org.springframework.stereotype.Service; +import org.springframework.security.core.context.SecurityContextHolder; +import org.springframework.beans.BeanUtils; +import org.springframework.transaction.annotation.Transactional; +import org.springframework.util.Assert; +import java.util.ArrayList; +import java.util.Objects; +import java.util.stream.Collectors; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.baomidou.mybatisplus.extension.conditions.query.LambdaQueryChainWrapper; +import lombok.RequiredArgsConstructor; +import org.springframework.util.StringUtils; + +/** + * 鍦板煙 鏈嶅姟瀹炵幇绫� + * + * @author xp + * @since 2024-03-12 + */ +@Service +@RequiredArgsConstructor +public class RegionServiceImpl extends ServiceImpl<RegionMapper, Region> implements RegionService { + + private final RegionMapper regionMapper; + + /** + * 娣诲姞 + * @param form + * @return + */ + @Override + public Result add(RegionForm form) { + Region entity = RegionForm.getEntityByForm(form, null); + entity.setRegionLevel(RegionLevelEnum.STREET); + if(baseMapper.insert(entity) > 0) { + return Result.ok("娣诲姞鎴愬姛"); + } + return Result.error("娣诲姞澶辫触"); + } + + /** + * 淇敼 + * @param form + * @return + */ + @Override + public Result update(RegionForm form) { + + Region entity = baseMapper.selectById(form.getId()); + + // 涓虹┖鎶汭llegalArgumentException锛屽仛鍏ㄥ眬寮傚父澶勭悊 + Assert.notNull(entity, "璁板綍涓嶅瓨鍦�"); + BeanUtils.copyProperties(form, entity); + if (baseMapper.updateById(entity) > 0) { + return Result.ok("淇敼鎴愬姛"); + } + return Result.error("淇敼澶辫触"); + } + + /** + * 鎵归噺鍒犻櫎 + * @param ids + * @return + */ + @Override + public Result remove(List<String> ids) { + if(baseMapper.deleteBatchIds(ids) > 0) { + return Result.ok("鍒犻櫎鎴愬姛"); + } + return Result.error("鍒犻櫎澶辫触"); + } + + /** + * id鍒犻櫎 + * @param id + * @return + */ + @Override + public Result removeById(String id) { + if(baseMapper.deleteById(id) > 0) { + return Result.ok("鍒犻櫎鎴愬姛"); + } + return Result.error("鍒犻櫎澶辫触"); + } + + /** + * 鍒嗛〉鏌ヨ + * @param query + * @return + */ + @Override + public Result page(RegionQuery query) { + + IPage<Region> page = new LambdaQueryChainWrapper<>(baseMapper) + .like(StringUtils.hasText(query.getFullName()), Region::getFullName, query.getFullName()) + .like(StringUtils.hasText(query.getSimpleName()), Region::getSimpleName, query.getSimpleName()) + .eq(Objects.nonNull(query.getParentId()), Region::getParentId, query.getParentId()) + .eq(StringUtils.hasText(query.getRegionLevel()), Region::getRegionLevel, query.getRegionLevel()) + .between(Objects.nonNull(query.getStart()) && Objects.nonNull(query.getEnd()), + Region::getCreateTime, + DateUtils.getDayStart(query.getStart()), + DateUtils.getDayEnd(query.getEnd())) + .orderByDesc(Region::getCreateTime) + .page(PageUtil.getPage(query, Region.class)); + + List<RegionVO> vos = page.getRecords().stream() + .map( + entity -> RegionVO.getVoByEntity(entity, null) + ) + .collect(Collectors.toList()); + return Result.ok().data(vos).total(page.getTotal()); + } + + /** + * 鏍规嵁id鏌ユ壘 + * @param id + * @return + */ + @Override + public Result detail(String id) { + Region entity = baseMapper.selectById(id); + Assert.notNull(entity, "璁板綍涓嶅瓨鍦�"); + RegionVO vo = RegionVO.getVoByEntity(entity, null); + return Result.ok().data(vo); + } + + /** + * 鍒楄〃 + * @return + */ + @Override + public Result all() { + List<Region> entities = baseMapper.selectList(null); + List<RegionVO> vos = entities.stream() + .map( + entity -> RegionVO.getVoByEntity(entity, null) + ) + .collect(Collectors.toList()); + return Result.ok().data(vos); + } + + @Override + public Result counties() { + List<Region> entityList = new LambdaQueryChainWrapper<>(baseMapper) + .eq(Region::getRegionLevel, RegionLevelEnum.COUNTY) + .orderByDesc(Region::getCreateTime) + .list(); + List<BaseSelect> vos = entityList.stream().map(entity -> { + BaseSelect vo = new BaseSelect(); + vo.setId(entity.getId()); + vo.setValue(entity.getFullName()); + return vo; + }).collect(Collectors.toList()); + return Result.ok().data(vos); + } + + @Override + public Result cascader() { + List<Region> regionList = new LambdaQueryChainWrapper<>(baseMapper) + .ne(Region::getRegionLevel, RegionLevelEnum.CITY) + .list(); + List<RegionCascaderVO> vos = regionList.stream().map(entity -> { + RegionCascaderVO vo = new RegionCascaderVO(); + vo.setValue(entity.getId()); + vo.setLabel(entity.getSimpleName()); + vo.setRegionLevel(entity.getRegionLevel()); + vo.setParentId(entity.getParentId()); + return vo; + }).collect(Collectors.toList()); + List<RegionCascaderVO> removeList = new ArrayList<>(12); + for (RegionCascaderVO region : vos) { + if (region.getRegionLevel() == RegionLevelEnum.COUNTY) { + List<RegionCascaderVO> childList = new ArrayList<>(12); + for (RegionCascaderVO region1 : vos) { + if (region1.getParentId() == region.getValue()) { + childList.add(region1); + removeList.add(region1); + } + } + region.setChildren(childList); + } + } + vos.removeAll(removeList); + return Result.ok().data(vos); + } +} diff --git a/ycl-server/src/main/java/com/ycl/platform/service/impl/YwPointServiceImpl.java b/ycl-server/src/main/java/com/ycl/platform/service/impl/YwPointServiceImpl.java index f63906d..adaec69 100644 --- a/ycl-server/src/main/java/com/ycl/platform/service/impl/YwPointServiceImpl.java +++ b/ycl-server/src/main/java/com/ycl/platform/service/impl/YwPointServiceImpl.java @@ -1,7 +1,9 @@ package com.ycl.platform.service.impl; import com.ycl.platform.domain.entity.YwPoint; +import com.ycl.platform.domain.entity.YwUnit; import com.ycl.platform.mapper.YwPointMapper; +import com.ycl.platform.mapper.YwUnitMapper; import com.ycl.platform.service.YwPointService; import com.ycl.platform.service.YwUnitService; import com.ycl.system.Result; @@ -14,6 +16,7 @@ import com.ycl.system.entity.SysDept; import com.ycl.system.service.ISysDeptService; import org.apache.commons.lang3.StringUtils; + import com.baomidou.mybatisplus.core.metadata.IPage; import com.ycl.system.page.PageUtil; import org.springframework.beans.factory.annotation.Autowired; @@ -27,6 +30,7 @@ import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.conditions.query.LambdaQueryChainWrapper; import lombok.RequiredArgsConstructor; +import org.springframework.util.StringUtils; /** * 杩愮淮鐐逛綅 鏈嶅姟瀹炵幇绫� @@ -43,6 +47,7 @@ private ISysDeptService deptService; @Autowired private YwUnitService unitService; + private final YwUnitMapper ywUnitMapper; /** * 娣诲姞 @@ -124,6 +129,7 @@ public Result page(YwPointQuery query) { IPage<YwPoint> page = new LambdaQueryChainWrapper<>(baseMapper) + .like(StringUtils.hasText(query.getPointName()), YwPoint::getPointName, query.getPointName()) .orderByDesc(YwPoint::getCreateTime) .page(PageUtil.getPage(query, YwPoint.class)); diff --git a/ycl-server/src/main/resources/mapper/zgyw/RegionMapper.xml b/ycl-server/src/main/resources/mapper/zgyw/RegionMapper.xml new file mode 100644 index 0000000..22e7c6d --- /dev/null +++ b/ycl-server/src/main/resources/mapper/zgyw/RegionMapper.xml @@ -0,0 +1,18 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd"> +<mapper namespace="com.ycl.platform.mapper.RegionMapper"> + + <!-- 閫氱敤鏌ヨ鏄犲皠缁撴灉 --> + <resultMap id="BaseResultMap" type="com.ycl.platform.domain.vo.RegionVO"> + <result column="id" property="id" /> + <result column="create_time" property="createTime" /> + <result column="update_time" property="updateTime" /> + <result column="full_name" property="fullName" /> + <result column="simple_name" property="simpleName" /> + <result column="region_level" property="regionLevel" /> + <result column="city" property="city" /> + <result column="county" property="county" /> + <result column="parent_id" property="parentId" /> + </resultMap> + +</mapper> -- Gitblit v1.8.0