开始更新新架构

This commit is contained in:
Richie 2025-04-21 09:52:45 +08:00
parent 625250dd9c
commit 67f329cb14
12 changed files with 789 additions and 0 deletions

View File

@ -0,0 +1,28 @@
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<parent>
<groupId>cn.qihangerp.services</groupId>
<artifactId>microservices</artifactId>
<version>1.0.6</version>
</parent>
<artifactId>goods-api</artifactId>
<packaging>jar</packaging>
<name>goods-api</name>
<url>http://maven.apache.org</url>
<properties>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
</properties>
<dependencies>
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>3.8.1</version>
<scope>test</scope>
</dependency>
</dependencies>
</project>

View File

@ -0,0 +1,23 @@
package com.zhijian;
//import org.mybatis.spring.boot.autoconfigure.MybatisAutoConfiguration;
import org.springframework.boot.SpringBootConfiguration;
import org.springframework.boot.autoconfigure.EnableAutoConfiguration;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.boot.autoconfigure.condition.ConditionalOnClass;
import org.springframework.context.annotation.ComponentScan;
import org.springframework.context.annotation.Configuration;
import org.springframework.boot.autoconfigure.jdbc.DataSourceAutoConfiguration;
import org.springframework.context.annotation.FilterType;
//@EnableAutoConfiguration(exclude = { DataSourceAutoConfiguration.class ,MybatisAutoConfiguration.class})
//@ComponentScan
//@Configuration
//@EnableAutoConfiguration
@Configuration
//@EnableAutoConfiguration(exclude = MybatisAutoConfiguration.class)
@ComponentScan(basePackages = "com.zhijian",
excludeFilters = @ComponentScan.Filter(type = FilterType.ASSIGNABLE_TYPE, value = FrameworkAutoConfiguration.class))
public class FrameworkAutoConfiguration {
}

View File

@ -0,0 +1,19 @@
package cn.qihangerp.api.goods.config;
import com.baomidou.mybatisplus.annotation.DbType;
import com.baomidou.mybatisplus.extension.plugins.MybatisPlusInterceptor;
import com.baomidou.mybatisplus.extension.plugins.inner.PaginationInnerInterceptor;
import org.mybatis.spring.annotation.MapperScan;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
@Configuration
@MapperScan({"cn.qihangerp.module.*.mapper"})
public class MybatisPlusConfig {
@Bean
public MybatisPlusInterceptor mybatisPlusInterceptor() {
MybatisPlusInterceptor interceptor = new MybatisPlusInterceptor();
interceptor.addInnerInterceptor(new PaginationInnerInterceptor(DbType.MYSQL)); //注意使用哪种数据库
return interceptor;
}
}

View File

@ -0,0 +1,72 @@
package cn.qihangerp.oms.controller;
import cn.qihangerp.common.AjaxResult;
import cn.qihangerp.common.PageQuery;
import cn.qihangerp.common.TableDataInfo;
import cn.qihangerp.module.goods.domain.OGoodsBrand;
import cn.qihangerp.module.goods.service.OGoodsBrandService;
import cn.qihangerp.security.common.BaseController;
import lombok.AllArgsConstructor;
import org.springframework.web.bind.annotation.*;
import java.util.Arrays;
import java.util.Date;
@AllArgsConstructor
@RestController
@RequestMapping("/goods_brand")
public class GoodsBrandController extends BaseController {
private final OGoodsBrandService brandService;
@GetMapping("/list")
public TableDataInfo skuList(OGoodsBrand bo, PageQuery pageQuery)
{
var pageList = brandService.queryPageList(bo,pageQuery);
return getDataTable(pageList);
}
/**
* 获取商品品牌详细信息
*/
@GetMapping(value = "/{id}")
public AjaxResult getInfo(@PathVariable("id") Long id)
{
return success(brandService.getById(id));
}
/**
* 新增商品品牌
*/
@PostMapping
public AjaxResult add(@RequestBody OGoodsBrand erpGoodsBrand)
{
erpGoodsBrand.setStatus(1);
erpGoodsBrand.setCreateBy(getUsername());
erpGoodsBrand.setCreateTime(new Date());
return toAjax(brandService.save(erpGoodsBrand));
}
/**
* 修改商品品牌
*/
@PutMapping
public AjaxResult edit(@RequestBody OGoodsBrand erpGoodsBrand)
{
erpGoodsBrand.setUpdateBy(getUsername());
erpGoodsBrand.setUpdateTime(new Date());
return toAjax(brandService.updateById(erpGoodsBrand));
}
/**
* 删除商品品牌
*/
@DeleteMapping("/{ids}")
public AjaxResult remove(@PathVariable Long[] ids)
{
return toAjax(brandService.removeByIds(Arrays.stream(ids).toList()));
}
}

View File

@ -0,0 +1,142 @@
package cn.qihangerp.oms.controller;
import cn.qihangerp.common.AjaxResult;
import cn.qihangerp.common.TableDataInfo;
import cn.qihangerp.module.goods.domain.OGoodsCategory;
import cn.qihangerp.module.goods.domain.OGoodsCategoryAttribute;
import cn.qihangerp.module.goods.domain.OGoodsCategoryAttributeValue;
import cn.qihangerp.module.goods.service.OGoodsCategoryAttributeService;
import cn.qihangerp.module.goods.service.OGoodsCategoryAttributeValueService;
import cn.qihangerp.module.goods.service.OGoodsCategoryService;
import cn.qihangerp.security.common.BaseController;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import lombok.AllArgsConstructor;
import org.springframework.web.bind.annotation.*;
import java.util.Arrays;
import java.util.Date;
@AllArgsConstructor
@RestController
@RequestMapping("/goods_category")
public class GoodsCategoryController extends BaseController {
private final OGoodsCategoryService categoryService;
private final OGoodsCategoryAttributeService categoryAttributeService;
private final OGoodsCategoryAttributeValueService categoryAttributeValueService;
@GetMapping("/list")
public TableDataInfo categoryList()
{
var pageList = categoryService.list();
return getDataTable(pageList);
}
@GetMapping(value = "/{id}")
public AjaxResult getInfo(@PathVariable("id") Long id)
{
return success(categoryService.getById(id));
}
@PostMapping
public AjaxResult add(@RequestBody OGoodsCategory category)
{
category.setCreateBy(getUsername());
categoryService.addCategory(category);
return toAjax(1);
}
@PutMapping
public AjaxResult edit(@RequestBody OGoodsCategory category)
{
category.setUpdateBy(getUsername());
category.setUpdateTime(new Date());
return toAjax(categoryService.updateById(category));
}
/**
* 删除分类
* @param ids
* @return
*/
@DeleteMapping("/del/{ids}")
public AjaxResult remove(@PathVariable Long[] ids)
{
return toAjax(categoryService.removeByIds(Arrays.stream(ids).toList()));
}
/**
* 分类属性列表
* @param categoryId
* @return
*/
@GetMapping("/attribute_list")
public TableDataInfo attributeList(Integer categoryId)
{
var pageList = categoryAttributeService.list(new LambdaQueryWrapper<OGoodsCategoryAttribute>().eq(OGoodsCategoryAttribute::getCategoryId,categoryId));
return getDataTable(pageList);
}
/**
* 分类属性添加
* @param attribute
* @return
*/
@PostMapping("/attribute_add")
public AjaxResult attributeAdd(@RequestBody OGoodsCategoryAttribute attribute)
{
return toAjax(categoryAttributeService.save(attribute));
}
@GetMapping(value = "/attribute/{id}")
public AjaxResult getAttributeInfo(@PathVariable("id") Long id)
{
return success(categoryAttributeService.getById(id));
}
@PutMapping("/attribute")
public AjaxResult attributeEdit(@RequestBody OGoodsCategoryAttribute attribute)
{
return toAjax(categoryAttributeService.updateById(attribute));
}
@DeleteMapping("/attribute/{ids}")
public AjaxResult attributeRemove(@PathVariable Long[] ids)
{
return toAjax(categoryAttributeService.removeByIds(Arrays.stream(ids).toList()));
}
@GetMapping("/attribute_value_list")
public TableDataInfo attributeValueList(Integer categoryAttributeId)
{
var pageList = categoryAttributeValueService.list(
new LambdaQueryWrapper<OGoodsCategoryAttributeValue>().eq(OGoodsCategoryAttributeValue::getCategoryAttributeId,categoryAttributeId));
return getDataTable(pageList);
}
@PostMapping("/attribute_value")
public AjaxResult add(@RequestBody OGoodsCategoryAttributeValue attributeValue)
{
return toAjax(categoryAttributeValueService.save(attributeValue));
}
@GetMapping(value = "/attribute_value/{id}")
public AjaxResult getAttributeValueInfo(@PathVariable("id") Long id)
{
return success(categoryAttributeValueService.getById(id));
}
@PutMapping("/attribute_value")
public AjaxResult attributeValueEdit(@RequestBody OGoodsCategoryAttributeValue attributeValue)
{
return toAjax(categoryAttributeValueService.updateById(attributeValue));
}
/**
* 删除商品分类属性值
*/
@DeleteMapping("/attribute_value/{ids}")
public AjaxResult removeAttributeValue(@PathVariable Long[] ids)
{
return toAjax(categoryAttributeValueService.removeByIds(Arrays.stream(ids).toList()));
}
}

View File

@ -0,0 +1,247 @@
package cn.qihangerp.oms.controller;
import cn.qihangerp.common.PageQuery;
import cn.qihangerp.common.PageResult;
import cn.qihangerp.common.ResultVo;
import cn.qihangerp.common.AjaxResult;
import cn.qihangerp.common.TableDataInfo;
import cn.qihangerp.module.goods.domain.OGoods;
import cn.qihangerp.module.goods.domain.OGoodsSku;
import cn.qihangerp.module.goods.domain.bo.GoodsAddBo;
import cn.qihangerp.module.goods.domain.vo.GoodsSpecListVo;
import cn.qihangerp.module.goods.service.OGoodsService;
import cn.qihangerp.module.goods.service.OGoodsSkuService;
import cn.qihangerp.security.common.BaseController;
import com.fasterxml.jackson.databind.exc.InvalidFormatException;
import lombok.AllArgsConstructor;
import org.apache.poi.hssf.usermodel.HSSFWorkbook;
import org.apache.poi.ss.usermodel.*;
import org.apache.poi.ss.util.NumberToTextConverter;
import org.apache.poi.xssf.usermodel.XSSFWorkbook;
import org.springframework.security.access.prepost.PreAuthorize;
import org.springframework.util.StringUtils;
import org.springframework.web.bind.annotation.*;
import org.springframework.web.multipart.MultipartFile;
import java.io.File;
import java.io.FileInputStream;
import java.io.IOException;
import java.io.InputStream;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
/**
* 商品管理Controller
*
* @author qihang
* @date 2023-12-29
*/
@AllArgsConstructor
@RestController
@RequestMapping("/goods")
public class GoodsController extends BaseController
{
private final OGoodsService goodsService;
private final OGoodsSkuService skuService;
/**
* 搜索商品SKU
* 条件商品编码SKU商品名称
*/
@GetMapping("/searchSku")
public TableDataInfo searchSkuBy(String keyword)
{
List<GoodsSpecListVo> list = goodsService.searchGoodsSpec(keyword);
return getDataTable(list);
}
@GetMapping("/sku_list")
public TableDataInfo skuList(OGoodsSku bo, PageQuery pageQuery)
{
var pageList = goodsService.querySkuPageList(bo,pageQuery);
return getDataTable(pageList);
}
/**
* 查询商品管理列表
*/
@PreAuthorize("@ss.hasPermi('goods:goods:list')")
@GetMapping("/list")
public TableDataInfo list(OGoods goods, PageQuery pageQuery)
{
PageResult<OGoods> pageList = goodsService.queryPageList(goods, pageQuery);
return getDataTable(pageList);
}
/**
* 获取商品管理详细信息
*/
@PreAuthorize("@ss.hasPermi('goods:goods:query')")
@GetMapping(value = "/{id}")
public AjaxResult getInfo(@PathVariable("id") Long id)
{
return success(goodsService.selectGoodsById(id));
}
/**
* 获取商品管理详细信息
*/
@PreAuthorize("@ss.hasPermi('goods:goods:query')")
@GetMapping(value = "/sku/{id}")
public AjaxResult getSkuInfo(@PathVariable("id") Long id)
{
return success(skuService.getById(id));
}
/**
* 新增商品管理
*/
@PreAuthorize("@ss.hasPermi('goods:goods:add')")
@PostMapping("/add")
public AjaxResult add(@RequestBody GoodsAddBo goods)
{
ResultVo<Long> resultVo = goodsService.insertGoods(getUsername(), goods);
if(resultVo.getCode()!=0) return AjaxResult.error(resultVo.getMsg());
else return AjaxResult.success(resultVo.getData());
// goods.setCreateBy(getUsername());
// int result = goodsService.insertGoods(goods);
// if(result == -1) new AjaxResult(501,"商品编码已存在");
// return toAjax(1);
}
@PreAuthorize("@ss.hasPermi('goods:goods:add')")
@PostMapping("/goodsSku")
public AjaxResult addSku(@RequestBody OGoodsSku goodsSku)
{
int result = goodsService.insertGoodsSku(goodsSku);
if(result == -1) new AjaxResult(501,"商品编码已存在");
return toAjax(1);
}
/**
* 修改商品管理
*/
@PreAuthorize("@ss.hasPermi('goods:goods:edit')")
@PutMapping
public AjaxResult edit(@RequestBody OGoods goods)
{
return toAjax(goodsService.updateGoods(goods));
}
/**
* 修改商品基本资料
* @param sku
* @return
*/
@PutMapping("/sku")
public AjaxResult editSku(@RequestBody OGoodsSku sku)
{
return toAjax(skuService.updateById(sku));
}
/**
* 删除商品管理
*/
@PreAuthorize("@ss.hasPermi('goods:goods:remove')")
@DeleteMapping("/del/{ids}")
public AjaxResult remove(@PathVariable Long[] ids)
{
int result = goodsService.deleteGoodsByIds(ids);
if(result==0) return AjaxResult.success();
else if (result==-100) return AjaxResult.error("有关联的订单,不能删除!");
else return AjaxResult.error();
}
@RequestMapping(value = "/goods_sku_import", method = RequestMethod.POST)
public AjaxResult orderSendExcel(@RequestPart("file") MultipartFile file) throws IOException, InvalidFormatException {
String fileName = file.getOriginalFilename();
String dir = System.getProperty("user.dir");
String destFileName = dir + File.separator + "/import/uploadedfiles_" + fileName;
System.out.println(destFileName);
File destFile = new File(destFileName);
file.transferTo(destFile);
InputStream fis = null;
fis = new FileInputStream(destFileName);
if (fis == null) return AjaxResult.error("没有文件");
Workbook workbook = null;
try {
if (fileName.toLowerCase().endsWith("xlsx")) {
workbook = new XSSFWorkbook(fis);
} else if (fileName.toLowerCase().endsWith("xls")) {
workbook = new HSSFWorkbook(fis);
}
// workbook = new HSSFWorkbook(fis);
} catch (Exception ex) {
return AjaxResult.error(ex.getMessage());
}
if (workbook == null) return AjaxResult.error(502, "未读取到Excel文件");
/****************开始处理excel****************/
int success = 0;
int fail = 0;
Sheet sheet = null;
try {
sheet = workbook.getSheetAt(0);
int lastRowNum = sheet.getLastRowNum();//最后一行索引
Row row = null;
for (int i = 1; i <= lastRowNum; i++) {
row = sheet.getRow(i);
//数据
OGoodsSku sku = new OGoodsSku();
for(int c=0;c<6;c++){
Cell cell = row.getCell(c);
String cellValue = "";
if (cell != null) {
if (cell.getCellType() == CellType.STRING) {
cellValue = cell.getStringCellValue().replace("\t", "");
} else if (cell.getCellType() == CellType.NUMERIC) {
cellValue = NumberToTextConverter.toText(cell.getNumericCellValue()).replace("\t", "");
}
}
if(c == 1) {
if(StringUtils.hasText(cellValue) ){
sku.setOuterErpGoodsId(cellValue);
}else {
sku.setOuterErpGoodsId("0");
}
}
if(StringUtils.hasText(cellValue)) {
if (c == 0) {
sku.setOuterErpSkuId(cellValue);
} else if (c == 2) {
sku.setSkuCode(cellValue);
} else if (c == 3) {
sku.setSkuName(cellValue);
} else if (c == 4) {
sku.setColorImage(cellValue);
} else if (c == 5) {
sku.setRemark(cellValue);
}
}
}
goodsService.insertGoodsSku(sku);
success++;
}
} catch (Exception ex) {
fail++;
ex.printStackTrace();
}
Map<String, Integer> result = new HashMap<>();
result.put("success",success);
result.put("fail",fail);
return AjaxResult.success(result);
}
}

View File

@ -0,0 +1,47 @@
package cn.qihangerp.oms.controller;
import cn.qihangerp.common.PageQuery;
import cn.qihangerp.common.PageResult;
import cn.qihangerp.common.AjaxResult;
import cn.qihangerp.common.TableDataInfo;
import cn.qihangerp.module.goods.domain.OGoodsInventory;
import cn.qihangerp.module.goods.domain.OGoodsInventoryBatch;
import cn.qihangerp.module.goods.service.OGoodsInventoryBatchService;
import cn.qihangerp.module.goods.service.OGoodsInventoryService;
import cn.qihangerp.security.common.BaseController;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import lombok.AllArgsConstructor;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.PathVariable;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
import java.util.List;
@AllArgsConstructor
@RestController
@RequestMapping("/goodsInventory")
public class GoodsInventoryController extends BaseController {
private final OGoodsInventoryService goodsInventoryService;
private final OGoodsInventoryBatchService inventoryBatchService;
@GetMapping("/list")
public TableDataInfo list(OGoodsInventory bo, PageQuery pageQuery)
{
PageResult<OGoodsInventory> pageResult = goodsInventoryService.queryPageList(bo, pageQuery);
return getDataTable(pageResult);
}
@GetMapping(value = "/{id}")
public AjaxResult getInfo(@PathVariable("id") Long id)
{
OGoodsInventory goodsInventory = goodsInventoryService.getById(id);
if(goodsInventory!=null) {
List<OGoodsInventoryBatch> list = inventoryBatchService.list(new LambdaQueryWrapper<OGoodsInventoryBatch>().eq(OGoodsInventoryBatch::getSkuId, goodsInventory.getSkuId()));
return AjaxResult.success(list);
}
return success();
}
}

View File

@ -0,0 +1,67 @@
package cn.qihangerp.oms.controller;
import cn.qihangerp.common.PageQuery;
import cn.qihangerp.common.AjaxResult;
import cn.qihangerp.common.TableDataInfo;
import cn.qihangerp.module.goods.domain.OGoodsSupplier;
import cn.qihangerp.module.goods.service.OGoodsSupplierService;
import cn.qihangerp.security.common.BaseController;
import lombok.AllArgsConstructor;
import org.springframework.web.bind.annotation.*;
import java.util.Arrays;
import java.util.Date;
@AllArgsConstructor
@RestController
@RequestMapping("/supplier")
public class GoodsSupplierController extends BaseController {
private final OGoodsSupplierService supplierService;
@GetMapping("/list")
public TableDataInfo list(OGoodsSupplier bo, PageQuery pageQuery)
{
var pageList = supplierService.queryPageList(bo,pageQuery);
return getDataTable(pageList);
}
/**
* 获取请填写功能名称详细信息
*/
@GetMapping(value = "/{id}")
public AjaxResult getInfo(@PathVariable("id") Long id)
{
return success(supplierService.getById(id));
}
/**
* 新增请填写功能名称
*/
@PostMapping
public AjaxResult add(@RequestBody OGoodsSupplier scmSupplier)
{
scmSupplier.setCreatetime(new Date());
scmSupplier.setIsdelete(0);
return toAjax(supplierService.save(scmSupplier));
}
/**
* 修改请填写功能名称
*/
@PutMapping
public AjaxResult edit(@RequestBody OGoodsSupplier scmSupplier)
{
return toAjax(supplierService.updateById(scmSupplier));
}
/**
* 删除请填写功能名称
*/
@DeleteMapping("/{ids}")
public AjaxResult remove(@PathVariable Long[] ids)
{
return toAjax(supplierService.removeByIds(Arrays.stream(ids).toList()));
}
}

View File

@ -0,0 +1 @@
org.springframework.boot.autoconfigure.EnableAutoConfiguration=com.zhijian.FrameworkAutoConfiguration

View File

@ -0,0 +1,89 @@
server:
port: 8083
spring:
application:
name: oms-api
cloud:
loadbalancer:
nacos:
enabled: true
nacos:
# serverAddr: 127.0.0.1:8848
discovery:
server-addr: 127.0.0.1:8848
# username: nacos
# password: nacos
data:
# redis 配置
redis:
# 地址
# host: 8.130.98.215
host: 127.0.0.1
# 端口默认为6379
port: 6379
# 数据库索引
database: 0
# 密码
# password: 123321
# 连接超时时间
timeout: 10s
lettuce:
pool:
# 连接池中的最小空闲连接
min-idle: 0
# 连接池中的最大空闲连接
max-idle: 8
# 连接池的最大数据库连接数
max-active: 8
# #连接池最大阻塞等待时间(使用负值表示没有限制)
max-wait: -1ms
datasource:
driverClassName: com.mysql.cj.jdbc.Driver
url: jdbc:mysql://127.0.0.1:3306/qihang-oms?useUnicode=true&characterEncoding=utf8&zeroDateTimeBehavior=convertToNull&useSSL=true&serverTimezone=GMT%2B8
username: root
password: Andy_123
# kafka:
# bootstrap-servers: localhost:9092
# producer:
# batch-size: 16384 #批量大小
# acks: -1 #应答级别:多少个分区副本备份完成时向生产者发送ack确认(可选0、1、all/-1)
# retries: 10 # 消息发送重试次数
# # transaction-id-prefix: tx_1 #事务id前缀
# buffer-memory: 33554432
# key-serializer: org.apache.kafka.common.serialization.StringSerializer
# value-serializer: org.apache.kafka.common.serialization.StringSerializer
# properties:
# linger:
# ms: 2000 #提交延迟
# # partitioner: #指定分区器
# # class: com.example.kafkademo.config.CustomizePartitioner
# consumer:
# group-id: testGroup #默认的消费组ID
# enable-auto-commit: true #是否自动提交offset
# auto-commit-interval: 2000 #提交offset延时
# # 当kafka中没有初始offset或offset超出范围时将自动重置offset
# # earliest:重置为分区中最小的offset;
# # latest:重置为分区中最新的offset(消费分区中新产生的数据);
# # none:只要有一个分区不存在已提交的offset,就抛出异常;
# auto-offset-reset: latest
# max-poll-records: 500 #单次拉取消息的最大条数
# key-deserializer: org.apache.kafka.common.serialization.StringDeserializer
# value-deserializer: org.apache.kafka.common.serialization.StringDeserializer
# properties:
# session:
# timeout:
# ms: 120000 # 消费会话超时时间(超过这个时间 consumer 没有发送心跳,就会触发 rebalance 操作)
# request:
# timeout:
# ms: 18000 # 消费请求的超时时间
mybatis-plus:
mapper-locations: classpath*:mapper/**/*Mapper.xml
type-aliases-package: cn.qihangerp.oms.domain;cn.qihangerp.module.domain;cn.qihangerp.security.entity;
configuration:
log-impl: org.apache.ibatis.logging.stdout.StdOutImpl # 开启sql日志

View File

@ -0,0 +1,24 @@
Application Version: ${zhijian.version}
Spring Boot Version: ${spring-boot.version}
////////////////////////////////////////////////////////////////////
// _ooOoo_ //
// o8888888o //
// 88" . "88 //
// (| ^_^ |) //
// O\ = /O //
// ____/`---'\____ //
// .' \\| |// `. //
// / \\||| : |||// \ //
// / _||||| -:- |||||- \ //
// | | \\\ - /// | | //
// | \_| ''\---/'' | | //
// \ .-\__ `-` ___/-. / //
// ___`. .' /--.--\ `. . ___ //
// ."" '< `.___\_<|>_/___.' >'"". //
// | | : `- \`.;`\ _ /`;.`/ - ` : | | //
// \ \ `-. \_ __\ /__ _/ .-` / / //
// ========`-.____`-.___\_____/___.-`____.-'======== //
// `=---=' //
// ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ //
// 佛祖保佑 永不宕机 永无BUG //
////////////////////////////////////////////////////////////////////

30
microservices/pom.xml Normal file
View File

@ -0,0 +1,30 @@
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<parent>
<groupId>cn.qihangerp</groupId>
<artifactId>qihangerp-cloud</artifactId>
<version>2.0.6</version>
</parent>
<groupId>cn.qihangerp.services</groupId>
<artifactId>microservices</artifactId>
<version>3.0.6</version>
<packaging>jar</packaging>
<name>microservices</name>
<url>http://maven.apache.org</url>
<properties>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
</properties>
<dependencies>
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>3.8.1</version>
<scope>test</scope>
</dependency>
</dependencies>
</project>