{
+
+}
diff --git a/service/service-sys/src/main/java/com/atguigu/ssyx/sys/mapper/RegionWareMapper.java b/service/service-sys/src/main/java/com/atguigu/ssyx/sys/mapper/RegionWareMapper.java
new file mode 100644
index 0000000..2176497
--- /dev/null
+++ b/service/service-sys/src/main/java/com/atguigu/ssyx/sys/mapper/RegionWareMapper.java
@@ -0,0 +1,16 @@
+package com.atguigu.ssyx.sys.mapper;
+
+import com.atguigu.ssyx.model.sys.RegionWare;
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+
+/**
+ *
+ * 城市仓库关联表 Mapper 接口
+ *
+ *
+ * @author atguigu
+ * @since 2024-04-02
+ */
+public interface RegionWareMapper extends BaseMapper {
+
+}
diff --git a/service/service-sys/src/main/java/com/atguigu/ssyx/sys/mapper/WareMapper.java b/service/service-sys/src/main/java/com/atguigu/ssyx/sys/mapper/WareMapper.java
new file mode 100644
index 0000000..a0704b2
--- /dev/null
+++ b/service/service-sys/src/main/java/com/atguigu/ssyx/sys/mapper/WareMapper.java
@@ -0,0 +1,16 @@
+package com.atguigu.ssyx.sys.mapper;
+
+import com.atguigu.ssyx.model.sys.Ware;
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+
+/**
+ *
+ * 仓库表 Mapper 接口
+ *
+ *
+ * @author atguigu
+ * @since 2024-04-02
+ */
+public interface WareMapper extends BaseMapper {
+
+}
diff --git a/service/service-sys/src/main/java/com/atguigu/ssyx/sys/service/RegionService.java b/service/service-sys/src/main/java/com/atguigu/ssyx/sys/service/RegionService.java
new file mode 100644
index 0000000..2939567
--- /dev/null
+++ b/service/service-sys/src/main/java/com/atguigu/ssyx/sys/service/RegionService.java
@@ -0,0 +1,25 @@
+package com.atguigu.ssyx.sys.service;
+
+import com.atguigu.ssyx.model.sys.Region;
+import com.baomidou.mybatisplus.extension.service.IService;
+
+import java.util.List;
+
+/**
+ *
+ * 地区表 服务类
+ *
+ *
+ * @author atguigu
+ * @since 2024-04-02
+ */
+public interface RegionService extends IService {
+
+ /**
+ * 根据关键字获取地区列表
+ *
+ * @param keyword 关键字
+ * @return List
+ */
+ List findRegionByKeyword(String keyword);
+}
diff --git a/service/service-sys/src/main/java/com/atguigu/ssyx/sys/service/RegionWareService.java b/service/service-sys/src/main/java/com/atguigu/ssyx/sys/service/RegionWareService.java
new file mode 100644
index 0000000..1b261c1
--- /dev/null
+++ b/service/service-sys/src/main/java/com/atguigu/ssyx/sys/service/RegionWareService.java
@@ -0,0 +1,25 @@
+package com.atguigu.ssyx.sys.service;
+
+import com.atguigu.ssyx.model.sys.RegionWare;
+import com.atguigu.ssyx.vo.sys.RegionWareQueryVo;
+import com.baomidou.mybatisplus.core.metadata.IPage;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.baomidou.mybatisplus.extension.service.IService;
+
+public interface RegionWareService extends IService {
+
+ /**
+ * 开通区域列表
+ */
+ IPage selectPage(Page pageParam, RegionWareQueryVo regionWareQueryVo);
+
+ /**
+ * 添加开通区域
+ */
+ void saveRegionWare(RegionWare regionWare);
+
+ /**
+ * 取消开通区域
+ */
+ void updateStatus(Long id, Integer status);
+}
diff --git a/service/service-sys/src/main/java/com/atguigu/ssyx/sys/service/WareService.java b/service/service-sys/src/main/java/com/atguigu/ssyx/sys/service/WareService.java
new file mode 100644
index 0000000..8fc37a7
--- /dev/null
+++ b/service/service-sys/src/main/java/com/atguigu/ssyx/sys/service/WareService.java
@@ -0,0 +1,16 @@
+package com.atguigu.ssyx.sys.service;
+
+import com.atguigu.ssyx.model.sys.Ware;
+import com.baomidou.mybatisplus.extension.service.IService;
+
+/**
+ *
+ * 仓库表 服务类
+ *
+ *
+ * @author atguigu
+ * @since 2024-04-02
+ */
+public interface WareService extends IService {
+
+}
diff --git a/service/service-sys/src/main/java/com/atguigu/ssyx/sys/service/impl/RegionServiceImpl.java b/service/service-sys/src/main/java/com/atguigu/ssyx/sys/service/impl/RegionServiceImpl.java
new file mode 100644
index 0000000..55d6a74
--- /dev/null
+++ b/service/service-sys/src/main/java/com/atguigu/ssyx/sys/service/impl/RegionServiceImpl.java
@@ -0,0 +1,33 @@
+package com.atguigu.ssyx.sys.service.impl;
+
+import com.atguigu.ssyx.model.sys.Region;
+import com.atguigu.ssyx.sys.mapper.RegionMapper;
+import com.atguigu.ssyx.sys.service.RegionService;
+import com.baomidou.mybatisplus.core.toolkit.Wrappers;
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import org.springframework.stereotype.Service;
+
+import java.util.List;
+
+/**
+ *
+ * 地区表 服务实现类
+ *
+ *
+ * @author atguigu
+ * @since 2024-04-02
+ */
+@Service
+public class RegionServiceImpl extends ServiceImpl implements RegionService {
+
+ /**
+ * 根据关键字获取地区列表
+ *
+ * @param keyword 关键字
+ * @return List
+ */
+ @Override
+ public List findRegionByKeyword(String keyword) {
+ return baseMapper.selectList(Wrappers.lambdaQuery().like(Region::getName, keyword));
+ }
+}
diff --git a/service/service-sys/src/main/java/com/atguigu/ssyx/sys/service/impl/RegionWareServiceImpl.java b/service/service-sys/src/main/java/com/atguigu/ssyx/sys/service/impl/RegionWareServiceImpl.java
new file mode 100644
index 0000000..ea9035d
--- /dev/null
+++ b/service/service-sys/src/main/java/com/atguigu/ssyx/sys/service/impl/RegionWareServiceImpl.java
@@ -0,0 +1,58 @@
+package com.atguigu.ssyx.sys.service.impl;
+
+import com.atguigu.ssyx.common.exception.BunnyException;
+import com.atguigu.ssyx.common.result.ResultCodeEnum;
+import com.atguigu.ssyx.model.sys.RegionWare;
+import com.atguigu.ssyx.sys.mapper.RegionWareMapper;
+import com.atguigu.ssyx.sys.service.RegionWareService;
+import com.atguigu.ssyx.vo.sys.RegionWareQueryVo;
+import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
+import com.baomidou.mybatisplus.core.metadata.IPage;
+import com.baomidou.mybatisplus.core.toolkit.Wrappers;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import org.springframework.stereotype.Service;
+import org.springframework.util.StringUtils;
+
+@Service
+public class RegionWareServiceImpl extends ServiceImpl implements RegionWareService {
+
+ /**
+ * 开通区域列表
+ */
+ @Override
+ public IPage selectPage(Page pageParam, RegionWareQueryVo regionWareQueryVo) {
+ String keyword = regionWareQueryVo.getKeyword();
+ LambdaQueryWrapper wrapper = new LambdaQueryWrapper<>();
+
+ // 查询
+ wrapper.like(!StringUtils.isEmpty(keyword), RegionWare::getRegionName, keyword).or().like(!StringUtils.isEmpty(keyword), RegionWare::getWareName, keyword);
+
+ return baseMapper.selectPage(pageParam, wrapper);
+ }
+
+ /**
+ * 添加开通区域
+ */
+ @Override
+ public void saveRegionWare(RegionWare regionWare) {
+ // 查询当前区域是否开通
+ Integer count = baseMapper.selectCount(Wrappers.lambdaQuery().eq(RegionWare::getRegionId, regionWare.getRegionId()));
+ if (count > 0) {
+ throw new BunnyException(ResultCodeEnum.REGION_OPEN);
+ }
+
+ baseMapper.insert(regionWare);
+ }
+
+ /**
+ * 取消开通区域
+ */
+ @Override
+ public void updateStatus(Long id, Integer status) {
+ RegionWare regionWare = baseMapper.selectById(id);
+ regionWare.setStatus(status);
+ // 更新数据
+ baseMapper.updateById(regionWare);
+ }
+}
diff --git a/service/service-sys/src/main/java/com/atguigu/ssyx/sys/service/impl/WareServiceImpl.java b/service/service-sys/src/main/java/com/atguigu/ssyx/sys/service/impl/WareServiceImpl.java
new file mode 100644
index 0000000..471ddf3
--- /dev/null
+++ b/service/service-sys/src/main/java/com/atguigu/ssyx/sys/service/impl/WareServiceImpl.java
@@ -0,0 +1,20 @@
+package com.atguigu.ssyx.sys.service.impl;
+
+import com.atguigu.ssyx.model.sys.Ware;
+import com.atguigu.ssyx.sys.mapper.WareMapper;
+import com.atguigu.ssyx.sys.service.WareService;
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import org.springframework.stereotype.Service;
+
+/**
+ *
+ * 仓库表 服务实现类
+ *
+ *
+ * @author atguigu
+ * @since 2024-04-02
+ */
+@Service
+public class WareServiceImpl extends ServiceImpl implements WareService {
+
+}
diff --git a/service/service-sys/src/main/resources/application-dev.yml b/service/service-sys/src/main/resources/application-dev.yml
new file mode 100644
index 0000000..314bbeb
--- /dev/null
+++ b/service/service-sys/src/main/resources/application-dev.yml
@@ -0,0 +1,15 @@
+server:
+ port: 8202
+
+bunny:
+ datasource:
+ host: 106.15.251.123
+ port: 3305
+ sqlData: shequ-sys
+ username: root
+ password: "02120212"
+
+ nacos:
+ server-addr: z-bunny.cn:8848
+ discovery:
+ namespace: ssyx
\ No newline at end of file
diff --git a/service/service-sys/src/main/resources/application.yml b/service/service-sys/src/main/resources/application.yml
new file mode 100644
index 0000000..6002948
--- /dev/null
+++ b/service/service-sys/src/main/resources/application.yml
@@ -0,0 +1,56 @@
+server:
+ port: 8202
+
+spring:
+ application:
+ name: service-sys
+ profiles:
+ active: dev
+
+ datasource:
+ type: com.zaxxer.hikari.HikariDataSource
+ driver-class-name: com.mysql.cj.jdbc.Driver
+ url: jdbc:mysql://${bunny.datasource.host}:${bunny.datasource.port}/${bunny.datasource.sqlData}?serverTimezone=GMT%2B8&useSSL=false&characterEncoding=utf-8&allowPublicKeyRetrieval=true
+ username: ${bunny.datasource.username}
+ password: ${bunny.datasource.password}
+
+ cloud:
+ sentinel:
+ log:
+ dir: logs/${spring.application.name}/sentinel
+ nacos:
+ discovery:
+ namespace: ${bunny.nacos.discovery.namespace}
+ server-addr: ${bunny.nacos.server-addr}
+
+ jackson:
+ date-format: yyyy-MM-dd HH:mm:ss
+ time-zone: GMT+8
+
+
+mybatis-plus:
+ type-aliases-package: com.atguigu.model # 配置每个包前缀
+ mapper-locations: classpath:mapper/*.xml
+ configuration:
+ map-underscore-to-camel-case: true
+ auto-mapping-behavior: full
+ log-impl: org.apache.ibatis.logging.stdout.StdOutImpl # 查看日志
+ global-config:
+ db-config:
+ # 设置表名前缀,不用在每个tableName添加前缀
+ # table-prefix: t_
+ # 全局配置主键值方式
+ id-type: assign_id
+ logic-not-delete-value: 0 # 未删除默认为0
+ logic-delete-value: 1 # 删除
+ logic-delete-field: deleted # 全局配置逻辑删除
+
+logging:
+ level:
+ com.atguigu.ssyx.sys.mapper: debug
+ com.atguigu.ssyx.sys.controller: info
+ com.atguigu.ssyx.sys.service: info
+ pattern:
+ dateformat: HH:mm:ss:SSS
+ file:
+ path: "logs/${spring.application.name}"
\ No newline at end of file
diff --git a/service/service-sys/src/main/resources/banner.txt b/service/service-sys/src/main/resources/banner.txt
new file mode 100644
index 0000000..cc77fc2
--- /dev/null
+++ b/service/service-sys/src/main/resources/banner.txt
@@ -0,0 +1,16 @@
+-----------------▄██-█▄---------
+-----------------███▄██▄--------
+-----------------███████--------
+-----------------▀███████-------
+-------------------██████▄▄-----
+-------------------█████████▄---
+-------------------██████▄████--
+-------▄███████████████████████-
+-----▄███████████████████████▀--
+---▄██████████████████████------
+---███████████████████████------
+---███████████████████████------
+-▄▄██████████████████████▀------
+-█████████████████▀█████--------
+-▀██████████████▀▀-▀█████▄------
+-------▀▀▀▀▀▀▀▀▀------▀▀▀▀------
\ No newline at end of file
diff --git a/service/service-sys/src/main/resources/favicon.ico b/service/service-sys/src/main/resources/favicon.ico
new file mode 100644
index 0000000..1ba397c
Binary files /dev/null and b/service/service-sys/src/main/resources/favicon.ico differ
diff --git a/service/service-sys/src/main/resources/mapper/RegionMapper.xml b/service/service-sys/src/main/resources/mapper/RegionMapper.xml
new file mode 100644
index 0000000..639a34d
--- /dev/null
+++ b/service/service-sys/src/main/resources/mapper/RegionMapper.xml
@@ -0,0 +1,5 @@
+
+
+
+
+
diff --git a/service/service-sys/src/main/resources/mapper/RegionWareMapper.xml b/service/service-sys/src/main/resources/mapper/RegionWareMapper.xml
new file mode 100644
index 0000000..ea74838
--- /dev/null
+++ b/service/service-sys/src/main/resources/mapper/RegionWareMapper.xml
@@ -0,0 +1,5 @@
+
+
+
+
+
diff --git a/service/service-sys/src/main/resources/mapper/WareMapper.xml b/service/service-sys/src/main/resources/mapper/WareMapper.xml
new file mode 100644
index 0000000..0a302a7
--- /dev/null
+++ b/service/service-sys/src/main/resources/mapper/WareMapper.xml
@@ -0,0 +1,5 @@
+
+
+
+
+