diff --git a/muyu-modules/muyu-goods/muyu-goods-common/pom.xml b/muyu-modules/muyu-goods/muyu-goods-common/pom.xml new file mode 100644 index 0000000..eeb8cd7 --- /dev/null +++ b/muyu-modules/muyu-goods/muyu-goods-common/pom.xml @@ -0,0 +1,68 @@ + + + 4.0.0 + + com.muyu + muyu-goods + 3.6.3 + + + muyu-goods-common + + + 17 + 17 + UTF-8 + + + + + + com.muyu + muyu-common-core + + + + org.apache.iotdb + iotdb-session + 0.14.0-preview1 + + + + cn.hutool + hutool-all + 5.6.3 + + + + com.alibaba + fastjson + 1.2.83 + + + + org.springframework.boot + spring-boot-starter-web + + + + org.projectlombok + lombok + true + + + org.springframework.boot + spring-boot-starter-test + test + + + org.junit.vintage + junit-vintage-engine + + + + + + diff --git a/muyu-modules/muyu-goods/muyu-goods-common/src/main/java/com/muyu/goods/domain/IotDbParam.java b/muyu-modules/muyu-goods/muyu-goods-common/src/main/java/com/muyu/goods/domain/IotDbParam.java new file mode 100644 index 0000000..32495e9 --- /dev/null +++ b/muyu-modules/muyu-goods/muyu-goods-common/src/main/java/com/muyu/goods/domain/IotDbParam.java @@ -0,0 +1,35 @@ +package com.muyu.goods.domain; + +import lombok.Data; + +@Data +public class IotDbParam { + /*** + * 产品PK + */ + private String pk; + /*** + * 设备号 + */ + private String sn; + /*** + * 时间 + */ + private Long time; + /*** + * 实时呼吸 + */ + private String breath; + /*** + * 实时心率 + */ + private String heart; + /*** + * 查询开始时间 + */ + private String startTime; + /*** + * 查询结束时间 + */ + private String endTime; +} diff --git a/muyu-modules/muyu-goods/muyu-goods-common/src/main/java/com/muyu/goods/domain/IotDbResult.java b/muyu-modules/muyu-goods/muyu-goods-common/src/main/java/com/muyu/goods/domain/IotDbResult.java new file mode 100644 index 0000000..1fe83bd --- /dev/null +++ b/muyu-modules/muyu-goods/muyu-goods-common/src/main/java/com/muyu/goods/domain/IotDbResult.java @@ -0,0 +1,27 @@ +package com.muyu.goods.domain; + +import lombok.Data; + +@Data +public class IotDbResult { + /*** + * 时间 + */ + private String time; + /*** + * 产品PK + */ + private String pk; + /*** + * 设备号 + */ + private String sn; + /*** + * 实时呼吸 + */ + private String breath; + /*** + * 实时心率 + */ + private String heart; +} diff --git a/muyu-modules/muyu-goods/muyu-goods-common/src/main/resources/logback.xml b/muyu-modules/muyu-goods/muyu-goods-common/src/main/resources/logback.xml new file mode 100644 index 0000000..66e0d25 --- /dev/null +++ b/muyu-modules/muyu-goods/muyu-goods-common/src/main/resources/logback.xml @@ -0,0 +1,74 @@ + + + + + + + + + + + ${log.pattern} + + + + + + ${log.path}/info.log + + + + ${log.path}/info.%d{yyyy-MM-dd}.log + + 60 + + + ${log.pattern} + + + + INFO + + ACCEPT + + DENY + + + + + ${log.path}/error.log + + + + ${log.path}/error.%d{yyyy-MM-dd}.log + + 60 + + + ${log.pattern} + + + + ERROR + + ACCEPT + + DENY + + + + + + + + + + + + + + + + + + diff --git a/muyu-modules/muyu-goods/muyu-goods-remote/pom.xml b/muyu-modules/muyu-goods/muyu-goods-remote/pom.xml new file mode 100644 index 0000000..08f8cf2 --- /dev/null +++ b/muyu-modules/muyu-goods/muyu-goods-remote/pom.xml @@ -0,0 +1,28 @@ + + + 4.0.0 + + com.muyu + muyu-goods + 3.6.3 + + + muyu-goods-remote + + + 17 + 17 + UTF-8 + + + + + com.muyu + muyu-goods-common + 3.6.3 + + + + diff --git a/muyu-modules/muyu-goods/muyu-goods-service/pom.xml b/muyu-modules/muyu-goods/muyu-goods-service/pom.xml new file mode 100644 index 0000000..815173a --- /dev/null +++ b/muyu-modules/muyu-goods/muyu-goods-service/pom.xml @@ -0,0 +1,114 @@ + + + 4.0.0 + + com.muyu + muyu-goods + 3.6.3 + + + muyu-goods-service + + + 17 + 17 + UTF-8 + + + + + com.muyu + muyu-goods-common + 3.6.3 + + + + + com.alibaba.cloud + spring-cloud-starter-alibaba-nacos-discovery + + + + + com.alibaba.cloud + spring-cloud-starter-alibaba-nacos-config + + + + + com.alibaba.cloud + spring-cloud-starter-alibaba-sentinel + + + + + org.springframework.boot + spring-boot-starter-actuator + + + + + io.springfox + springfox-swagger-ui + ${swagger.fox.version} + + + + + com.mysql + mysql-connector-j + + + + + com.muyu + muyu-common-datasource + + + + + com.muyu + muyu-common-datascope + + + + + com.muyu + muyu-common-log + + + + + com.muyu + muyu-common-swagger + + + + + ${project.artifactId} + + + org.springframework.boot + spring-boot-maven-plugin + + + + repackage + + + + + + + org.apache.maven.plugins + maven-deploy-plugin + + true + + + + + + diff --git a/muyu-modules/muyu-goods/muyu-goods-service/src/main/java/com/muyu/goods/MuyuGoodsApplication.java b/muyu-modules/muyu-goods/muyu-goods-service/src/main/java/com/muyu/goods/MuyuGoodsApplication.java new file mode 100644 index 0000000..eaeaec5 --- /dev/null +++ b/muyu-modules/muyu-goods/muyu-goods-service/src/main/java/com/muyu/goods/MuyuGoodsApplication.java @@ -0,0 +1,19 @@ +package com.muyu.goods; + +import com.muyu.common.security.annotation.EnableCustomConfig; +import com.muyu.common.security.annotation.EnableMyFeignClients; +import com.muyu.common.swagger.annotation.EnableCustomSwagger2; +import org.springframework.boot.SpringApplication; +import org.springframework.boot.autoconfigure.SpringBootApplication; +import org.springframework.scheduling.annotation.EnableAsync; + +@SpringBootApplication +@EnableMyFeignClients +@EnableCustomSwagger2 +@EnableCustomConfig +@EnableAsync +public class MuyuGoodsApplication { + public static void main(String[] args) { + SpringApplication.run(MuyuGoodsApplication.class,args); + } +} diff --git a/muyu-modules/muyu-goods/muyu-goods-service/src/main/java/com/muyu/goods/config/IotDBSessionConfig.java b/muyu-modules/muyu-goods/muyu-goods-service/src/main/java/com/muyu/goods/config/IotDBSessionConfig.java new file mode 100644 index 0000000..1cdd971 --- /dev/null +++ b/muyu-modules/muyu-goods/muyu-goods-service/src/main/java/com/muyu/goods/config/IotDBSessionConfig.java @@ -0,0 +1,179 @@ +package com.muyu.goods.config; + +import org.apache.iotdb.rpc.IoTDBConnectionException; +import org.apache.iotdb.rpc.StatementExecutionException; +import org.apache.iotdb.session.Session; +import org.apache.iotdb.session.SessionDataSet; +import org.apache.iotdb.session.util.Version; +import org.apache.iotdb.tsfile.file.metadata.enums.TSDataType; +import org.apache.iotdb.tsfile.write.record.Tablet; +import org.apache.iotdb.tsfile.write.schema.MeasurementSchema; + +import java.rmi.ServerException; +import java.util.ArrayList; +import java.util.List; + +import org.springframework.context.annotation.Bean; +import lombok.extern.log4j.Log4j2; +import org.springframework.context.annotation.Configuration; +import org.springframework.stereotype.Component; + +@Log4j2 +@Component +@Configuration +public class IotDBSessionConfig { + private static Session session; + private static final String LOCAL_HOST = "129.211.23.219"; + @Bean + public Session getSession() throws IoTDBConnectionException, StatementExecutionException { + if (session == null) { + log.info("正在连接iotdb......."); + session = new Session.Builder().host(LOCAL_HOST).port(6667).username("root").password("root").version(Version.V_0_13).build(); + session.open(false); + session.setFetchSize(100); + log.info("iotdb连接成功~"); + // 设置时区 + session.setTimeZone("+08:00"); + } + return session; + } + + /** + * description: 带有数据类型的添加操作 - insertRecord没有指定类型 + * author: zhouhong + * @param * @param deviceId:节点路径如:root.a1eaKSRpRty.CA3013A303A25467 + * time:时间戳 + * measurementsList:物理量 即:属性 + * type:数据类型: BOOLEAN((byte)0), INT32((byte)1),INT64((byte)2),FLOAT((byte)3),DOUBLE((byte)4),TEXT((byte)5),VECTOR((byte)6); + * valuesList:属性值 --- 属性必须与属性值一一对应 + * @return + */ + public void insertRecordType(String deviceId, Long time,List measurementsList, TSDataType type,List valuesList) throws StatementExecutionException, IoTDBConnectionException, ServerException { + if (measurementsList.size() != valuesList.size()) { + throw new ServerException("measurementsList 与 valuesList 值不对应"); + } + List types = new ArrayList<>(); + measurementsList.forEach(item -> { + types.add(type); + }); + session.insertRecord(deviceId, time, measurementsList, types, valuesList); + } + /** + * description: 带有数据类型的添加操作 - insertRecord没有指定类型 + * author: zhouhong + * @param deviceId:节点路径如:root.a1eaKSRpRty.CA3013A303A25467 + * @param time:时间戳 + * @param measurementsList:物理量 即:属性 + * @param valuesList:属性值 --- 属性必须与属性值一一对应 + * @return + */ + public void insertRecord(String deviceId, Long time,List measurementsList, List valuesList) throws StatementExecutionException, IoTDBConnectionException, ServerException { + if (measurementsList.size() == valuesList.size()) { + session.insertRecord(deviceId, time, measurementsList, valuesList); + } else { + log.error("measurementsList 与 valuesList 值不对应"); + } + } + /** + * description: 批量插入 + * author: zhouhong + */ + public void insertRecords(List deviceIdList, List timeList, List> measurementsList, List> valuesList) throws StatementExecutionException, IoTDBConnectionException, ServerException { + if (measurementsList.size() == valuesList.size()) { + session.insertRecords(deviceIdList, timeList, measurementsList, valuesList); + } else { + log.error("measurementsList 与 valuesList 值不对应"); + } + } + + /** + * description: 插入操作 + * author: zhouhong + * @param deviceId:节点路径如:root.a1eaKSRpRty.CA3013A303A25467 + * @param time:时间戳 + * @param schemaList: 属性值 + 数据类型 例子: List schemaList = new ArrayList<>(); schemaList.add(new MeasurementSchema("breath", TSDataType.INT64)); + * @param maxRowNumber: + * @return + */ + public void insertTablet(String deviceId, Long time,List schemaList, List valueList,int maxRowNumber) throws StatementExecutionException, IoTDBConnectionException { + + Tablet tablet = new Tablet(deviceId, schemaList, maxRowNumber); + // 向iotdb里面添加数据 + int rowIndex = tablet.rowSize++; + tablet.addTimestamp(rowIndex, time); + for (int i = 0; i < valueList.size(); i++) { + tablet.addValue(schemaList.get(i).getMeasurementId(), rowIndex, valueList.get(i)); + } + if (tablet.rowSize == tablet.getMaxRowNumber()) { + session.insertTablet(tablet, true); + tablet.reset(); + } + if (tablet.rowSize != 0) { + session.insertTablet(tablet); + tablet.reset(); + } + } + + /** + * description: 根据SQL查询 + * author: zhouhong + */ + public SessionDataSet query(String sql) throws StatementExecutionException, IoTDBConnectionException { + return session.executeQueryStatement(sql); + } + + /** + * description: 删除分组 如 root.a1eaKSRpRty + * author: zhouhong + * @param groupName:分组名称 + * @return + */ + public void deleteStorageGroup(String groupName) throws StatementExecutionException, IoTDBConnectionException { + session.deleteStorageGroup(groupName); + } + + /** + * description: 根据Timeseries删除 如:root.a1eaKSRpRty.CA3013A303A25467.breath (个人理解:为具体的物理量) + * author: zhouhong + */ + public void deleteTimeseries(String timeseries) throws StatementExecutionException, IoTDBConnectionException { + session.deleteTimeseries(timeseries); + } + /** + * description: 根据Timeseries批量删除 + * author: zhouhong + */ + public void deleteTimeserieList(List timeseriesList) throws StatementExecutionException, IoTDBConnectionException { + session.deleteTimeseries(timeseriesList); + } + + /** + * description: 根据分组批量删除 + * author: zhouhong + */ + public void deleteStorageGroupList(List storageGroupList) throws StatementExecutionException, IoTDBConnectionException { + session.deleteStorageGroups(storageGroupList); + } + + /** + * description: 根据路径和结束时间删除 结束时间之前的所有数据 + * author: zhouhong + */ + public void deleteDataByPathAndEndTime(String path, Long endTime) throws StatementExecutionException, IoTDBConnectionException { + session.deleteData(path, endTime); + } + /** + * description: 根据路径集合和结束时间批量删除 结束时间之前的所有数据 + * author: zhouhong + */ + public void deleteDataByPathListAndEndTime(List pathList, Long endTime) throws StatementExecutionException, IoTDBConnectionException { + session.deleteData(pathList, endTime); + } + /** + * description: 根据路径集合和时间段批量删除 + * author: zhouhong + */ + public void deleteDataByPathListAndTime(List pathList, Long startTime,Long endTime) throws StatementExecutionException, IoTDBConnectionException { + session.deleteData(pathList, startTime, endTime); + } +} diff --git a/muyu-modules/muyu-goods/muyu-goods-service/src/main/java/com/muyu/goods/controller/GoodsController.java b/muyu-modules/muyu-goods/muyu-goods-service/src/main/java/com/muyu/goods/controller/GoodsController.java new file mode 100644 index 0000000..b4df86a --- /dev/null +++ b/muyu-modules/muyu-goods/muyu-goods-service/src/main/java/com/muyu/goods/controller/GoodsController.java @@ -0,0 +1,9 @@ +package com.muyu.goods.controller; + +import lombok.extern.log4j.Log4j2; +import org.springframework.web.bind.annotation.RestController; + +@RestController +@Log4j2 +public class GoodsController { +} diff --git a/muyu-modules/muyu-goods/muyu-goods-service/src/main/java/com/muyu/goods/controller/IotDbController.java b/muyu-modules/muyu-goods/muyu-goods-service/src/main/java/com/muyu/goods/controller/IotDbController.java new file mode 100644 index 0000000..af00647 --- /dev/null +++ b/muyu-modules/muyu-goods/muyu-goods-service/src/main/java/com/muyu/goods/controller/IotDbController.java @@ -0,0 +1,55 @@ +package com.muyu.goods.controller; + +import com.muyu.common.core.domain.Result; +import com.muyu.common.core.web.controller.BaseController; +import com.muyu.goods.config.IotDBSessionConfig; +import com.muyu.goods.domain.IotDbParam; +import com.muyu.goods.service.IotDbServer; +import lombok.extern.log4j.Log4j2; +import org.apache.iotdb.rpc.IoTDBConnectionException; +import org.apache.iotdb.rpc.StatementExecutionException; +import org.springframework.web.bind.annotation.PostMapping; +import org.springframework.web.bind.annotation.RequestBody; +import org.springframework.web.bind.annotation.RestController; + +import javax.annotation.Resource; +import java.rmi.ServerException; + +@Log4j2 +@RestController +public class IotDbController extends BaseController { + @Resource + private IotDbServer iotDbServer; + @Resource + private IotDBSessionConfig iotDBSessionConfig; + + /** + * 插入数据 + * @param iotDbParam + */ + @PostMapping("/api/device/insert") + public Result insert(@RequestBody IotDbParam iotDbParam) throws StatementExecutionException, ServerException, IoTDBConnectionException { + iotDbServer.insertData(iotDbParam); + return success(); + } + + /** + * 插入数据 + * @param iotDbParam + */ + @PostMapping("/api/device/queryData") + public Result queryDataFromIotDb(@RequestBody IotDbParam iotDbParam) throws Exception { + return success(iotDbServer.queryDataFromIotDb(iotDbParam)); + } + + /** + * 删除分组 + * @return + */ + @PostMapping("/api/device/deleteGroup") + public Result deleteGroup() throws StatementExecutionException, IoTDBConnectionException { + iotDBSessionConfig.deleteStorageGroup("root.a1eaKSRpRty"); + iotDBSessionConfig.deleteStorageGroup("root.smartretirement"); + return success(); + } +} diff --git a/muyu-modules/muyu-goods/muyu-goods-service/src/main/java/com/muyu/goods/mapper/GoodsMapper.java b/muyu-modules/muyu-goods/muyu-goods-service/src/main/java/com/muyu/goods/mapper/GoodsMapper.java new file mode 100644 index 0000000..578bd7e --- /dev/null +++ b/muyu-modules/muyu-goods/muyu-goods-service/src/main/java/com/muyu/goods/mapper/GoodsMapper.java @@ -0,0 +1,4 @@ +package com.muyu.goods.mapper; + +public interface GoodsMapper { +} diff --git a/muyu-modules/muyu-goods/muyu-goods-service/src/main/java/com/muyu/goods/service/GoodsService.java b/muyu-modules/muyu-goods/muyu-goods-service/src/main/java/com/muyu/goods/service/GoodsService.java new file mode 100644 index 0000000..efada26 --- /dev/null +++ b/muyu-modules/muyu-goods/muyu-goods-service/src/main/java/com/muyu/goods/service/GoodsService.java @@ -0,0 +1,4 @@ +package com.muyu.goods.service; + +public interface GoodsService { +} diff --git a/muyu-modules/muyu-goods/muyu-goods-service/src/main/java/com/muyu/goods/service/IotDbServer.java b/muyu-modules/muyu-goods/muyu-goods-service/src/main/java/com/muyu/goods/service/IotDbServer.java new file mode 100644 index 0000000..ad74818 --- /dev/null +++ b/muyu-modules/muyu-goods/muyu-goods-service/src/main/java/com/muyu/goods/service/IotDbServer.java @@ -0,0 +1,15 @@ +package com.muyu.goods.service; + +import com.muyu.goods.domain.IotDbParam; +import com.muyu.goods.domain.IotDbResult; +import org.apache.iotdb.rpc.IoTDBConnectionException; +import org.apache.iotdb.rpc.StatementExecutionException; + +import java.rmi.ServerException; +import java.util.List; + +public interface IotDbServer { + + public void insertData(IotDbParam iotDbParam) throws StatementExecutionException, ServerException, IoTDBConnectionException; + public List queryDataFromIotDb(IotDbParam iotDbParam) throws Exception; +} diff --git a/muyu-modules/muyu-goods/muyu-goods-service/src/main/java/com/muyu/goods/service/impl/GoodsServiceImpl.java b/muyu-modules/muyu-goods/muyu-goods-service/src/main/java/com/muyu/goods/service/impl/GoodsServiceImpl.java new file mode 100644 index 0000000..1d0d99f --- /dev/null +++ b/muyu-modules/muyu-goods/muyu-goods-service/src/main/java/com/muyu/goods/service/impl/GoodsServiceImpl.java @@ -0,0 +1,8 @@ +package com.muyu.goods.service.impl; + +import com.muyu.goods.service.GoodsService; +import org.springframework.stereotype.Service; + +@Service +public class GoodsServiceImpl implements GoodsService { +} diff --git a/muyu-modules/muyu-goods/muyu-goods-service/src/main/java/com/muyu/goods/service/impl/IotDbServerImpl.java b/muyu-modules/muyu-goods/muyu-goods-service/src/main/java/com/muyu/goods/service/impl/IotDbServerImpl.java new file mode 100644 index 0000000..e6e1070 --- /dev/null +++ b/muyu-modules/muyu-goods/muyu-goods-service/src/main/java/com/muyu/goods/service/impl/IotDbServerImpl.java @@ -0,0 +1,103 @@ +package com.muyu.goods.service.impl; + +import com.muyu.goods.domain.IotDbParam; +import com.muyu.goods.domain.IotDbResult; +import org.apache.iotdb.rpc.IoTDBConnectionException; +import org.apache.iotdb.rpc.StatementExecutionException; +import org.apache.iotdb.session.SessionDataSet; +import org.apache.iotdb.tsfile.read.common.Field; +import org.apache.iotdb.tsfile.read.common.RowRecord; + +import java.rmi.ServerException; +import java.util.ArrayList; +import java.util.HashMap; +import java.util.List; +import java.util.Map; + +import com.muyu.goods.config.IotDBSessionConfig; +import com.muyu.goods.service.IotDbServer; +import lombok.extern.log4j.Log4j2; +import org.springframework.stereotype.Service; + +import javax.annotation.Resource; + +@Log4j2 +@Service +public class IotDbServerImpl implements IotDbServer { + + @Resource + private IotDBSessionConfig iotDBSessionConfig; + + @Override + public void insertData(IotDbParam iotDbParam) throws StatementExecutionException, ServerException, IoTDBConnectionException { + // iotDbParam: 模拟设备上报消息 + // bizkey: 业务唯一key PK :产品唯一编码 SN:设备唯一编码 + String deviceId = "root.bizkey."+ iotDbParam.getPk() + "." + iotDbParam.getSn(); + // 将设备上报的数据存入数据库(时序数据库) + List measurementsList = new ArrayList<>(); + measurementsList.add("heart"); + measurementsList.add("breath"); + List valuesList = new ArrayList<>(); + valuesList.add(String.valueOf(iotDbParam.getHeart())); + valuesList.add(String.valueOf(iotDbParam.getBreath())); + iotDBSessionConfig.insertRecord(deviceId, iotDbParam.getTime(), measurementsList, valuesList); + } + + @Override + public List queryDataFromIotDb(IotDbParam iotDbParam) throws Exception { + List iotDbResultList = new ArrayList<>(); + + if (null != iotDbParam.getPk() && null != iotDbParam.getSn()) { + String sql = "select * from root.bizkey."+ iotDbParam.getPk() +"." + iotDbParam.getSn() + " where time >= " + + iotDbParam.getStartTime() + " and time < " + iotDbParam.getEndTime(); + SessionDataSet sessionDataSet = iotDBSessionConfig.query(sql); + List columnNames = sessionDataSet.getColumnNames(); + List titleList = new ArrayList<>(); + // 排除Time字段 -- 方便后面后面拼装数据 + for (int i = 1; i < columnNames.size(); i++) { + String[] temp = columnNames.get(i).split("\\."); + titleList.add(temp[temp.length - 1]); + } + // 封装处理数据 + packagingData(iotDbParam, iotDbResultList, sessionDataSet, titleList); + } else { + log.info("PK或者SN不能为空!!"); + } + return iotDbResultList; + } + /** + * 封装处理数据 + * @param iotDbParam + * @param iotDbResultList + * @param sessionDataSet + * @param titleList + * @throws StatementExecutionException + * @throws IoTDBConnectionException + */ + private void packagingData(IotDbParam iotDbParam, List iotDbResultList, SessionDataSet sessionDataSet, List titleList) + throws StatementExecutionException, IoTDBConnectionException { + int fetchSize = sessionDataSet.getFetchSize(); + if (fetchSize > 0) { + while (sessionDataSet.hasNext()) { + IotDbResult iotDbResult = new IotDbResult(); + RowRecord next = sessionDataSet.next(); + List fields = next.getFields(); + String timeString = new java.text.SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(next.getTimestamp()); + iotDbResult.setTime(timeString); + Map map = new HashMap<>(); + + for (int i = 0; i < fields.size(); i++) { + Field field = fields.get(i); + // 这里的需要按照类型获取 + map.put(titleList.get(i), field.getObjectValue(field.getDataType()).toString()); + } + iotDbResult.setTime(timeString); + iotDbResult.setPk(iotDbParam.getPk()); + iotDbResult.setSn(iotDbParam.getSn()); + iotDbResult.setHeart(map.get("heart")); + iotDbResult.setBreath(map.get("breath")); + iotDbResultList.add(iotDbResult); + } + } + } +} diff --git a/muyu-modules/muyu-goods/muyu-goods-service/src/main/resources/bootstrap.yml b/muyu-modules/muyu-goods/muyu-goods-service/src/main/resources/bootstrap.yml new file mode 100644 index 0000000..b813519 --- /dev/null +++ b/muyu-modules/muyu-goods/muyu-goods-service/src/main/resources/bootstrap.yml @@ -0,0 +1,33 @@ +# Tomcat +server: + port: 9508 + +# Spring +spring: + rabbitmq: + host: 129.211.23.219 + port: 5672 + username: guest + password: guest + application: + # 应用名称 + name: muyu-goods + profiles: + # 环境配置 + active: dev + cloud: + nacos: + discovery: + # 服务注册地址 + server-addr: 129.211.23.219:8848 + config: + # 配置中心地址 + server-addr: 129.211.23.219:8848 + # 配置文件格式 + file-extension: yml + # 共享配置 + shared-configs: + - application-${spring.profiles.active}.${spring.cloud.nacos.config.file-extension} +logging: + level: + com.muyu.edition.mapper: DEBUG diff --git a/muyu-modules/muyu-goods/muyu-goods-service/src/main/resources/logback.xml b/muyu-modules/muyu-goods/muyu-goods-service/src/main/resources/logback.xml new file mode 100644 index 0000000..66e0d25 --- /dev/null +++ b/muyu-modules/muyu-goods/muyu-goods-service/src/main/resources/logback.xml @@ -0,0 +1,74 @@ + + + + + + + + + + + ${log.pattern} + + + + + + ${log.path}/info.log + + + + ${log.path}/info.%d{yyyy-MM-dd}.log + + 60 + + + ${log.pattern} + + + + INFO + + ACCEPT + + DENY + + + + + ${log.path}/error.log + + + + ${log.path}/error.%d{yyyy-MM-dd}.log + + 60 + + + ${log.pattern} + + + + ERROR + + ACCEPT + + DENY + + + + + + + + + + + + + + + + + + diff --git a/muyu-modules/muyu-goods/muyu-goods-service/src/main/resources/mapper/goods/GoodsMapper.xml b/muyu-modules/muyu-goods/muyu-goods-service/src/main/resources/mapper/goods/GoodsMapper.xml new file mode 100644 index 0000000..9446230 --- /dev/null +++ b/muyu-modules/muyu-goods/muyu-goods-service/src/main/resources/mapper/goods/GoodsMapper.xml @@ -0,0 +1,6 @@ + + + + diff --git a/muyu-modules/muyu-goods/pom.xml b/muyu-modules/muyu-goods/pom.xml new file mode 100644 index 0000000..781a571 --- /dev/null +++ b/muyu-modules/muyu-goods/pom.xml @@ -0,0 +1,27 @@ + + + 4.0.0 + + com.muyu + muyu + 3.6.3 + ../../pom.xml + + + muyu-goods + pom + + muyu-goods-common + muyu-goods-service + muyu-goods-remote + + + + 17 + 17 + UTF-8 + + + diff --git a/pom.xml b/pom.xml index fc97f1d..5df6dfc 100644 --- a/pom.xml +++ b/pom.xml @@ -215,6 +215,7 @@ muyu-visual muyu-modules muyu-common + muyu-modules/muyu-goods pom