diff --git a/README.md b/README.md
index 292aa607..77ef48c8 100644
--- a/README.md
+++ b/README.md
@@ -134,37 +134,23 @@ yshop基于当前流行技术组合的前后端分离商城系统: SpringBoot2
- 1.3.1版本手机端新增商户管理、后台新增统计
- 1.3.2新增后台微信相关及其支付配置,新增自动回复配置
- 1.3.3新增 后台微信图文发送功能,小程序配置,增加小程序授权等,修复一些bug等
-- yshop1.4版本发布,更新如下:
- - 1.1、新增积分签到
- - 1.2、新增会员等级、任务等功能,新增会员价格等
- - 1.3、修复Redisson linux系统启动报错问题
- - 1.4、修复商户简单权限功能
- - 1.5、修复加入购物车覆盖问题
- - 1.6、修复拼团出现undefined
- - 1.7、会员后台新增余额调整
- - 1.8、修复新增配置数据有时候不成功问题等
+- yshop1.4版本发布
- 1.4.1个人中心新增账单流水
- yshop1.4.2 发布更新如下:
- - 1.商品新增多图评价
- - 2.订单新增快递查询
- 1.4.3版本,后台图标更新,后台模块重新拆分,物流快递单独管理,导出最新sql
- 1.4.4版本,新增模板消息通知、H5端商家管理发货修改及其列表时间显示修复
- yshop1.5版本发布:
- - 1、新增秒杀功能
- - 2、手机端新增H5支付
- - 3、修复其他bug
- yshop1.6发布:
- - 1、新增砍价功能
- - 2、新增加锁功能
- - 3、修复其他bug
- yshop1.6.1发布:新增移动端浏览记录,下单增加简单ReentrantLock锁
- yshop1.6.2发布:修复用户昵称带有表情导致入库失败问题,修复下单订单金额为0不能支付的问题
- yshop1.6.4发布:后台新增修改订单价格与备注优化订单详情显示明细,修复积分记录标题不显示的问题
-- yshop1.7 发布更新如下:
- - 1.后台升級eladmin2.4(前端,后台权限,代码生成器等重构,新增服务器监控等)
- - 2.修复商品分类一些问题
- - 3.修复redis缓存问题
- - 4.修复菜单控制台报error问题
+- yshop1.7 发布
+ - yshop1.8发布:
+ - 1、新增小程序支付与登录,后台新增小程序跳转页面,
+ - 2、后台新增图片素材管理
+ - 3、本地上传与七牛云上传合并,修改一个yml即可两者随意切换
+ - 4、升级swagger-bootstrap,swaager统一配置迁移到common(防止注解冲突)
+ - 5、后台优化操作显示
#### 反馈交流
diff --git a/pom.xml b/pom.xml
index ef6ba298..da4f7fec 100644
--- a/pom.xml
+++ b/pom.xml
@@ -7,7 +7,7 @@
co.yixiang
yshop
pom
- 1.7
+ 1.8
yshop-common
diff --git a/sql/yshop1.8新表结构 b/sql/yshop1.8新表结构
new file mode 100644
index 00000000..22420735
--- /dev/null
+++ b/sql/yshop1.8新表结构
@@ -0,0 +1,20 @@
+CREATE TABLE `yx_material` (
+ `id` varchar(32) COLLATE utf8mb4_bin NOT NULL COMMENT 'PK',
+ `del_flag` char(2) COLLATE utf8mb4_bin NOT NULL DEFAULT '0' COMMENT '逻辑删除标记(0:显示;1:隐藏)',
+ `create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
+ `create_id` varchar(100) CHARACTER SET utf8 DEFAULT NULL COMMENT '创建者ID',
+ `type` char(2) COLLATE utf8mb4_bin NOT NULL COMMENT '类型1、图片;2、视频',
+ `group_id` varchar(32) COLLATE utf8mb4_bin DEFAULT NULL COMMENT '分组ID',
+ `name` varchar(200) COLLATE utf8mb4_bin NOT NULL COMMENT '素材名',
+ `url` varchar(500) COLLATE utf8mb4_bin DEFAULT '' COMMENT '素材链接',
+ PRIMARY KEY (`id`) USING BTREE
+) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_bin ROW_FORMAT=DYNAMIC COMMENT='素材库';
+
+CREATE TABLE `yx_material_group` (
+ `id` varchar(32) COLLATE utf8mb4_bin NOT NULL COMMENT 'PK',
+ `del_flag` char(2) COLLATE utf8mb4_bin NOT NULL DEFAULT '0' COMMENT '逻辑删除标记(0:显示;1:隐藏)',
+ `create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
+ `create_id` varchar(32) CHARACTER SET utf8 DEFAULT NULL COMMENT '创建者ID',
+ `name` varchar(200) COLLATE utf8mb4_bin NOT NULL COMMENT '分组名',
+ PRIMARY KEY (`id`) USING BTREE
+) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_bin ROW_FORMAT=DYNAMIC COMMENT='素材分组';
\ No newline at end of file
diff --git a/yshop-api/pom.xml b/yshop-api/pom.xml
index ee0c6704..80dc5869 100644
--- a/yshop-api/pom.xml
+++ b/yshop-api/pom.xml
@@ -5,7 +5,7 @@
yshop
co.yixiang
- 1.7
+ 1.8
4.0.0
@@ -21,12 +21,12 @@
co.yixiang
yshop-tools
- 1.7
+ 1.8
co.yixiang
yshop-mp
- 1.7
+ 1.8
diff --git a/yshop-common/pom.xml b/yshop-common/pom.xml
index 68b843a5..d52cb880 100644
--- a/yshop-common/pom.xml
+++ b/yshop-common/pom.xml
@@ -5,7 +5,7 @@
yshop
co.yixiang
- 1.7
+ 1.8
4.0.0
diff --git a/yshop-common/src/main/java/co/yixiang/utils/FileUtil.java b/yshop-common/src/main/java/co/yixiang/utils/FileUtil.java
index 498fbd1e..fdd3da23 100644
--- a/yshop-common/src/main/java/co/yixiang/utils/FileUtil.java
+++ b/yshop-common/src/main/java/co/yixiang/utils/FileUtil.java
@@ -195,15 +195,15 @@ public class FileUtil extends cn.hutool.core.io.FileUtil {
String video = "avi mpg mpe mpeg asf wmv mov qt rm mp4 flv m4v webm ogv ogg";
String image = "bmp dib pcp dif wmf gif jpg tif eps psd cdr iff tga pcd mpt png jpeg";
if(image.contains(type)){
- return "图片";
+ return "pic";
} else if(documents.contains(type)){
- return "文档";
+ return "txt";
} else if(music.contains(type)){
- return "音乐";
+ return "music";
} else if(video.contains(type)){
- return "视频";
+ return "vedio";
} else {
- return "其他";
+ return "other";
}
}
diff --git a/yshop-generator/pom.xml b/yshop-generator/pom.xml
index bbe1134e..d47d691c 100644
--- a/yshop-generator/pom.xml
+++ b/yshop-generator/pom.xml
@@ -5,7 +5,7 @@
yshop
co.yixiang
- 1.7
+ 1.8
4.0.0
@@ -20,7 +20,7 @@
co.yixiang
yshop-common
- 1.7
+ 1.8
diff --git a/yshop-logging/pom.xml b/yshop-logging/pom.xml
index 2d105a22..f8778cce 100644
--- a/yshop-logging/pom.xml
+++ b/yshop-logging/pom.xml
@@ -5,7 +5,7 @@
yshop
co.yixiang
- 1.7
+ 1.8
4.0.0
@@ -16,7 +16,7 @@
co.yixiang
yshop-common
- 1.7
+ 1.8
\ No newline at end of file
diff --git a/yshop-monitor/pom.xml b/yshop-monitor/pom.xml
index befb6f18..02c88eb7 100644
--- a/yshop-monitor/pom.xml
+++ b/yshop-monitor/pom.xml
@@ -13,7 +13,7 @@
4.0.0
yshop-monitor
- 1.7
+ 1.8
客户端监控模块
diff --git a/yshop-mp/pom.xml b/yshop-mp/pom.xml
index c48e1b10..588f53fa 100644
--- a/yshop-mp/pom.xml
+++ b/yshop-mp/pom.xml
@@ -5,7 +5,7 @@
yshop
co.yixiang
- 1.7
+ 1.8
4.0.0
@@ -31,7 +31,7 @@
co.yixiang
yshop-common
- 1.7
+ 1.8
diff --git a/yshop-shop/pom.xml b/yshop-shop/pom.xml
index 3bd9aaa5..9fe7c4c5 100644
--- a/yshop-shop/pom.xml
+++ b/yshop-shop/pom.xml
@@ -5,7 +5,7 @@
yshop
co.yixiang
- 1.7
+ 1.8
4.0.0
@@ -20,12 +20,12 @@
co.yixiang
yshop-logging
- 1.7
+ 1.8
co.yixiang
yshop-mp
- 1.7
+ 1.8
diff --git a/yshop-shop/src/main/java/co/yixiang/modules/shop/domain/YxMaterial.java b/yshop-shop/src/main/java/co/yixiang/modules/shop/domain/YxMaterial.java
new file mode 100644
index 00000000..7cbc3516
--- /dev/null
+++ b/yshop-shop/src/main/java/co/yixiang/modules/shop/domain/YxMaterial.java
@@ -0,0 +1,62 @@
+package co.yixiang.modules.shop.domain;
+
+import lombok.Data;
+import cn.hutool.core.bean.BeanUtil;
+import cn.hutool.core.bean.copier.CopyOptions;
+import org.hibernate.annotations.CreationTimestamp;
+
+import javax.persistence.*;
+import javax.validation.constraints.*;
+import java.sql.Timestamp;
+import java.io.Serializable;
+
+/**
+* @author hupeng
+* @date 2020-01-09
+*/
+@Entity
+@Data
+@Table(name="yx_material")
+public class YxMaterial implements Serializable {
+
+ /** PK */
+ @Id
+ @Column(name = "id")
+ private String id;
+
+
+ /** 逻辑删除标记(0:显示;1:隐藏) */
+ @Column(name = "del_flag",nullable = false,insertable = false)
+ private String delFlag;
+
+ /** 创建时间 */
+ @Column(name = "create_time",nullable = false)
+ @CreationTimestamp
+ private Timestamp createTime;
+
+
+ /** 创建者ID */
+ @Column(name = "create_id")
+ private String createId;
+
+ /** 类型1、图片;2、视频 */
+ @Column(name = "type",nullable = false)
+ private String type;
+
+ /** 分组ID */
+ @Column(name = "group_id")
+ private String groupId;
+
+ /** 素材名 */
+ @Column(name = "name",nullable = false)
+ @NotBlank
+ private String name;
+
+ /** 素材链接 */
+ @Column(name = "url")
+ private String url;
+
+ public void copy(YxMaterial source){
+ BeanUtil.copyProperties(source,this, CopyOptions.create().setIgnoreNullValue(true));
+ }
+}
\ No newline at end of file
diff --git a/yshop-shop/src/main/java/co/yixiang/modules/shop/domain/YxMaterialGroup.java b/yshop-shop/src/main/java/co/yixiang/modules/shop/domain/YxMaterialGroup.java
new file mode 100644
index 00000000..31f68fb2
--- /dev/null
+++ b/yshop-shop/src/main/java/co/yixiang/modules/shop/domain/YxMaterialGroup.java
@@ -0,0 +1,50 @@
+package co.yixiang.modules.shop.domain;
+
+import lombok.Data;
+import cn.hutool.core.bean.BeanUtil;
+import cn.hutool.core.bean.copier.CopyOptions;
+import org.hibernate.annotations.CreationTimestamp;
+
+import javax.persistence.*;
+import javax.validation.constraints.*;
+import java.sql.Timestamp;
+import java.io.Serializable;
+
+/**
+* @author hupeng
+* @date 2020-01-09
+*/
+@Entity
+@Data
+@Table(name="yx_material_group")
+public class YxMaterialGroup implements Serializable {
+
+ /** PK */
+ @Id
+ @Column(name = "id")
+ private String id;
+
+
+ /** 逻辑删除标记(0:显示;1:隐藏) */
+ @Column(name = "del_flag",nullable = false,insertable = false)
+ private String delFlag;
+
+ /** 创建时间 */
+ @Column(name = "create_time",nullable = false)
+ @CreationTimestamp
+ private Timestamp createTime;
+
+
+ /** 创建者ID */
+ @Column(name = "create_id")
+ private String createId;
+
+ /** 分组名 */
+ @Column(name = "name",nullable = false)
+ @NotBlank
+ private String name;
+
+ public void copy(YxMaterialGroup source){
+ BeanUtil.copyProperties(source,this, CopyOptions.create().setIgnoreNullValue(true));
+ }
+}
\ No newline at end of file
diff --git a/yshop-shop/src/main/java/co/yixiang/modules/shop/domain/YxSystemUserLevel.java b/yshop-shop/src/main/java/co/yixiang/modules/shop/domain/YxSystemUserLevel.java
index 878b4945..1301102b 100644
--- a/yshop-shop/src/main/java/co/yixiang/modules/shop/domain/YxSystemUserLevel.java
+++ b/yshop-shop/src/main/java/co/yixiang/modules/shop/domain/YxSystemUserLevel.java
@@ -51,6 +51,7 @@ public class YxSystemUserLevel implements Serializable {
// 是否显示 1=显示,0=隐藏
@Column(name = "is_show",nullable = false)
+ @NotNull(message = "请选择显示状态")
private Integer isShow;
// 会员等级
diff --git a/yshop-shop/src/main/java/co/yixiang/modules/shop/repository/YxMaterialGroupRepository.java b/yshop-shop/src/main/java/co/yixiang/modules/shop/repository/YxMaterialGroupRepository.java
new file mode 100644
index 00000000..63bfae82
--- /dev/null
+++ b/yshop-shop/src/main/java/co/yixiang/modules/shop/repository/YxMaterialGroupRepository.java
@@ -0,0 +1,12 @@
+package co.yixiang.modules.shop.repository;
+
+import co.yixiang.modules.shop.domain.YxMaterialGroup;
+import org.springframework.data.jpa.repository.JpaRepository;
+import org.springframework.data.jpa.repository.JpaSpecificationExecutor;
+
+/**
+* @author hupeng
+* @date 2020-01-09
+*/
+public interface YxMaterialGroupRepository extends JpaRepository, JpaSpecificationExecutor {
+}
\ No newline at end of file
diff --git a/yshop-shop/src/main/java/co/yixiang/modules/shop/repository/YxMaterialRepository.java b/yshop-shop/src/main/java/co/yixiang/modules/shop/repository/YxMaterialRepository.java
new file mode 100644
index 00000000..aa661856
--- /dev/null
+++ b/yshop-shop/src/main/java/co/yixiang/modules/shop/repository/YxMaterialRepository.java
@@ -0,0 +1,12 @@
+package co.yixiang.modules.shop.repository;
+
+import co.yixiang.modules.shop.domain.YxMaterial;
+import org.springframework.data.jpa.repository.JpaRepository;
+import org.springframework.data.jpa.repository.JpaSpecificationExecutor;
+
+/**
+* @author hupeng
+* @date 2020-01-09
+*/
+public interface YxMaterialRepository extends JpaRepository, JpaSpecificationExecutor {
+}
\ No newline at end of file
diff --git a/yshop-shop/src/main/java/co/yixiang/modules/shop/rest/YxMaterialController.java b/yshop-shop/src/main/java/co/yixiang/modules/shop/rest/YxMaterialController.java
new file mode 100644
index 00000000..227d6594
--- /dev/null
+++ b/yshop-shop/src/main/java/co/yixiang/modules/shop/rest/YxMaterialController.java
@@ -0,0 +1,70 @@
+package co.yixiang.modules.shop.rest;
+
+
+import co.yixiang.aop.log.Log;
+import co.yixiang.modules.shop.domain.YxMaterial;
+import co.yixiang.modules.shop.service.YxMaterialService;
+import co.yixiang.modules.shop.service.dto.YxMaterialQueryCriteria;
+import co.yixiang.utils.SecurityUtils;
+import org.springframework.data.domain.Pageable;
+import org.springframework.http.HttpStatus;
+import org.springframework.http.ResponseEntity;
+import org.springframework.security.access.prepost.PreAuthorize;
+import org.springframework.validation.annotation.Validated;
+import org.springframework.web.bind.annotation.*;
+import io.swagger.annotations.*;
+import org.springframework.web.multipart.MultipartFile;
+
+import java.io.IOException;
+import javax.servlet.http.HttpServletResponse;
+
+/**
+* @author hupeng
+* @date 2020-01-09
+*/
+@Api(tags = "素材管理管理")
+@RestController
+@RequestMapping("/api/material")
+public class YxMaterialController {
+
+ private final YxMaterialService yxMaterialService;
+
+ public YxMaterialController(YxMaterialService yxMaterialService) {
+ this.yxMaterialService = yxMaterialService;
+ }
+
+
+
+ @GetMapping(value = "/page")
+ @Log("查询素材管理")
+ @ApiOperation("查询素材管理")
+ public ResponseEntity