yshop1.9.2,修复修复素材库无法分页的、退款、角色等问题明细可以登陆演示后台查看
This commit is contained in:
35
README.md
35
README.md
@ -10,7 +10,7 @@ yshop基于当前流行技术组合的前后端分离商城系统: SpringBoot2
|
|||||||
|
|
||||||
| | 后台系统 | 前端(公众号) |
|
| | 后台系统 | 前端(公众号) |
|
||||||
|--- |--- | --- |
|
|--- |--- | --- |
|
||||||
| | https://yshop.dayouqiantu.cn |H5:https://h5.dayouqiantu.cn 测试号:hupeng/123456,也可以自行注册 |
|
| | https://www.yixiang.co |H5:https://h5.yixiang.co 测试号:hupeng/123456,也可以自行注册 |
|
||||||
| | 后台体验账号/密码:admin/123456 | 公众号: |
|
| | 后台体验账号/密码:admin/123456 | 公众号: |
|
||||||
|
|
||||||
|
|
||||||
@ -24,14 +24,15 @@ yshop基于当前流行技术组合的前后端分离商城系统: SpringBoot2
|
|||||||
#### 开源版本与VIP版本说明
|
#### 开源版本与VIP版本说明
|
||||||
|
|
||||||
### 开源版
|
### 开源版
|
||||||
1.包括整个商城系统后台、数据库、api(只是简单的配置好模块);
|
1.包括整个商城系统后台、数据库
|
||||||
|
|
||||||
2.本版本本身属于独立后台商城管理系统、可独立作为cms、商城等等后台使用;
|
2.开源整个商城的管理后台(后台已经封装好了图片素材库、编辑器、配置等等组件), 它可以用于所有的Web应用程序,如网站商城管理后台,网站会员中心,
|
||||||
|
CMS,CRM,OA等等本版本本身属于独立后台商城管理系统;
|
||||||
|
|
||||||
3.可以个人、企业直接使用。
|
3.可以个人、企业直接使用。
|
||||||
|
|
||||||
### VIP版
|
### VIP版
|
||||||
1.包括整个商城系统后台、数据库、API、H5;
|
1.包括了开源版,还包括了移动端(H5+公众号)、小程序(mpvue2框架)1.0已经发布一个开发版、移动端API
|
||||||
|
|
||||||
2.本版本是演示的所有功能代码;
|
2.本版本是演示的所有功能代码;
|
||||||
|
|
||||||
@ -55,7 +56,7 @@ yshop基于当前流行技术组合的前后端分离商城系统: SpringBoot2
|
|||||||
|
|
||||||
#### 项目结构
|
#### 项目结构
|
||||||
项目采用分模块开发方式
|
项目采用分模块开发方式
|
||||||
- yshop-api 公众号(H5)API模块
|
- yshop-api 移动端API模块
|
||||||
- yshop-mp 微信相关模块
|
- yshop-mp 微信相关模块
|
||||||
- yshop-common 公共模块
|
- yshop-common 公共模块
|
||||||
- yshop-system 后台模块
|
- yshop-system 后台模块
|
||||||
@ -123,6 +124,7 @@ yshop基于当前流行技术组合的前后端分离商城系统: SpringBoot2
|
|||||||
* 前端使用技术
|
* 前端使用技术
|
||||||
* 2.1 Vue 全家桶
|
* 2.1 Vue 全家桶
|
||||||
* 2.2 Element
|
* 2.2 Element
|
||||||
|
* 2.3 mpvue
|
||||||
|
|
||||||
#### 项目发布明细
|
#### 项目发布明细
|
||||||
|
|
||||||
@ -146,16 +148,19 @@ yshop基于当前流行技术组合的前后端分离商城系统: SpringBoot2
|
|||||||
- yshop1.6.4发布:后台新增修改订单价格与备注优化订单详情显示明细,修复积分记录标题不显示的问题
|
- yshop1.6.4发布:后台新增修改订单价格与备注优化订单详情显示明细,修复积分记录标题不显示的问题
|
||||||
- yshop1.7 发布
|
- yshop1.7 发布
|
||||||
- yshop1.8发布:
|
- yshop1.8发布:
|
||||||
- 1、新增小程序支付与登录,后台新增小程序跳转页面,
|
- yshop1.8.3发布更新如下:
|
||||||
- 2、后台新增图片素材管理
|
- yshop1.9.1,新增城市接口,修复小程序登陆与支付问题,发布mpvue1.0小程序
|
||||||
- 3、本地上传与七牛云上传合并,修改一个yml即可两者随意切换
|
- 1、新增城市接口
|
||||||
- 4、升级swagger-bootstrap,swaager统一配置迁移到common(防止注解冲突)
|
- 2、修复小程序登陆与支付问题
|
||||||
- 5、后台优化操作显示
|
- 3、发布mpvue1.0小程序
|
||||||
- yshop1.8.1发布更新如下:
|
- 4、WxJava升级到3.6
|
||||||
- 1、修复库存问题#I17Z5X
|
- 5、微信公众号服务配置重构
|
||||||
- 2、修复评价百分比精度问题#I17UQY
|
- 6、修复后台配置公众号,API端必须要重启才能生效的问题
|
||||||
- 3、修复评价列表问题#I17TZC
|
- yshop1.9.2
|
||||||
- 4、移动端图片上传修改为统一处理
|
- 1、修复素材库无法分页的问题#I18KJN
|
||||||
|
- 2、修复订单退款问题#I18GG6
|
||||||
|
- 3、修复分类问题#I17UEI
|
||||||
|
- 4、修复后台添加角色的问题#I18NCW
|
||||||
|
|
||||||
|
|
||||||
#### 反馈交流
|
#### 反馈交流
|
||||||
|
@ -1,6 +1,7 @@
|
|||||||
package co.yixiang.modules.security.service;
|
package co.yixiang.modules.security.service;
|
||||||
|
|
||||||
import co.yixiang.exception.BadRequestException;
|
import co.yixiang.exception.BadRequestException;
|
||||||
|
import co.yixiang.exception.ErrorRequestException;
|
||||||
import co.yixiang.modules.security.security.vo.JwtUser;
|
import co.yixiang.modules.security.security.vo.JwtUser;
|
||||||
import co.yixiang.modules.user.entity.YxUser;
|
import co.yixiang.modules.user.entity.YxUser;
|
||||||
import co.yixiang.modules.user.service.YxUserService;
|
import co.yixiang.modules.user.service.YxUserService;
|
||||||
@ -37,7 +38,7 @@ public class UserDetailsServiceImpl implements UserDetailsService {
|
|||||||
throw new BadRequestException("账号不存在");
|
throw new BadRequestException("账号不存在");
|
||||||
} else {
|
} else {
|
||||||
if (!user.getStatus()) {
|
if (!user.getStatus()) {
|
||||||
throw new BadRequestException("账号未激活");
|
throw new ErrorRequestException("账号未激活");
|
||||||
}
|
}
|
||||||
return createJwtUser(user);
|
return createJwtUser(user);
|
||||||
}
|
}
|
||||||
|
@ -6,8 +6,8 @@ import org.springframework.http.HttpStatus;
|
|||||||
import static org.springframework.http.HttpStatus.BAD_REQUEST;
|
import static org.springframework.http.HttpStatus.BAD_REQUEST;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @author Zheng Jie
|
* @author hupeng
|
||||||
* @date 2018-11-23
|
* @date 2019-11-11
|
||||||
* 统一异常处理
|
* 统一异常处理
|
||||||
*/
|
*/
|
||||||
@Getter
|
@Getter
|
||||||
|
@ -28,6 +28,7 @@ public class GlobalExceptionHandler {
|
|||||||
*/
|
*/
|
||||||
@ExceptionHandler(Throwable.class)
|
@ExceptionHandler(Throwable.class)
|
||||||
public ResponseEntity<ApiError> handleException(Throwable e){
|
public ResponseEntity<ApiError> handleException(Throwable e){
|
||||||
|
System.out.println("99999");
|
||||||
// 打印堆栈信息
|
// 打印堆栈信息
|
||||||
log.error(ThrowableUtil.getStackTrace(e));
|
log.error(ThrowableUtil.getStackTrace(e));
|
||||||
return buildResponseEntity(ApiError.error(e.getMessage()));
|
return buildResponseEntity(ApiError.error(e.getMessage()));
|
||||||
@ -49,6 +50,7 @@ public class GlobalExceptionHandler {
|
|||||||
*/
|
*/
|
||||||
@ExceptionHandler(value = BadRequestException.class)
|
@ExceptionHandler(value = BadRequestException.class)
|
||||||
public ResponseEntity<ApiError> badRequestException(BadRequestException e) {
|
public ResponseEntity<ApiError> badRequestException(BadRequestException e) {
|
||||||
|
System.out.println("88888");
|
||||||
// 打印堆栈信息
|
// 打印堆栈信息
|
||||||
log.error(ThrowableUtil.getStackTrace(e));
|
log.error(ThrowableUtil.getStackTrace(e));
|
||||||
return buildResponseEntity(ApiError.error(e.getStatus(),e.getMessage()));
|
return buildResponseEntity(ApiError.error(e.getStatus(),e.getMessage()));
|
||||||
|
@ -3,6 +3,8 @@ package co.yixiang.modules.shop.domain;
|
|||||||
import cn.hutool.core.bean.BeanUtil;
|
import cn.hutool.core.bean.BeanUtil;
|
||||||
import cn.hutool.core.bean.copier.CopyOptions;
|
import cn.hutool.core.bean.copier.CopyOptions;
|
||||||
import lombok.Data;
|
import lombok.Data;
|
||||||
|
import lombok.Getter;
|
||||||
|
import lombok.Setter;
|
||||||
|
|
||||||
import javax.persistence.*;
|
import javax.persistence.*;
|
||||||
import javax.validation.constraints.NotBlank;
|
import javax.validation.constraints.NotBlank;
|
||||||
@ -13,7 +15,8 @@ import java.io.Serializable;
|
|||||||
* @date 2019-10-03
|
* @date 2019-10-03
|
||||||
*/
|
*/
|
||||||
@Entity
|
@Entity
|
||||||
@Data
|
@Getter
|
||||||
|
@Setter
|
||||||
@Table(name="yx_store_category")
|
@Table(name="yx_store_category")
|
||||||
public class YxStoreCategory implements Serializable {
|
public class YxStoreCategory implements Serializable {
|
||||||
|
|
||||||
|
@ -201,6 +201,7 @@ public class YxStoreOrderController {
|
|||||||
|
|
||||||
//模板消息通知
|
//模板消息通知
|
||||||
String siteUrl = RedisUtil.get("site_url");
|
String siteUrl = RedisUtil.get("site_url");
|
||||||
|
try{
|
||||||
YxWechatUserDTO wechatUser = wechatUserService.findById(resources.getUid());
|
YxWechatUserDTO wechatUser = wechatUserService.findById(resources.getUid());
|
||||||
if(ObjectUtil.isNotNull(wechatUser)){
|
if(ObjectUtil.isNotNull(wechatUser)){
|
||||||
YxWechatTemplate WechatTemplate = yxWechatTemplateService
|
YxWechatTemplate WechatTemplate = yxWechatTemplateService
|
||||||
@ -215,6 +216,10 @@ public class YxStoreOrderController {
|
|||||||
,WechatTemplate.getTempid(),
|
,WechatTemplate.getTempid(),
|
||||||
siteUrl+"/order/detail/"+resources.getOrderId(),map);
|
siteUrl+"/order/detail/"+resources.getOrderId(),map);
|
||||||
}
|
}
|
||||||
|
}catch (Exception e){
|
||||||
|
log.info("当前用户不是微信用户不能发送模板消息哦!");
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
return new ResponseEntity(HttpStatus.NO_CONTENT);
|
return new ResponseEntity(HttpStatus.NO_CONTENT);
|
||||||
}
|
}
|
||||||
|
Reference in New Issue
Block a user