From cdec58b0e722d271b814c0a91bab4a3908593673 Mon Sep 17 00:00:00 2001 From: zhangli <123879394@qq.com> Date: Tue, 8 Jul 2025 23:25:44 +0800 Subject: [PATCH] =?UTF-8?q?=E6=96=B0=E5=A2=9E=E9=A6=96=E9=A1=B5=E6=8E=A5?= =?UTF-8?q?=E5=8F=A3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/main/java/com/sczx/store/Application.java | 2 +- .../controller/StoreClientController.java | 37 ++++ .../controller/StoreManageController.java | 21 +++ .../com/sczx/store/dto/CompanyStoreDTO.java | 58 ++++++ .../sczx/store/dto/req/StoreDistanceReq.java | 23 +++ .../exception/GlobalExceptionHandler.java | 47 +++++ .../sczx/store/mapper/CompanyStoreMapper.java | 23 +++ .../com/sczx/store/po/CompanyStorePO.java | 177 ++++++++++++++++++ .../store/repository/CompanyStoreRepo.java | 22 +++ .../repository/impl/CompanyStoreRepoImpl.java | 33 ++++ .../com/sczx/store/service/StoreService.java | 16 ++ .../store/service/impl/StoreServiceImpl.java | 23 +++ .../resources/mapper/CompanyStoreMapper.xml | 56 ++++++ .../java/com/sczx/store/CodeGenerator.java | 4 +- 14 files changed, 539 insertions(+), 3 deletions(-) create mode 100644 src/main/java/com/sczx/store/controller/StoreClientController.java create mode 100644 src/main/java/com/sczx/store/controller/StoreManageController.java create mode 100644 src/main/java/com/sczx/store/dto/CompanyStoreDTO.java create mode 100644 src/main/java/com/sczx/store/dto/req/StoreDistanceReq.java create mode 100644 src/main/java/com/sczx/store/exception/GlobalExceptionHandler.java create mode 100644 src/main/java/com/sczx/store/mapper/CompanyStoreMapper.java create mode 100644 src/main/java/com/sczx/store/po/CompanyStorePO.java create mode 100644 src/main/java/com/sczx/store/repository/CompanyStoreRepo.java create mode 100644 src/main/java/com/sczx/store/repository/impl/CompanyStoreRepoImpl.java create mode 100644 src/main/java/com/sczx/store/service/StoreService.java create mode 100644 src/main/java/com/sczx/store/service/impl/StoreServiceImpl.java create mode 100644 src/main/resources/mapper/CompanyStoreMapper.xml diff --git a/src/main/java/com/sczx/store/Application.java b/src/main/java/com/sczx/store/Application.java index 8aef6c1..8568493 100644 --- a/src/main/java/com/sczx/store/Application.java +++ b/src/main/java/com/sczx/store/Application.java @@ -30,6 +30,6 @@ public class Application { ConfigurableApplicationContext context = SpringApplication.run(Application.class, args); Environment environment = context.getBean(Environment.class); System.out.println("启动成功,后端服务API地址:http://" + ComputerInfo.getIpAddr() + ":" - + environment.getProperty("server.port") + "/doc.html"); + + environment.getProperty("server.port") + "/swagger-ui.html"); } } diff --git a/src/main/java/com/sczx/store/controller/StoreClientController.java b/src/main/java/com/sczx/store/controller/StoreClientController.java new file mode 100644 index 0000000..71a4571 --- /dev/null +++ b/src/main/java/com/sczx/store/controller/StoreClientController.java @@ -0,0 +1,37 @@ +package com.sczx.store.controller; + + +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.sczx.store.dto.CompanyStoreDTO; +import com.sczx.store.dto.req.StoreDistanceReq; +import com.sczx.store.service.StoreService; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.http.ResponseEntity; +import org.springframework.web.bind.annotation.*; + +import java.util.List; + +/** + *
+ * 门店 前端控制器 + *
+ * + * @author zhangli + * @since 2025-07-08 21:16:36 + */ +@Api(value = "门店用户端接口", tags = "用户端接口") +@RestController +@RequestMapping("/client") +public class StoreClientController { + + @Autowired + private StoreService storeService; + + @ApiOperation(value = "根据经纬度查询门店信息") + @PostMapping("/listStoresByBBoxWithDistance") + ResponseEntity+ * 门店 前端控制器 + *
+ * + * @author zhangli + * @since 2025-07-08 21:16:36 + */ +@Api(value = "门店管理端接口", produces = "管理端接口") +@RestController +@RequestMapping("/client") +public class StoreManageController { + +} diff --git a/src/main/java/com/sczx/store/dto/CompanyStoreDTO.java b/src/main/java/com/sczx/store/dto/CompanyStoreDTO.java new file mode 100644 index 0000000..65df3af --- /dev/null +++ b/src/main/java/com/sczx/store/dto/CompanyStoreDTO.java @@ -0,0 +1,58 @@ +package com.sczx.store.dto; + +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +@Data +@ApiModel(value = "CompanyStoreDTO对象", description = "门店信息") +public class CompanyStoreDTO { + + @ApiModelProperty("主键id") + private Integer id; + + @ApiModelProperty("门店名称") + private String name; + + @ApiModelProperty("联系人") + private String contactPerson; + + @ApiModelProperty("手机号码") + private String phone; + + @ApiModelProperty("联系人2") + private String contactPerson2; + + @ApiModelProperty("手机号码2") + private String phone2; + + + @ApiModelProperty("详细地址") + private String detailedAddress; + + @ApiModelProperty("门店logo") + private String image; + + @ApiModelProperty("纬度") + private Double latitude; + + @ApiModelProperty("经度") + private Double longitude; + + @ApiModelProperty("标签 1.可租车 2.可换电 3.二手车,多个用,号隔开,例如1,2,3") + private String label; + + @ApiModelProperty("运营公司id") + private Integer operatingCompanyId; + + @ApiModelProperty("运营性质 1.直营 0.合作") + private Boolean operatingNature; + + @ApiModelProperty("简介") + private String introduction; + + + @ApiModelProperty("门店编号") + private String storeNumber; + +} diff --git a/src/main/java/com/sczx/store/dto/req/StoreDistanceReq.java b/src/main/java/com/sczx/store/dto/req/StoreDistanceReq.java new file mode 100644 index 0000000..daea646 --- /dev/null +++ b/src/main/java/com/sczx/store/dto/req/StoreDistanceReq.java @@ -0,0 +1,23 @@ +package com.sczx.store.dto.req; + +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +@ApiModel(value = "StoreDistanceReq对象", description = "地图上查询门店信息请求") +@Data +public class StoreDistanceReq { + + @ApiModelProperty(value = "最大纬度") + private Double minLat; + @ApiModelProperty(value = "最小纬度") + private Double maxLat; + @ApiModelProperty(value = "最大经度") + private Double minLng; + @ApiModelProperty(value = "最小经度") + private Double maxLng; + @ApiModelProperty(value = "当前位置纬度") + private Double currentLat; + @ApiModelProperty(value = "当前位置经度") + private Double currentLng; +} diff --git a/src/main/java/com/sczx/store/exception/GlobalExceptionHandler.java b/src/main/java/com/sczx/store/exception/GlobalExceptionHandler.java new file mode 100644 index 0000000..66cb231 --- /dev/null +++ b/src/main/java/com/sczx/store/exception/GlobalExceptionHandler.java @@ -0,0 +1,47 @@ +package com.sczx.store.exception; + + +import lombok.extern.slf4j.Slf4j; + +import org.springframework.http.ResponseEntity; + +import org.springframework.web.bind.annotation.ControllerAdvice; +import org.springframework.web.bind.annotation.ExceptionHandler; +import org.springframework.web.bind.annotation.ResponseBody; + +import javax.servlet.http.HttpServletRequest; +import java.util.Map; + +/** + * 应用模块名称+ *
+ * 代码描述
+ *
+ * Copyright: Copyright (C) 2021 CD Finance Management Co., Ltd. All rights reserved.
+ *
+ * Company: 中和农信项目管理有限公司
+ * + * @author zhonghui + * @since 2021/9/13 2:46 PM + */ +@Slf4j +@ControllerAdvice +public class GlobalExceptionHandler { + + + /** + * 处理自定义的业务异常 + * + * @param req + * @param e + * @return + */ + @ExceptionHandler(value = Exception.class) + @ResponseBody + public ResponseEntity bizExceptionHandler(HttpServletRequest req, Exception e) { + log.error("服务器异常!原因是:{}",e.getMessage(), e); + return ResponseEntity.noContent().build(); + } + + +} diff --git a/src/main/java/com/sczx/store/mapper/CompanyStoreMapper.java b/src/main/java/com/sczx/store/mapper/CompanyStoreMapper.java new file mode 100644 index 0000000..0cb3510 --- /dev/null +++ b/src/main/java/com/sczx/store/mapper/CompanyStoreMapper.java @@ -0,0 +1,23 @@ +package com.sczx.store.mapper; + +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.sczx.store.dto.CompanyStoreDTO; +import com.sczx.store.dto.req.StoreDistanceReq; +import com.sczx.store.po.CompanyStorePO; +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import org.apache.ibatis.annotations.Param; + +import java.util.List; + +/** + *
+ * 门店 Mapper 接口 + *
+ * + * @author zhangli + * @since 2025-07-08 21:16:36 + */ +public interface CompanyStoreMapper extends BaseMapper+ * 门店 + *
+ * + * @author zhangli + * @since 2025-07-08 21:16:36 + */ +@Getter +@Setter +@TableName("zc_company_store") +@ApiModel(value = "CompanyStorePO对象", description = "门店") +public class CompanyStorePO implements Serializable { + + private static final long serialVersionUID = 1L; + + @TableId(value = "id", type = IdType.AUTO) + private Integer id; + + @ApiModelProperty("门店名称") + private String name; + + @ApiModelProperty("联系人") + private String contactPerson; + + @ApiModelProperty("手机号码") + private String phone; + + @ApiModelProperty("联系人2") + private String contactPerson2; + + @ApiModelProperty("手机号码2") + private String phone2; + + @ApiModelProperty("省份") + private String provinceId; + + @ApiModelProperty("省份") + private String provinceName; + + @ApiModelProperty("城市") + private String cityId; + + @ApiModelProperty("城市") + private String cityName; + + @ApiModelProperty("区县") + private String areaId; + + @ApiModelProperty("城市") + private String areaName; + + @ApiModelProperty("省市区") + private String address; + + @ApiModelProperty("详细地址") + private String detailedAddress; + + @ApiModelProperty("门店logo") + private String image; + + @ApiModelProperty("纬度") + private Double latitude; + + @ApiModelProperty("经度") + private Double longitude; + + @ApiModelProperty("合同签订日期") + private String contractDate; + + @ApiModelProperty("每日营业开关时间") + private String dayTime; + + @ApiModelProperty("每日营业开始时间") + private String startTime; + + @ApiModelProperty("每日营业结束时间") + private String endTime; + + @ApiModelProperty("是否显示") + private Boolean isShow; + + @ApiModelProperty("是否删除") + private Boolean isDel; + + @ApiModelProperty("租车订单分成比例") + private BigDecimal zucheRatio; + + @ApiModelProperty("租电订单分成比例") + private BigDecimal zudianRatio; + + @ApiModelProperty("以租代售分成比例") + private BigDecimal daishouRatio; + + @ApiModelProperty("标签 1.可租车 2.可换电 3.二手车,多个用,号隔开,例如1,2,3") + private String label; + + @ApiModelProperty("运营公司id") + private Integer operatingCompanyId; + + @ApiModelProperty("运营性质 1.直营 0.合作") + private Boolean operatingNature; + + @ApiModelProperty("简介") + private String introduction; + + @ApiModelProperty("对公账号") + private String bankAccount; + + @ApiModelProperty("门店编号") + private String storeNumber; + + @ApiModelProperty("营业执照") + private String businessLicenseImg; + + @ApiModelProperty("审核状态 0.未审核 1.审核通过 2.审核未通过") + private Boolean auditStatus; + + @ApiModelProperty("审核时间") + private LocalDateTime auditTime; + + @ApiModelProperty("审核人id") + private Integer auditorId; + + @ApiModelProperty("所属用户id") + private Integer userId; + + @ApiModelProperty("是否允许回收退租天数 0.不允许 1.允许") + private Boolean isReturnAllowed; + + @ApiModelProperty("企业套餐保证金") + private BigDecimal mealDepositPrice; + + @ApiModelProperty("企业充值订单数限制") + private Integer orderNumLimit; + + @ApiModelProperty("创建人") + private String createBy; + + @ApiModelProperty("添加时间") + private LocalDateTime createTime; + + @ApiModelProperty("修改人") + private String updateBy; + + @ApiModelProperty("更新时间") + private LocalDateTime updateTime; + + private String delFlag; + + private String status; + + private String extend1; + + private String extend2; + + private String extend3; + + private String extend4; + + private String extend5; + + +} diff --git a/src/main/java/com/sczx/store/repository/CompanyStoreRepo.java b/src/main/java/com/sczx/store/repository/CompanyStoreRepo.java new file mode 100644 index 0000000..b3cc660 --- /dev/null +++ b/src/main/java/com/sczx/store/repository/CompanyStoreRepo.java @@ -0,0 +1,22 @@ +package com.sczx.store.repository; + +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.sczx.store.dto.CompanyStoreDTO; +import com.sczx.store.dto.req.StoreDistanceReq; +import com.sczx.store.po.CompanyStorePO; +import com.baomidou.mybatisplus.extension.service.IService; + +import java.util.List; + +/** + *+ * 门店 服务类 + *
+ * + * @author zhangli + * @since 2025-07-08 21:16:36 + */ +public interface CompanyStoreRepo extends IService+ * 门店 服务实现类 + *
+ * + * @author zhangli + * @since 2025-07-08 21:16:36 + */ +@Service +public class CompanyStoreRepoImpl extends ServiceImpl