From 53d390a79d77f28cf89761b44337d9d3927730d8 Mon Sep 17 00:00:00 2001 From: zhibing.pu <393733352@qq.com> Date: 星期四, 08 八月 2024 14:02:34 +0800 Subject: [PATCH] 合并代码 --- ruoyi-api/ruoyi-api-chargingPile/src/main/java/com/ruoyi/chargingPile/api/query/GetSiteList.java | 32 +++ ruoyi-api/ruoyi-api-chargingPile/src/main/java/com/ruoyi/chargingPile/api/dto/GetSiteListDTO.java | 42 ++++ ruoyi-api/ruoyi-api-chargingPile/src/main/java/com/ruoyi/chargingPile/api/model/Site.java | 36 ++++ ruoyi-service/ruoyi-other/src/main/java/com/ruoyi/other/controller/RegionController.java | 37 ++++ ruoyi-api/ruoyi-api-other/src/main/java/com/ruoyi/other/api/domain/Region.java | 46 +++++ ruoyi-service/ruoyi-chargingPile/src/main/java/com/ruoyi/chargingPile/controller/PartnerController.java | 24 ++ ruoyi-service/ruoyi-chargingPile/src/main/java/com/ruoyi/chargingPile/service/ISiteService.java | 38 ++++ ruoyi-service/ruoyi-chargingPile/src/main/resources/mapper/chargingPile/SiteMapper.xml | 47 +++++ ruoyi-service/ruoyi-other/src/main/java/com/ruoyi/other/service/impl/RegionServiceImpl.java | 15 + ruoyi-service/ruoyi-chargingPile/src/main/java/com/ruoyi/chargingPile/controller/SiteController.java | 49 ++++ ruoyi-service/ruoyi-other/src/main/java/com/ruoyi/other/mapper/RegionMapper.java | 11 + ruoyi-service/ruoyi-chargingPile/src/main/java/com/ruoyi/chargingPile/mapper/SiteMapper.java | 15 + ruoyi-service/ruoyi-chargingPile/src/main/java/com/ruoyi/chargingPile/service/impl/SiteServiceImpl.java | 130 ++++++++++++++ ruoyi-service/ruoyi-other/src/main/java/com/ruoyi/other/service/IRegionService.java | 11 + 14 files changed, 522 insertions(+), 11 deletions(-) diff --git a/ruoyi-api/ruoyi-api-chargingPile/src/main/java/com/ruoyi/chargingPile/api/dto/GetSiteListDTO.java b/ruoyi-api/ruoyi-api-chargingPile/src/main/java/com/ruoyi/chargingPile/api/dto/GetSiteListDTO.java new file mode 100644 index 0000000..641f0ff --- /dev/null +++ b/ruoyi-api/ruoyi-api-chargingPile/src/main/java/com/ruoyi/chargingPile/api/dto/GetSiteListDTO.java @@ -0,0 +1,42 @@ +package com.ruoyi.chargingPile.api.dto; + +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +/** + * @author zhibing.pu + * @Date 2024/8/8 9:29 + */ +@Data +@ApiModel +public class GetSiteListDTO { + @ApiModelProperty(value = "站点id") + private Integer id; + @ApiModelProperty(value = "站点编号") + private String code; + @ApiModelProperty(value = "站点名称") + private String name; + @ApiModelProperty(value = "合作商名称") + private String partnerName; + @ApiModelProperty(value = "站点类型(0=其他,1=公共,2=个人,3=公交(专业),4=环卫(专用),5=物流(专用),6=出租车(专用))") + private Integer siteType; + @ApiModelProperty(value = "经营类型(1=直营,2=非直营)") + private Integer businessCategory; + @ApiModelProperty(value = "站点状态(1=正常使用,2=维修中,3=关闭下线)") + private Integer status; + @ApiModelProperty(value = "详细地址") + private String address; + @ApiModelProperty(value = "站点电话") + private String phone; + @ApiModelProperty(value = "服务电话") + private String servicePhone; + @ApiModelProperty(value = "车位数") + private Integer parkingSpace; + @ApiModelProperty(value = "建站时间") + private String establishmentTime; + @ApiModelProperty(value = "充电桩数量") + private Integer chargingPileNumber; + @ApiModelProperty(value = "排序") + private Integer sort; +} diff --git a/ruoyi-api/ruoyi-api-chargingPile/src/main/java/com/ruoyi/chargingPile/api/model/Site.java b/ruoyi-api/ruoyi-api-chargingPile/src/main/java/com/ruoyi/chargingPile/api/model/Site.java index feedd52..5bace65 100644 --- a/ruoyi-api/ruoyi-api-chargingPile/src/main/java/com/ruoyi/chargingPile/api/model/Site.java +++ b/ruoyi-api/ruoyi-api-chargingPile/src/main/java/com/ruoyi/chargingPile/api/model/Site.java @@ -4,7 +4,9 @@ import com.baomidou.mybatisplus.annotation.TableField; import com.baomidou.mybatisplus.annotation.TableId; import com.baomidou.mybatisplus.annotation.TableName; +import com.fasterxml.jackson.annotation.JsonFormat; import com.ruoyi.common.core.web.domain.BasePojo; +import io.swagger.annotations.ApiModelProperty; import lombok.Data; import java.time.LocalDate; @@ -20,166 +22,200 @@ * 主键 */ @TableId(value = "id", type = IdType.AUTO) + @ApiModelProperty(value = "站点id") private Integer id; /** * 合作商id */ @TableField("partner_id") + @ApiModelProperty(value = "合作商id", required = true) private Integer partnerId; /** * 站点编号 */ @TableField("code") + @ApiModelProperty(value = "站点编号", required = true) private String code; /** * 站点名称 */ @TableField("name") + @ApiModelProperty(value = "站点名称", required = true) private String name; /** * 站点类型(0=其他,1=公共,2=个人,3=公交(专业),4=环卫(专用),5=物流(专用),6=出租车(专用)) */ @TableField("site_type") + @ApiModelProperty(value = "站点类型(0=其他,1=公共,2=个人,3=公交(专业),4=环卫(专用),5=物流(专用),6=出租车(专用))", required = true) private Integer siteType; /** * 经营类型(1=直营,2=非直营) */ @TableField("business_category") + @ApiModelProperty(value = "经营类型(1=直营,2=非直营)", required = true) private Integer businessCategory; /** * 站点状态(1=正常使用,2=维修中,3=关闭下线) */ @TableField("status") + @ApiModelProperty(value = "站点状态(1=正常使用,2=维修中,3=关闭下线)", required = true) private Integer status; /** * 建设场所(0=其他,1=居民区,2=公共机构,3=企事业单位,4=写字楼,5=工业园区,6=交通枢纽,7=大型文体设施,8=城市绿地,9=大型建筑配建停车场,10=路边停车位,11=城际高速服务区) */ @TableField("construction_site") + @ApiModelProperty(value = "建设场所(0=其他,1=居民区,2=公共机构,3=企事业单位,4=写字楼,5=工业园区,6=交通枢纽,7=大型文体设施,8=城市绿地,9=大型建筑配建停车场,10=路边停车位,11=城际高速服务区)", required = true) private Integer constructionSite; /** * 站点环境图 */ @TableField("img_url") + @ApiModelProperty(value = "站点环境图", required = true) private String imgUrl; /** * 省名称 */ @TableField("province") + @ApiModelProperty(value = "省名称", required = true) private String province; /** * 省区划代码 */ @TableField("province_code") + @ApiModelProperty(value = "省区划代码", required = true) private String provinceCode; /** * 市名称 */ @TableField("city") + @ApiModelProperty(value = "市名称", required = true) private String city; /** * 市区划代码 */ @TableField("city_code") + @ApiModelProperty(value = "市区划代码", required = true) private String cityCode; /** * 区县名称 */ @TableField("districts") + @ApiModelProperty(value = "区县名称", required = true) private String districts; /** * 区县区划代码 */ @TableField("districts_code") + @ApiModelProperty(value = "区县区划代码", required = true) private String districtsCode; /** * 经度 */ @TableField("lon") + @ApiModelProperty(value = "经度", required = true) private String lon; /** * 纬度 */ @TableField("lat") + @ApiModelProperty(value = "纬度", required = true) private String lat; /** * 详细地址 */ @TableField("address") + @ApiModelProperty(value = "详细地址", required = true) private String address; /** * 国家代码 */ @TableField("country_code") + @ApiModelProperty(value = "国家代码") private String countryCode; /** * 站点电话 */ @TableField("phone") + @ApiModelProperty(value = "站点电话", required = true) private String phone; /** * 服务电话 */ @TableField("service_phone") + @ApiModelProperty(value = "服务电话", required = true) private String servicePhone; /** * 站点引导 */ @TableField("guide") + @ApiModelProperty(value = "站点引导") private String guide; /** * 开始服务时间 */ @TableField("start_service_time") + @ApiModelProperty(value = "开始服务时间") private String startServiceTime; /** * 结束服务时间 */ @TableField("end_service_time") + @ApiModelProperty(value = "结束服务时间") private String endServiceTime; /** * 站内提供服务 */ @TableField("service_description") + @ApiModelProperty(value = "站内提供服务") private String serviceDescription; /** * 车型描述 */ @TableField("vehicle_description") + @ApiModelProperty(value = "车型描述") private String vehicleDescription; /** * 车位数 */ @TableField("parking_space") + @ApiModelProperty(value = "车位数", required = true) private Integer parkingSpace; /** * 充电费率描述 */ @TableField("rate_description") + @ApiModelProperty(value = "充电费率描述") private String rateDescription; /** * 超时占位费说明 */ @TableField("space_charge_explain") + @ApiModelProperty(value = "超时占位费说明") private String spaceChargeExplain; /** * 计费策略id */ @TableField("accounting_strategy_id") + @ApiModelProperty(value = "计费策略id") private Integer accountingStrategyId; /** * 建站时间 */ @TableField("establishment_time") + @ApiModelProperty(value = "建站时间", notes = "yyyy-MM-dd HH:mm:ss") + @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss") private LocalDate establishmentTime; /** * 排序 */ @TableField("sort") + @ApiModelProperty(value = "排序", required = true) private Integer sort; /** * 备注 */ @TableField("remark") + @ApiModelProperty(value = "备注") private String remark; /** * 评分 diff --git a/ruoyi-api/ruoyi-api-chargingPile/src/main/java/com/ruoyi/chargingPile/api/query/GetSiteList.java b/ruoyi-api/ruoyi-api-chargingPile/src/main/java/com/ruoyi/chargingPile/api/query/GetSiteList.java new file mode 100644 index 0000000..2da8f1f --- /dev/null +++ b/ruoyi-api/ruoyi-api-chargingPile/src/main/java/com/ruoyi/chargingPile/api/query/GetSiteList.java @@ -0,0 +1,32 @@ +package com.ruoyi.chargingPile.api.query; + +import com.ruoyi.common.core.web.page.BasePage; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; +import lombok.Value; + +/** + * @author zhibing.pu + * @Date 2024/8/8 9:24 + */ +@Data +@ApiModel +public class GetSiteList extends BasePage { + @ApiModelProperty(value = "站点名称") + private String name; + @ApiModelProperty(value = "合作商名称") + private String partnerName; + @ApiModelProperty(value = "站点类型(0=其他,1=公共,2=个人,3=公交(专业),4=环卫(专用),5=物流(专用),6=出租车(专用))") + private Integer siteType; + @ApiModelProperty(value = "经营类型(1=直营,2=非直营)") + private Integer businessCategory; + @ApiModelProperty(value = "站点状态(1=正常使用,2=维修中,3=关闭下线)") + private Integer status; + @ApiModelProperty(value = "站点省代码") + private String provinceCode; + @ApiModelProperty(value = "站点市代码") + private String cityCode; + @ApiModelProperty(value = "站点区代码") + private String districtsCode; +} diff --git a/ruoyi-api/ruoyi-api-other/src/main/java/com/ruoyi/other/api/domain/Region.java b/ruoyi-api/ruoyi-api-other/src/main/java/com/ruoyi/other/api/domain/Region.java new file mode 100644 index 0000000..6502f26 --- /dev/null +++ b/ruoyi-api/ruoyi-api-other/src/main/java/com/ruoyi/other/api/domain/Region.java @@ -0,0 +1,46 @@ +package com.ruoyi.other.api.domain; + +import com.baomidou.mybatisplus.annotation.IdType; +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import lombok.Data; + +/** + * @author zhibing.pu + * @Date 2024/8/8 11:55 + */ +@Data +@TableName("t_region") +public class Region { + /** + * 主键 + */ + @TableId(value = "id", type = IdType.AUTO) + private Integer id; + /** + * 城市名称 + */ + @TableField("name") + private String name; + /** + * 行政区划代码 + */ + @TableField("code") + private String code; + /** + * 城市code + */ + @TableField("citycode") + private String citycode; + /** + * 父级ID + */ + @TableField("parent_id") + private Integer parentId; + /** + * 英文名称 + */ + @TableField("english") + private String english; +} diff --git a/ruoyi-service/ruoyi-chargingPile/src/main/java/com/ruoyi/chargingPile/controller/PartnerController.java b/ruoyi-service/ruoyi-chargingPile/src/main/java/com/ruoyi/chargingPile/controller/PartnerController.java index e94628d..ba93e47 100644 --- a/ruoyi-service/ruoyi-chargingPile/src/main/java/com/ruoyi/chargingPile/controller/PartnerController.java +++ b/ruoyi-service/ruoyi-chargingPile/src/main/java/com/ruoyi/chargingPile/controller/PartnerController.java @@ -1,5 +1,7 @@ package com.ruoyi.chargingPile.controller; +import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; +import com.baomidou.mybatisplus.extension.conditions.query.LambdaQueryChainWrapper; import com.ruoyi.chargingPile.api.dto.PartnerListDTO; import com.ruoyi.chargingPile.api.model.Partner; import com.ruoyi.chargingPile.api.query.GetPartnerList; @@ -13,6 +15,7 @@ import org.springframework.web.bind.annotation.*; import javax.annotation.Resource; +import java.util.List; /** * @author zhibing.pu @@ -30,7 +33,7 @@ @ResponseBody @GetMapping("/getPartnerList") - @ApiOperation(value = "获取合作商列表", tags = {"管理后台-合作商列表"}) + @ApiOperation(value = "获取合作商列表", tags = {"管理后台-合作商管理"}) public AjaxResult<PageInfo<PartnerListDTO>> getPartnerList(@RequestBody GetPartnerList partnerList){ PageInfo<PartnerListDTO> list = partnerService.getPartnerList(partnerList); return AjaxResult.success(list); @@ -39,7 +42,7 @@ @ResponseBody @PostMapping("/addPartner") - @ApiOperation(value = "添加合作商", tags = {"管理后台-合作商列表"}) + @ApiOperation(value = "添加合作商", tags = {"管理后台-合作商管理"}) public AjaxResult addPartner(@RequestBody Partner partner){ return partnerService.addPartner(partner); } @@ -48,7 +51,7 @@ @ResponseBody @GetMapping("/getPartner/{id}") - @ApiOperation(value = "获取合作商详情", tags = {"管理后台-合作商列表"}) + @ApiOperation(value = "获取合作商详情", tags = {"管理后台-合作商管理"}) @ApiImplicitParams({ @ApiImplicitParam(value = "合作商id", name = "id", dataTypeClass = Integer.class, required = true) }) @@ -61,7 +64,7 @@ @ResponseBody @PostMapping("/editPartner") - @ApiOperation(value = "编辑合作商", tags = {"管理后台-合作商列表"}) + @ApiOperation(value = "编辑合作商", tags = {"管理后台-合作商管理"}) public AjaxResult editPartner(@RequestBody Partner partner){ return partnerService.editPartner(partner); } @@ -70,7 +73,7 @@ @ResponseBody @DeleteMapping("/delPartner/{id}") - @ApiOperation(value = "删除合作商", tags = {"管理后台-合作商列表"}) + @ApiOperation(value = "删除合作商", tags = {"管理后台-合作商管理"}) @ApiImplicitParams({ @ApiImplicitParam(value = "合作商id", name = "id", dataTypeClass = Integer.class, required = true) }) @@ -81,8 +84,17 @@ @ResponseBody @PostMapping("/resetPassword") - @ApiOperation(value = "合作商重置密码", tags = {"管理后台-合作商列表"}) + @ApiOperation(value = "合作商重置密码", tags = {"管理后台-合作商管理"}) public AjaxResult resetPassword(@RequestBody ResetPassword resetPassword){ return partnerService.resetPassword(resetPassword); } + + + @ResponseBody + @PostMapping("/getPartner") + @ApiOperation(value = "获取所有合作商", tags = {"管理后台-站点管理"}) + public AjaxResult<List<Partner>> getPartner(){ + List<Partner> list = partnerService.list(new LambdaQueryWrapper<Partner>().eq(Partner::getDelFlag, 0)); + return AjaxResult.success(list); + } } diff --git a/ruoyi-service/ruoyi-chargingPile/src/main/java/com/ruoyi/chargingPile/controller/SiteController.java b/ruoyi-service/ruoyi-chargingPile/src/main/java/com/ruoyi/chargingPile/controller/SiteController.java index 1bf5768..5d7f589 100644 --- a/ruoyi-service/ruoyi-chargingPile/src/main/java/com/ruoyi/chargingPile/controller/SiteController.java +++ b/ruoyi-service/ruoyi-chargingPile/src/main/java/com/ruoyi/chargingPile/controller/SiteController.java @@ -1,9 +1,15 @@ package com.ruoyi.chargingPile.controller; +import com.ruoyi.chargingPile.api.dto.GetSiteListDTO; +import com.ruoyi.chargingPile.api.model.Site; +import com.ruoyi.chargingPile.api.query.GetSiteList; import com.ruoyi.chargingPile.service.ISiteService; import com.ruoyi.common.core.web.domain.AjaxResult; -import org.springframework.web.bind.annotation.RequestMapping; -import org.springframework.web.bind.annotation.RestController; +import com.ruoyi.common.core.web.page.PageInfo; +import io.swagger.annotations.ApiImplicitParam; +import io.swagger.annotations.ApiImplicitParams; +import io.swagger.annotations.ApiOperation; +import org.springframework.web.bind.annotation.*; import javax.annotation.Resource; @@ -19,8 +25,41 @@ private ISiteService siteService; - - public AjaxResult<> getSiteList(){ - + @ResponseBody + @GetMapping("/getSiteList") + @ApiOperation(value = "获取站点列表", tags = {"管理后台-站点管理"}) + public AjaxResult<PageInfo<GetSiteListDTO>> getSiteList(@RequestBody GetSiteList siteList){ + PageInfo<GetSiteListDTO> list = siteService.getSiteList(siteList); + return AjaxResult.success(list); } + + + @ResponseBody + @PostMapping("/getSiteList") + @ApiOperation(value = "添加站点", tags = {"管理后台-站点管理"}) + public AjaxResult addSite(@RequestBody Site site){ + return siteService.addSite(site); + } + + @ResponseBody + @PostMapping("/editSite") + @ApiOperation(value = "编辑站点", tags = {"管理后台-站点管理"}) + public AjaxResult editSite(@RequestBody Site site){ + return siteService.editSite(site); + } + + @ResponseBody + @DeleteMapping("/delSite/{id}") + @ApiOperation(value = "编辑站点", tags = {"管理后台-站点管理"}) + @ApiImplicitParams({ + @ApiImplicitParam(value = "站点id", name = "id", dataTypeClass = Integer.class, required = true) + }) + public AjaxResult delSite(@PathVariable Integer id){ + return siteService.delSite(id); + } + + + + + } diff --git a/ruoyi-service/ruoyi-chargingPile/src/main/java/com/ruoyi/chargingPile/mapper/SiteMapper.java b/ruoyi-service/ruoyi-chargingPile/src/main/java/com/ruoyi/chargingPile/mapper/SiteMapper.java index 1a201ee..42263de 100644 --- a/ruoyi-service/ruoyi-chargingPile/src/main/java/com/ruoyi/chargingPile/mapper/SiteMapper.java +++ b/ruoyi-service/ruoyi-chargingPile/src/main/java/com/ruoyi/chargingPile/mapper/SiteMapper.java @@ -1,11 +1,26 @@ package com.ruoyi.chargingPile.mapper; import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.ruoyi.chargingPile.api.dto.GetSiteListDTO; import com.ruoyi.chargingPile.api.model.Site; +import com.ruoyi.chargingPile.api.query.GetSiteList; +import com.ruoyi.common.core.web.page.PageInfo; +import org.apache.ibatis.annotations.Param; + +import java.util.List; /** * @author zhibing.pu * @Date 2024/8/7 19:49 */ public interface SiteMapper extends BaseMapper<Site> { + + + /** + * 获取站点列表 + * @param pageInfo + * @param siteList + * @return + */ + List<GetSiteListDTO> getSiteList(PageInfo<GetSiteListDTO> pageInfo, @Param("item") GetSiteList siteList); } diff --git a/ruoyi-service/ruoyi-chargingPile/src/main/java/com/ruoyi/chargingPile/service/ISiteService.java b/ruoyi-service/ruoyi-chargingPile/src/main/java/com/ruoyi/chargingPile/service/ISiteService.java index f76d9f8..5e136d6 100644 --- a/ruoyi-service/ruoyi-chargingPile/src/main/java/com/ruoyi/chargingPile/service/ISiteService.java +++ b/ruoyi-service/ruoyi-chargingPile/src/main/java/com/ruoyi/chargingPile/service/ISiteService.java @@ -1,11 +1,49 @@ package com.ruoyi.chargingPile.service; import com.baomidou.mybatisplus.extension.service.IService; +import com.ruoyi.chargingPile.api.dto.GetSiteListDTO; import com.ruoyi.chargingPile.api.model.Site; +import com.ruoyi.chargingPile.api.query.GetSiteList; +import com.ruoyi.common.core.web.domain.AjaxResult; +import com.ruoyi.common.core.web.page.PageInfo; +import org.springframework.web.bind.annotation.PathVariable; +import org.springframework.web.bind.annotation.RequestBody; /** * @author zhibing.pu * @Date 2024/8/7 19:54 */ public interface ISiteService extends IService<Site> { + + + /** + * 获取站点管理列表 + * @param siteList + * @return + */ + PageInfo<GetSiteListDTO> getSiteList(GetSiteList siteList); + + + /** + * 添加站点信息 + * @param site + * @return + */ + AjaxResult addSite(Site site); + + + /** + * 编辑站点 + * @param site + * @return + */ + AjaxResult editSite(Site site); + + + /** + * 删除站点 + * @param id + * @return + */ + AjaxResult delSite(Integer id); } diff --git a/ruoyi-service/ruoyi-chargingPile/src/main/java/com/ruoyi/chargingPile/service/impl/SiteServiceImpl.java b/ruoyi-service/ruoyi-chargingPile/src/main/java/com/ruoyi/chargingPile/service/impl/SiteServiceImpl.java index b22f788..8ed6be2 100644 --- a/ruoyi-service/ruoyi-chargingPile/src/main/java/com/ruoyi/chargingPile/service/impl/SiteServiceImpl.java +++ b/ruoyi-service/ruoyi-chargingPile/src/main/java/com/ruoyi/chargingPile/service/impl/SiteServiceImpl.java @@ -1,10 +1,18 @@ package com.ruoyi.chargingPile.service.impl; +import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.ruoyi.chargingPile.api.dto.GetSiteListDTO; import com.ruoyi.chargingPile.api.model.Site; +import com.ruoyi.chargingPile.api.query.GetSiteList; import com.ruoyi.chargingPile.mapper.SiteMapper; import com.ruoyi.chargingPile.service.ISiteService; +import com.ruoyi.common.core.utils.StringUtils; +import com.ruoyi.common.core.web.domain.AjaxResult; +import com.ruoyi.common.core.web.page.PageInfo; import org.springframework.stereotype.Service; + +import java.util.List; /** * @author zhibing.pu @@ -12,4 +20,126 @@ */ @Service public class SiteServiceImpl extends ServiceImpl<SiteMapper, Site> implements ISiteService { + + + /** + * 获取站点管理列表数据 + * @param siteList + * @return + */ + @Override + public PageInfo<GetSiteListDTO> getSiteList(GetSiteList siteList) { + PageInfo<GetSiteListDTO> pageInfo = new PageInfo<>(siteList.getPageCurr(), siteList.getPageSize()); + List<GetSiteListDTO> list = this.baseMapper.getSiteList(pageInfo, siteList); + return pageInfo.setRecords(list); + } + + /** + * 添加站点信息 + * @param site + * @return + */ + @Override + public AjaxResult addSite(Site site) { + AjaxResult ajaxResult = addSiteVerify(site); + if(ajaxResult.isError()){ + return ajaxResult; + } + Site one = this.getOne(new LambdaQueryWrapper<Site>().eq(Site::getCode, site.getCode()).eq(Site::getDelFlag, 0)); + if(null != one){ + return AjaxResult.error("站点编号重复"); + } + site.setMark(0); + this.save(site); + return AjaxResult.success(); + } + + + /** + * 编辑站点 + * @param site + * @return + */ + @Override + public AjaxResult editSite(Site site) { + AjaxResult ajaxResult = addSiteVerify(site); + if(ajaxResult.isError()){ + return ajaxResult; + } + Site one = this.getOne(new LambdaQueryWrapper<Site>().eq(Site::getCode, site.getCode()).eq(Site::getDelFlag, 0)); + if(null != one && !one.getCode().equals(site.getCode())){ + return AjaxResult.error("站点编号重复"); + } + this.updateById(site); + return AjaxResult.success(); + } + + /** + * 校验必填项 + * @param site + * @return + */ + AjaxResult addSiteVerify(Site site){ + if(null == site.getPartnerId()){ + return AjaxResult.error("合作商不能为空"); + } + if(StringUtils.isEmpty(site.getCode())){ + return AjaxResult.error("站点编号不能为空"); + } + if(StringUtils.isEmpty(site.getName())){ + return AjaxResult.error("站点名称不能为空"); + } + if(null == site.getSiteType()){ + return AjaxResult.error("站点类型不能为空"); + } + if(null == site.getBusinessCategory()){ + return AjaxResult.error("经营类别不能为空"); + } + if(null == site.getStatus()){ + return AjaxResult.error("站点状态不能为空"); + } + if(null == site.getConstructionSite()){ + return AjaxResult.error("建设场所不能为空"); + } + if(StringUtils.isEmpty(site.getProvince()) || StringUtils.isEmpty(site.getProvinceCode()) || + StringUtils.isEmpty(site.getCity()) || StringUtils.isEmpty(site.getCityCode()) || + StringUtils.isEmpty(site.getDistricts()) || StringUtils.isEmpty(site.getDistrictsCode())){ + return AjaxResult.error("所在区域不能为空"); + } + if(StringUtils.isEmpty(site.getAddress())){ + return AjaxResult.error("详细地址不能为空"); + } + if(StringUtils.isEmpty(site.getLon()) || StringUtils.isEmpty(site.getLat())){ + return AjaxResult.error("地图位置不能为空"); + } + if(StringUtils.isEmpty(site.getPhone())){ + return AjaxResult.error("站点电话不能为空"); + } + if(StringUtils.isEmpty(site.getServicePhone())){ + return AjaxResult.error("服务电话不能为空"); + } + if(null == site.getParkingSpace()){ + return AjaxResult.error("车位数量不能为空"); + } + if(null == site.getSort()){ + return AjaxResult.error("排序不能为空"); + } + return AjaxResult.success(); + } + + /** + * 删除站点 + * @param id 站点id + * @return + */ + @Override + public AjaxResult delSite(Integer id) { + //查询是否有关联数据 + //充电桩 + // todo 待完善 + Site site = this.getById(id); + site.setDelFlag(true); + this.updateById(site); + return AjaxResult.success(); + } } diff --git a/ruoyi-service/ruoyi-chargingPile/src/main/resources/mapper/chargingPile/SiteMapper.xml b/ruoyi-service/ruoyi-chargingPile/src/main/resources/mapper/chargingPile/SiteMapper.xml index 1eac92c..e9cf906 100644 --- a/ruoyi-service/ruoyi-chargingPile/src/main/resources/mapper/chargingPile/SiteMapper.xml +++ b/ruoyi-service/ruoyi-chargingPile/src/main/resources/mapper/chargingPile/SiteMapper.xml @@ -42,4 +42,51 @@ <result column="del_flag" property="delFlag" /> </resultMap> + + <select id="getSiteList" resultType="com.ruoyi.chargingPile.api.dto.GetSiteListDTO"> + select + a.id, + a.code, + a.name, + b.name as partnerName, + a.site_type as siteType, + a.business_category as businessCategory, + a.status, + CONCAT(a.province, a.city, a.districts, a.address) as address, + a.phone, + a.service_phone as servicePhone, + a.parking_space as parkingSpace, + DATE_FORMAT('%Y-%m-%d %H:%i:%s', a.establishment_time) as establishmentTime, + c.num as chargingPileNumber, + a.sort + from t_site a + left join t_partner b on (a.partner_id = b.id) + left join (select site_id, count(1) as num from t_charging_pile where del_flag = 0 group by site_id) c on (a.id = c.site_id) + WHERE a.del_flag = 0 + <if test="null != item.name and '' != item.name"> + and a.name like CONCAT('%', #{item.name}, '%') + </if> + <if test="null != item.partnerName and '' != item.partnerName"> + and b.name like CONCAT('%', #{item.partnerName}, '%') + </if> + <if test="null != item.siteType"> + and a.site_type = #{item.siteType} + </if> + <if test="null != item.businessCategory"> + and a.business_category = #{item.businessCategory} + </if> + <if test="null != item.status"> + and a.status = #{item.status} + </if> + <if test="null != item.provinceCode and '' != item.provinceCode"> + and a.province_code = #{item.provinceCode} + </if> + <if test="null != item.cityCode and '' != item.cityCode"> + and a.city_code = #{item.cityCode} + </if> + <if test="null != item.districtsCode and '' != item.districtsCode"> + and a.districts_code = #{item.districtsCode} + </if> + order by a.sort desc, a.create_time desc limit #{item.pageCurr}, #{item.pageSize} + </select> </mapper> \ No newline at end of file diff --git a/ruoyi-service/ruoyi-other/src/main/java/com/ruoyi/other/controller/RegionController.java b/ruoyi-service/ruoyi-other/src/main/java/com/ruoyi/other/controller/RegionController.java new file mode 100644 index 0000000..622c6b9 --- /dev/null +++ b/ruoyi-service/ruoyi-other/src/main/java/com/ruoyi/other/controller/RegionController.java @@ -0,0 +1,37 @@ +package com.ruoyi.other.controller; + +import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; +import com.ruoyi.common.core.web.domain.AjaxResult; +import com.ruoyi.other.api.domain.Region; +import com.ruoyi.other.service.IRegionService; +import io.swagger.annotations.ApiImplicitParam; +import io.swagger.annotations.ApiImplicitParams; +import io.swagger.annotations.ApiOperation; +import org.springframework.web.bind.annotation.*; + +import javax.annotation.Resource; +import java.util.List; + +/** + * @author zhibing.pu + * @Date 2024/8/8 12:00 + */ +@RestController +@RequestMapping("/region") +public class RegionController { + + @Resource + private IRegionService regionService; + + + @ResponseBody + @GetMapping("/getRegion/{pid}") + @ApiOperation(value = "获取省市区数据", tags = {"管理后台-站点管理"}) + @ApiImplicitParams({ + @ApiImplicitParam(value = "父级id,没有传0", name = "pid", required = true) + }) + public AjaxResult<List<Region>> getRegion(@PathVariable Integer pid){ + List<Region> list = regionService.list(new LambdaQueryWrapper<Region>().eq(Region::getParentId, pid)); + return AjaxResult.success(list); + } +} diff --git a/ruoyi-service/ruoyi-other/src/main/java/com/ruoyi/other/mapper/RegionMapper.java b/ruoyi-service/ruoyi-other/src/main/java/com/ruoyi/other/mapper/RegionMapper.java new file mode 100644 index 0000000..ae03212 --- /dev/null +++ b/ruoyi-service/ruoyi-other/src/main/java/com/ruoyi/other/mapper/RegionMapper.java @@ -0,0 +1,11 @@ +package com.ruoyi.other.mapper; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.ruoyi.other.api.domain.Region; + +/** + * @author zhibing.pu + * @Date 2024/8/8 11:59 + */ +public interface RegionMapper extends BaseMapper<Region> { +} diff --git a/ruoyi-service/ruoyi-other/src/main/java/com/ruoyi/other/service/IRegionService.java b/ruoyi-service/ruoyi-other/src/main/java/com/ruoyi/other/service/IRegionService.java new file mode 100644 index 0000000..a81edb8 --- /dev/null +++ b/ruoyi-service/ruoyi-other/src/main/java/com/ruoyi/other/service/IRegionService.java @@ -0,0 +1,11 @@ +package com.ruoyi.other.service; + +import com.baomidou.mybatisplus.extension.service.IService; +import com.ruoyi.other.api.domain.Region; + +/** + * @author zhibing.pu + * @Date 2024/8/8 11:59 + */ +public interface IRegionService extends IService<Region> { +} diff --git a/ruoyi-service/ruoyi-other/src/main/java/com/ruoyi/other/service/impl/RegionServiceImpl.java b/ruoyi-service/ruoyi-other/src/main/java/com/ruoyi/other/service/impl/RegionServiceImpl.java new file mode 100644 index 0000000..8fd850a --- /dev/null +++ b/ruoyi-service/ruoyi-other/src/main/java/com/ruoyi/other/service/impl/RegionServiceImpl.java @@ -0,0 +1,15 @@ +package com.ruoyi.other.service.impl; + +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.ruoyi.other.api.domain.Region; +import com.ruoyi.other.mapper.RegionMapper; +import com.ruoyi.other.service.IRegionService; +import org.springframework.stereotype.Service; + +/** + * @author zhibing.pu + * @Date 2024/8/8 11:59 + */ +@Service +public class RegionServiceImpl extends ServiceImpl<RegionMapper, Region> implements IRegionService { +} -- Gitblit v1.7.1