页面和权限规则调整

This commit is contained in:
2022-04-28 23:55:28 +08:00
parent 01ab4d2b4f
commit b1e3fabea3
133 changed files with 330 additions and 396 deletions
@@ -6,7 +6,7 @@
* 购买后可获得全部源代码禁止转卖分享上传到码云github等开源平台
* 一经发现盗用分享等行为将追究法律责任后果自负
*/
package co.yixiang.api;
package cn.iocoder.yudao.framework.common.exception;
/**
@@ -6,7 +6,7 @@
* 购买后可获得全部源代码禁止转卖分享上传到码云github等开源平台
* 一经发现盗用分享等行为将追究法律责任后果自负
*/
package co.yixiang.api;
package cn.iocoder.yudao.framework.common.exception;
import lombok.Data;
@@ -32,6 +32,7 @@ public class YshopException extends RuntimeException{
public YshopException(String message) {
super(message);
this.errorCode = ApiCode.FAIL.getCode();
this.message = message;
}
@@ -3,11 +3,13 @@ package cn.iocoder.yudao.framework.mybatis.config;
import cn.iocoder.yudao.framework.mybatis.core.handler.DefaultDBFieldHandler;
import com.baomidou.dynamic.datasource.annotation.DS;
import com.baomidou.dynamic.datasource.provider.DynamicDataSourceProvider;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.core.config.GlobalConfig;
import com.baomidou.mybatisplus.core.handlers.MetaObjectHandler;
import com.baomidou.mybatisplus.extension.plugins.MybatisPlusInterceptor;
import com.baomidou.mybatisplus.extension.plugins.inner.PaginationInnerInterceptor;
import com.baomidou.mybatisplus.extension.spring.MybatisSqlSessionFactoryBean;
import lombok.extern.slf4j.Slf4j;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.session.SqlSession;
import org.apache.ibatis.session.SqlSessionFactory;
@@ -34,6 +36,7 @@ import java.util.Map;
lazyInitialization = "${mybatis.lazy-initialization:false}") // Mapper 懒加载,目前仅用于单元测试
})
@Configuration
@Slf4j
public class YudaoMybatisAutoConfiguration {
@Bean
@@ -55,11 +58,7 @@ public class YudaoMybatisAutoConfiguration {
MybatisSqlSessionFactoryBean factory = new MybatisSqlSessionFactoryBean();
Map<String, DataSource> map = dynamicDataSourceProvider.loadDataSources();
factory.setDataSource(map.get("master"));
GlobalConfig globalConfig = new GlobalConfig();
globalConfig.setMetaObjectHandler(defaultMetaObjectHandler());
factory.setPlugins(mybatisPlusInterceptor());
factory.setGlobalConfig(globalConfig);
return factory.getObject();
return getSqlSessionFactory(factory);
}
@Bean("shangcheng")
@@ -67,8 +66,19 @@ public class YudaoMybatisAutoConfiguration {
MybatisSqlSessionFactoryBean factory = new MybatisSqlSessionFactoryBean();
Map<String, DataSource> map = dynamicDataSourceProvider.loadDataSources();
factory.setDataSource(map.get("xiaohui"));
return factory.getObject();
return getSqlSessionFactory(factory);
}
private SqlSessionFactory getSqlSessionFactory(MybatisSqlSessionFactoryBean factory) throws Exception {
GlobalConfig globalConfig = new GlobalConfig();
GlobalConfig.DbConfig dbConfig = new GlobalConfig.DbConfig();
dbConfig.setIdType(IdType.AUTO);
log.error("dbConfig:{}",dbConfig);
globalConfig.setDbConfig(dbConfig);
globalConfig.setMetaObjectHandler(defaultMetaObjectHandler());
factory.setPlugins(mybatisPlusInterceptor());
factory.setGlobalConfig(globalConfig);
return factory.getObject();
}
}
@@ -1,4 +1,4 @@
package co.yixiang.domain;
package cn.iocoder.yudao.framework.mybatis.core.dataobject;
import com.baomidou.mybatisplus.annotation.FieldFill;
import com.baomidou.mybatisplus.annotation.TableField;
@@ -3,6 +3,7 @@ package cn.iocoder.yudao.framework.mybatis.core.handler;
import cn.iocoder.yudao.framework.mybatis.core.dataobject.BaseDO;
import cn.iocoder.yudao.framework.web.core.util.WebFrameworkUtils;
import com.baomidou.mybatisplus.core.handlers.MetaObjectHandler;
import lombok.extern.slf4j.Slf4j;
import org.apache.ibatis.reflection.MetaObject;
import java.sql.Timestamp;
@@ -16,57 +17,61 @@ import java.util.Objects;
*
* @author hexiaowu
*/
@Slf4j
public class DefaultDBFieldHandler implements MetaObjectHandler {
@Override
public void insertFill(MetaObject metaObject) {
if (Objects.nonNull(metaObject) && metaObject.getOriginalObject() instanceof BaseDO) {
BaseDO baseDO = (BaseDO) metaObject.getOriginalObject();
// if (Objects.nonNull(metaObject) && metaObject.getOriginalObject() instanceof BaseDO) {
// BaseDO baseDO = (BaseDO) metaObject.getOriginalObject();
//
// Date current = new Date();
// // 创建时间为空,则以当前时间为插入时间
// if (Objects.isNull(baseDO.getCreateTime())) {
// baseDO.setCreateTime(current);
// }
// // 更新时间为空,则以当前时间为更新时间
// if (Objects.isNull(baseDO.getUpdateTime())) {
// baseDO.setUpdateTime(current);
// }
//
//
// }
Date current = new Date();
// 创建时间为空,则当前时间为插入时间
if (Objects.isNull(baseDO.getCreateTime())) {
baseDO.setCreateTime(current);
}
// 更新时间为空,则以当前时间为更新时间
if (Objects.isNull(baseDO.getUpdateTime())) {
baseDO.setUpdateTime(current);
}
Long userId = WebFrameworkUtils.getLoginUserId();
// 当前登录用户不为空,创建人为空,则当前登录用户为创建人
if (Objects.nonNull(userId) && Objects.isNull(baseDO.getCreator())) {
baseDO.setCreator(userId.toString());
}
// 当前登录用户不为空,更新人为空,则当前登录用户为更新人
if (Objects.nonNull(userId) && Objects.isNull(baseDO.getUpdater())) {
baseDO.setUpdater(userId.toString());
}
Timestamp time=new Timestamp(System.currentTimeMillis());
if (metaObject.hasSetter("createTime")) {
this.setFieldValByName("createTime", time, metaObject);
}
if (metaObject.hasSetter("updateTime")) {
this.setFieldValByName("updateTime", time, metaObject);
}
if (metaObject.hasSetter("createDate")) {
this.setFieldValByName("createDate", time, metaObject);
}
if (metaObject.hasSetter("updateDate")) {
this.setFieldValByName("updateDate", time, metaObject);
}
if (metaObject.hasSetter("delFlag")) {
this.setFieldValByName("delFlag", false, metaObject);
}
if (metaObject.hasSetter("isDel")) {
this.setFieldValByName("isDel", 0, metaObject);
}
if (metaObject.hasSetter("addTime")) {
String timestamp = String.valueOf(System.currentTimeMillis() / 1000);
this.setFieldValByName("addTime", Integer.valueOf(timestamp), metaObject);
}
Long userId = WebFrameworkUtils.getLoginUserId();
// 当前登录用户不为空,创建人为空,则当前登录用户为创建人
if (metaObject.hasSetter("creator")) {
this.setFieldValByName("creator", userId.toString(), metaObject);
}
if (metaObject.hasSetter("updater")) {
this.setFieldValByName("updater", userId.toString(), metaObject);
}
Timestamp time=new Timestamp(System.currentTimeMillis());
if (metaObject.hasSetter("createTime")) {
this.setFieldValByName("createTime", time, metaObject);
}
if (metaObject.hasSetter("updateTime")) {
this.setFieldValByName("updateTime", time, metaObject);
}
if (metaObject.hasSetter("createDate")) {
this.setFieldValByName("createDate", time, metaObject);
}
if (metaObject.hasSetter("updateDate")) {
this.setFieldValByName("updateDate", time, metaObject);
}
if (metaObject.hasSetter("delFlag")) {
this.setFieldValByName("delFlag", false, metaObject);
}
if (metaObject.hasSetter("isDel")) {
this.setFieldValByName("isDel", 0, metaObject);
}
if (metaObject.hasSetter("addTime")) {
String timestamp = String.valueOf(System.currentTimeMillis() / 1000);
this.setFieldValByName("addTime", Integer.valueOf(timestamp), metaObject);
}
}
@Override
@@ -132,7 +132,7 @@ public class YudaoWebSecurityConfigurerAdapter extends WebSecurityConfigurerAdap
.antMatchers("/common/**").permitAll()
// 忽略宝享购全部
.antMatchers("/bxgApp/**","/bxg/**").permitAll()
// .antMatchers("/bxgApp/**","/bxg/**").hasAnyRole()
// ②:每个项目的自定义规则
.and().authorizeRequests(registry -> // 下面,循环设置自定义规则
@@ -6,7 +6,7 @@
* 购买后可获得全部源代码禁止转卖分享上传到码云github等开源平台
* 一经发现盗用分享等行为将追究法律责任后果自负
*/
package co.yixiang.app.common.interceptor;
package cn.iocoder.yudao.framework.security.core.annotations;
import java.lang.annotation.ElementType;
@@ -4,6 +4,7 @@ import cn.hutool.core.exceptions.ExceptionUtil;
import cn.hutool.core.map.MapUtil;
import cn.hutool.extra.servlet.ServletUtil;
import cn.iocoder.yudao.framework.common.exception.ServiceException;
import cn.iocoder.yudao.framework.common.exception.YshopException;
import cn.iocoder.yudao.framework.common.pojo.CommonResult;
import cn.iocoder.yudao.framework.apilog.core.service.ApiErrorLogFrameworkService;
import cn.iocoder.yudao.framework.apilog.core.service.dto.ApiErrorLogCreateReqDTO;
@@ -215,6 +216,12 @@ public class GlobalExceptionHandler {
return CommonResult.error(ex.getCode(), ex.getMessage());
}
@ExceptionHandler(value = YshopException.class)
public CommonResult<?> yshopException(YshopException ex){
log.info("[YshopException]",ex);
return CommonResult.error(ex.getErrorCode(), ex.getMessage());
}
/**
* 处理系统异常,兜底处理所有的一切
*/
@@ -1,27 +1,61 @@
package cn.iocoder.yudao.module.infra.framework.security.config;
import cn.iocoder.yudao.framework.security.config.AuthorizeRequestsCustomizer;
import cn.iocoder.yudao.framework.security.core.annotations.AuthCheck;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.context.ApplicationContext;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import org.springframework.security.config.annotation.web.builders.HttpSecurity;
import org.springframework.security.config.annotation.web.configurers.ExpressionUrlAuthorizationConfigurer;
import org.springframework.web.method.HandlerMethod;
import org.springframework.web.servlet.mvc.condition.PatternsRequestCondition;
import org.springframework.web.servlet.mvc.method.RequestMappingInfo;
import org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerMapping;
import javax.annotation.Resource;
import java.util.HashSet;
import java.util.Map;
import java.util.Optional;
import java.util.Set;
/**
* Infra 模块的 Security 配置
*/
@Configuration("infraSecurityConfiguration")
@Slf4j
public class SecurityConfiguration {
@Value("${spring.boot.admin.context-path:''}")
private String adminSeverContextPath;
@Resource
private ApplicationContext applicationContext;
@Bean("infraAuthorizeRequestsCustomizer")
public AuthorizeRequestsCustomizer authorizeRequestsCustomizer() {
return new AuthorizeRequestsCustomizer() {
@Override
public void customize(ExpressionUrlAuthorizationConfigurer<HttpSecurity>.ExpressionInterceptUrlRegistry registry) {
// 查找全部宝象购的链接
Map<RequestMappingInfo, HandlerMethod> handlerMethods = applicationContext.getBean(RequestMappingHandlerMapping.class).getHandlerMethods();
Set<String> anonymousUrls = new HashSet<>();
for (Map.Entry<RequestMappingInfo, HandlerMethod> infoEntry : handlerMethods.entrySet()) {
HandlerMethod handlerMethod = infoEntry.getValue();
// 宝象购app包下 并且没有登录标识 放行
if (handlerMethod.getBeanType().getPackage().getName().startsWith("co.yixiang.app")
&& !handlerMethod.hasMethodAnnotation(AuthCheck.class)){
PatternsRequestCondition requestCondition = infoEntry.getKey().getPatternsCondition();
Optional.ofNullable(requestCondition).orElseThrow(RuntimeException::new);
anonymousUrls.addAll(requestCondition.getPatterns());
}
}
anonymousUrls.forEach(s -> log.warn("宝象购可以匿名访问的url{}", s));
registry.antMatchers(anonymousUrls.toArray(new String[0])).anonymous();
// Swagger 接口文档
registry.antMatchers("/swagger-ui.html").anonymous()
.antMatchers("/swagger-resources/**").anonymous()
@@ -10,12 +10,15 @@ import cn.iocoder.yudao.module.system.dal.dataobject.permission.MenuDO;
import cn.iocoder.yudao.module.system.dal.dataobject.permission.RoleDO;
import cn.iocoder.yudao.module.system.dal.dataobject.user.AdminUserDO;
import cn.iocoder.yudao.module.system.enums.permission.MenuIdEnum;
import com.google.common.collect.Sets;
import lombok.extern.slf4j.Slf4j;
import org.mapstruct.Mapper;
import org.mapstruct.Mapping;
import org.mapstruct.factory.Mappers;
import org.slf4j.LoggerFactory;
import java.util.*;
import java.util.function.Function;
@Mapper
public interface AuthConvert {
@@ -31,10 +34,18 @@ public interface AuthConvert {
}
default AuthPermissionInfoRespVO convert(AdminUserDO user, List<RoleDO> roleList, List<MenuDO> menuList) {
Set<String> permissions = CollectionUtils.convertSet(menuList, MenuDO::getPermission);
// 兼容了一个菜单多个权限。包含逗号分为多块写入
menuList.forEach(menuDO -> {
if (menuDO.getPermission().contains(",")){
permissions.remove(menuDO.getPermission());
permissions.addAll( Sets.newHashSet(Arrays.asList(menuDO.getPermission().split(","))));
}
});
return AuthPermissionInfoRespVO.builder()
.user(AuthPermissionInfoRespVO.UserVO.builder().id(user.getId()).nickname(user.getNickname()).avatar(user.getAvatar()).build())
.roles(CollectionUtils.convertSet(roleList, RoleDO::getCode))
.permissions(CollectionUtils.convertSet(menuList, MenuDO::getPermission))
.permissions(permissions)
.build();
}
@@ -95,7 +95,15 @@ public class MenuServiceImpl implements MenuService {
ImmutableMultimap.Builder<String, MenuDO> permMenuCacheBuilder = ImmutableMultimap.builder();
menuList.forEach(menuDO -> {
menuCacheBuilder.put(menuDO.getId(), menuDO);
permMenuCacheBuilder.put(menuDO.getPermission(), menuDO);
// 兼容了一个菜单多个权限。包含逗号分为多块写入
if (menuDO.getPermission().contains(",")){
Arrays.asList(menuDO.getPermission().split(",")).forEach(s -> {
permMenuCacheBuilder.put(s, menuDO);
});
}else {
permMenuCacheBuilder.put(menuDO.getPermission(), menuDO);
}
});
menuCache = menuCacheBuilder.build();
permissionMenuCache = permMenuCacheBuilder.build();
@@ -317,6 +317,10 @@ public class PermissionServiceImpl implements PermissionService {
if (ArrayUtil.isEmpty(permissions)) {
return true;
}
//如果带角色字段 也过
if (hasAnyRoles(permissions)){
return true;
}
// 获得当前登录的角色。如果为空,说明没有权限
Set<Long> roleIds = SecurityFrameworkUtils.getLoginUserRoleIds();
@@ -69,7 +69,7 @@ spring:
# Redis 配置。Redisson 默认的配置足够使用,一般不需要进行调优
redis:
host: 192.168.10.129 # 地址
host: 127.0.0.1 # 地址
port: 6379 # 端口
database: 0 # 数据库索引
@@ -9,6 +9,7 @@
package co.yixiang.api;
import cn.iocoder.yudao.framework.common.exception.ApiCode;
import com.alibaba.fastjson.annotation.JSONField;
import com.fasterxml.jackson.annotation.JsonFormat;
import io.swagger.annotations.ApiModelProperty;
@@ -9,8 +9,8 @@
package co.yixiang.api;
import cn.iocoder.yudao.framework.common.exception.ApiCode;
import cn.iocoder.yudao.framework.common.exception.YshopException;
/**
* 业务异常
@@ -9,6 +9,9 @@
package co.yixiang.api;
import cn.iocoder.yudao.framework.common.exception.ApiCode;
import cn.iocoder.yudao.framework.common.exception.YshopException;
/**
* DAO异常
* @author hupeng
@@ -8,6 +8,9 @@
*/
package co.yixiang.api;
import cn.iocoder.yudao.framework.common.exception.ApiCode;
import cn.iocoder.yudao.framework.common.exception.YshopException;
/**
* 认证异常
* @author hupeng
@@ -9,7 +9,7 @@
package co.yixiang.app.common.bean;
import co.yixiang.api.ApiCode;
import cn.iocoder.yudao.framework.common.exception.ApiCode;
import co.yixiang.api.UnAuthenticatedException;
import co.yixiang.app.common.util.JwtToken;
import co.yixiang.app.common.util.RequestUtils;
@@ -10,7 +10,8 @@ package co.yixiang.app.common.interceptor;
import cn.hutool.core.util.StrUtil;
import co.yixiang.api.ApiCode;
import cn.iocoder.yudao.framework.security.core.annotations.AuthCheck;
import cn.iocoder.yudao.framework.common.exception.ApiCode;
import co.yixiang.api.UnAuthenticatedException;
import co.yixiang.app.common.bean.LocalUser;
import co.yixiang.app.common.util.JwtToken;
@@ -20,7 +21,6 @@ import co.yixiang.modules.user.service.YxUserService;
import co.yixiang.utils.RedisUtils;
import com.auth0.jwt.interfaces.Claim;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.util.StringUtils;
import org.springframework.web.method.HandlerMethod;
import org.springframework.web.servlet.ModelAndView;
import org.springframework.web.servlet.handler.HandlerInterceptorAdapter;
@@ -12,7 +12,7 @@ import cn.hutool.core.util.NumberUtil;
import cn.hutool.core.util.ObjectUtil;
import cn.hutool.core.util.StrUtil;
import co.yixiang.api.ApiResult;
import co.yixiang.api.YshopException;
import cn.iocoder.yudao.framework.common.exception.YshopException;
import co.yixiang.app.common.aop.NoRepeatSubmit;
import co.yixiang.app.common.bean.LocalUser;
import co.yixiang.app.modules.activity.param.BargainShareParam;
@@ -20,7 +20,7 @@ import co.yixiang.app.modules.activity.param.YxStoreBargainUserHelpQueryParam;
import co.yixiang.app.modules.activity.param.YxStoreBargainUserQueryParam;
import co.yixiang.app.modules.services.CreatShareProductService;
import co.yixiang.logging.aop.log.AppLog;
import co.yixiang.app.common.interceptor.AuthCheck;
import cn.iocoder.yudao.framework.security.core.annotations.AuthCheck;
import co.yixiang.constant.SystemConfigConstants;
import co.yixiang.modules.activity.domain.YxStoreBargainUser;
import co.yixiang.modules.activity.domain.YxStoreBargainUserHelp;
@@ -44,7 +44,6 @@ import io.swagger.annotations.ApiImplicitParams;
import io.swagger.annotations.ApiOperation;
import lombok.RequiredArgsConstructor;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.PathVariable;
@@ -11,13 +11,13 @@ package co.yixiang.app.modules.activity.rest;
import cn.hutool.core.util.ObjectUtil;
import cn.hutool.core.util.StrUtil;
import co.yixiang.api.ApiResult;
import co.yixiang.api.YshopException;
import cn.iocoder.yudao.framework.common.exception.YshopException;
import co.yixiang.app.common.bean.LocalUser;
import co.yixiang.app.modules.activity.param.PinkCancelParam;
import co.yixiang.app.modules.activity.param.PinkShareParam;
import co.yixiang.app.modules.services.CreatShareProductService;
import co.yixiang.logging.aop.log.AppLog;
import co.yixiang.app.common.interceptor.AuthCheck;
import cn.iocoder.yudao.framework.security.core.annotations.AuthCheck;
import co.yixiang.constant.SystemConfigConstants;
import co.yixiang.modules.activity.service.YxStoreCombinationService;
import co.yixiang.modules.activity.service.YxStorePinkService;
@@ -35,7 +35,6 @@ import io.swagger.annotations.ApiOperation;
import lombok.RequiredArgsConstructor;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.PathVariable;
@@ -12,10 +12,10 @@ import cn.hutool.core.date.DateUtil;
import cn.hutool.core.util.NumberUtil;
import cn.hutool.core.util.StrUtil;
import co.yixiang.api.ApiResult;
import co.yixiang.api.YshopException;
import cn.iocoder.yudao.framework.common.exception.YshopException;
import co.yixiang.logging.aop.log.AppLog;
import co.yixiang.app.common.bean.LocalUser;
import co.yixiang.app.common.interceptor.AuthCheck;
import cn.iocoder.yudao.framework.security.core.annotations.AuthCheck;
import co.yixiang.constant.ShopConstants;
import co.yixiang.modules.activity.service.YxStoreSeckillService;
import co.yixiang.modules.activity.service.dto.SeckillTimeDto;
@@ -13,14 +13,14 @@ import cn.hutool.core.util.RandomUtil;
import cn.hutool.core.util.StrUtil;
import cn.hutool.crypto.SecureUtil;
import co.yixiang.api.ApiResult;
import co.yixiang.api.YshopException;
import cn.iocoder.yudao.framework.common.exception.YshopException;
import co.yixiang.app.common.enums.SmsTypeEnum;
import co.yixiang.app.common.util.JwtToken;
import co.yixiang.app.common.util.SmsUtils;
import co.yixiang.app.modules.auth.param.*;
import co.yixiang.app.modules.services.AppAuthService;
import co.yixiang.app.common.bean.LocalUser;
import co.yixiang.app.common.interceptor.AuthCheck;
import cn.iocoder.yudao.framework.security.core.annotations.AuthCheck;
import co.yixiang.constant.ShopConstants;
import co.yixiang.enums.ShopCommonEnum;
import co.yixiang.modules.user.domain.YxUser;
@@ -37,7 +37,6 @@ import io.swagger.annotations.ApiOperation;
import lombok.RequiredArgsConstructor;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.*;
@@ -15,7 +15,7 @@ import co.yixiang.app.common.bean.LocalUser;
import co.yixiang.app.modules.cart.param.CartIdsParm;
import co.yixiang.app.modules.cart.param.CartParam;
import co.yixiang.logging.aop.log.AppLog;
import co.yixiang.app.common.interceptor.AuthCheck;
import cn.iocoder.yudao.framework.security.core.annotations.AuthCheck;
import co.yixiang.app.modules.cart.param.CartNumParam;
import co.yixiang.modules.cart.service.YxStoreCartService;
import io.swagger.annotations.Api;
@@ -10,11 +10,11 @@ package co.yixiang.app.modules.coupon.rest;
import cn.hutool.core.util.NumberUtil;
import co.yixiang.api.ApiResult;
import co.yixiang.api.YshopException;
import cn.iocoder.yudao.framework.common.exception.YshopException;
import co.yixiang.logging.aop.log.AppLog;
import co.yixiang.app.common.aop.NoRepeatSubmit;
import co.yixiang.app.common.bean.LocalUser;
import co.yixiang.app.common.interceptor.AuthCheck;
import cn.iocoder.yudao.framework.security.core.annotations.AuthCheck;
import co.yixiang.modules.activity.service.YxStoreCouponIssueService;
import co.yixiang.modules.activity.service.YxStoreCouponUserService;
import co.yixiang.modules.activity.vo.StoreCouponUserVo;
@@ -11,11 +11,11 @@ package co.yixiang.app.modules.manage.rest;
import cn.hutool.core.util.ObjectUtil;
import cn.hutool.core.util.StrUtil;
import co.yixiang.api.ApiResult;
import co.yixiang.api.YshopException;
import cn.iocoder.yudao.framework.common.exception.YshopException;
import co.yixiang.app.modules.order.param.OrderDeliveryParam;
import co.yixiang.app.modules.order.param.OrderRefundParam;
import co.yixiang.logging.aop.log.AppLog;
import co.yixiang.app.common.interceptor.AuthCheck;
import cn.iocoder.yudao.framework.security.core.annotations.AuthCheck;
import co.yixiang.app.modules.manage.param.OrderPriceParam;
import co.yixiang.app.modules.manage.param.ShoperQueryParam;
import co.yixiang.modules.order.service.YxExpressService;
@@ -12,14 +12,14 @@ import cn.hutool.core.bean.BeanUtil;
import cn.hutool.core.util.ObjectUtil;
import cn.hutool.core.util.StrUtil;
import co.yixiang.api.ApiResult;
import co.yixiang.api.YshopException;
import cn.iocoder.yudao.framework.common.exception.YshopException;
import co.yixiang.app.common.aop.NoRepeatSubmit;
import co.yixiang.app.common.bean.LocalUser;
import co.yixiang.app.modules.order.param.*;
import co.yixiang.app.modules.order.param.ExpressParam;
import co.yixiang.app.modules.services.CreatShareProductService;
import co.yixiang.app.modules.services.OrderSupplyService;
import co.yixiang.app.common.interceptor.AuthCheck;
import cn.iocoder.yudao.framework.security.core.annotations.AuthCheck;
import co.yixiang.enums.*;
import co.yixiang.logging.aop.log.AppLog;
import co.yixiang.modules.mp.domain.YxWechatTemplate;
@@ -50,7 +50,6 @@ import io.swagger.annotations.ApiOperation;
import lombok.RequiredArgsConstructor;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.*;
@@ -16,7 +16,7 @@ import cn.hutool.core.util.ObjectUtil;
import cn.hutool.core.util.StrUtil;
import cn.hutool.extra.qrcode.QrCodeUtil;
import co.yixiang.api.ApiResult;
import co.yixiang.api.YshopException;
import cn.iocoder.yudao.framework.common.exception.YshopException;
import co.yixiang.app.common.aop.NoRepeatSubmit;
import co.yixiang.app.common.bean.LocalUser;
import co.yixiang.app.modules.product.param.CollectDelFootParam;
@@ -24,7 +24,7 @@ import co.yixiang.app.modules.product.param.YxStoreProductRelationQueryParam;
import co.yixiang.app.modules.services.CreatShareProductService;
import co.yixiang.constant.ShopConstants;
import co.yixiang.logging.aop.log.AppLog;
import co.yixiang.app.common.interceptor.AuthCheck;
import cn.iocoder.yudao.framework.security.core.annotations.AuthCheck;
import co.yixiang.constant.SystemConfigConstants;
import co.yixiang.enums.AppFromEnum;
import co.yixiang.enums.ProductEnum;
@@ -49,7 +49,6 @@ import io.swagger.annotations.ApiOperation;
import lombok.RequiredArgsConstructor;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.*;
@@ -15,7 +15,7 @@ import cn.binarywang.wx.miniapp.bean.WxMaUserInfo;
import cn.hutool.core.util.ObjectUtil;
import cn.hutool.core.util.StrUtil;
import cn.hutool.crypto.SecureUtil;
import co.yixiang.api.YshopException;
import cn.iocoder.yudao.framework.common.exception.YshopException;
import co.yixiang.app.common.util.IpUtil;
import co.yixiang.constant.ShopConstants;
import co.yixiang.enums.AppFromEnum;
@@ -15,7 +15,7 @@ import cn.hutool.core.util.ObjectUtil;
import cn.hutool.core.util.StrUtil;
import cn.hutool.extra.qrcode.QrCodeUtil;
import cn.hutool.http.HttpUtil;
import co.yixiang.api.YshopException;
import cn.iocoder.yudao.framework.common.exception.YshopException;
import co.yixiang.constant.ShopConstants;
import co.yixiang.constant.SystemConfigConstants;
import co.yixiang.enums.AppFromEnum;
@@ -11,7 +11,7 @@ package co.yixiang.app.modules.services;
import cn.hutool.core.util.NumberUtil;
import cn.hutool.core.util.ObjectUtil;
import cn.hutool.core.util.StrUtil;
import co.yixiang.api.YshopException;
import cn.iocoder.yudao.framework.common.exception.YshopException;
import co.yixiang.enums.AppFromEnum;
import co.yixiang.enums.BillDetailEnum;
import co.yixiang.enums.OrderInfoEnum;
@@ -11,7 +11,7 @@ package co.yixiang.app.modules.shop.rest;
import cn.hutool.core.io.file.FileReader;
import cn.hutool.core.io.resource.ClassPathResource;
import co.yixiang.api.ApiResult;
import co.yixiang.api.YshopException;
import cn.iocoder.yudao.framework.common.exception.YshopException;
import co.yixiang.constant.ShopConstants;
import co.yixiang.enums.ProductEnum;
import co.yixiang.modules.activity.service.YxStoreCombinationService;
@@ -11,9 +11,9 @@ package co.yixiang.app.modules.user.rest;
import cn.hutool.core.util.NumberUtil;
import cn.hutool.core.util.StrUtil;
import co.yixiang.api.ApiResult;
import co.yixiang.api.YshopException;
import cn.iocoder.yudao.framework.common.exception.YshopException;
import co.yixiang.app.common.bean.LocalUser;
import co.yixiang.app.common.interceptor.AuthCheck;
import cn.iocoder.yudao.framework.security.core.annotations.AuthCheck;
import co.yixiang.app.modules.services.CreatShareProductService;
import co.yixiang.app.modules.user.param.PromParam;
import co.yixiang.app.modules.user.param.YxUserBillQueryParam;
@@ -34,7 +34,6 @@ import io.swagger.annotations.ApiOperation;
import lombok.RequiredArgsConstructor;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.PathVariable;
import org.springframework.web.bind.annotation.PostMapping;
@@ -12,7 +12,7 @@ package co.yixiang.app.modules.user.rest;
import co.yixiang.api.ApiResult;
import co.yixiang.app.common.bean.LocalUser;
import co.yixiang.logging.aop.log.AppLog;
import co.yixiang.app.common.interceptor.AuthCheck;
import cn.iocoder.yudao.framework.security.core.annotations.AuthCheck;
import co.yixiang.constant.SystemConfigConstants;
import co.yixiang.modules.activity.param.UserExtParam;
import co.yixiang.modules.activity.service.YxUserExtractService;
@@ -10,12 +10,12 @@ package co.yixiang.app.modules.user.rest;
import cn.hutool.core.bean.BeanUtil;
import co.yixiang.api.ApiResult;
import co.yixiang.api.YshopException;
import cn.iocoder.yudao.framework.common.exception.YshopException;
import co.yixiang.app.common.bean.LocalUser;
import co.yixiang.app.modules.user.param.RechargeParam;
import co.yixiang.enums.ShopCommonEnum;
import co.yixiang.logging.aop.log.AppLog;
import co.yixiang.app.common.interceptor.AuthCheck;
import cn.iocoder.yudao.framework.security.core.annotations.AuthCheck;
import co.yixiang.constant.ShopConstants;
import co.yixiang.enums.AppFromEnum;
import co.yixiang.enums.BillDetailEnum;
@@ -12,7 +12,7 @@ package co.yixiang.app.modules.user.rest;
import co.yixiang.api.ApiResult;
import co.yixiang.app.common.aop.NoRepeatSubmit;
import co.yixiang.app.common.bean.LocalUser;
import co.yixiang.app.common.interceptor.AuthCheck;
import cn.iocoder.yudao.framework.security.core.annotations.AuthCheck;
import co.yixiang.app.modules.user.param.UserEditParam;
import co.yixiang.logging.aop.log.AppLog;
import co.yixiang.constant.ShopConstants;
@@ -11,9 +11,9 @@ package co.yixiang.app.modules.user.rest;
import cn.hutool.core.util.NumberUtil;
import cn.hutool.core.util.StrUtil;
import co.yixiang.api.ApiResult;
import co.yixiang.api.YshopException;
import cn.iocoder.yudao.framework.common.exception.YshopException;
import co.yixiang.app.common.bean.LocalUser;
import co.yixiang.app.common.interceptor.AuthCheck;
import cn.iocoder.yudao.framework.security.core.annotations.AuthCheck;
import co.yixiang.app.common.util.CityTreeUtil;
import co.yixiang.app.common.web.param.IdParam;
import co.yixiang.logging.aop.log.AppLog;
@@ -12,9 +12,9 @@ package co.yixiang.app.modules.user.rest;
import cn.hutool.core.util.NumberUtil;
import cn.hutool.core.util.StrUtil;
import co.yixiang.api.ApiResult;
import co.yixiang.api.YshopException;
import cn.iocoder.yudao.framework.common.exception.YshopException;
import co.yixiang.app.common.bean.LocalUser;
import co.yixiang.app.common.interceptor.AuthCheck;
import cn.iocoder.yudao.framework.security.core.annotations.AuthCheck;
import co.yixiang.modules.user.service.YxSystemUserLevelService;
import co.yixiang.modules.user.service.YxSystemUserTaskService;
import co.yixiang.modules.user.service.YxUserLevelService;
@@ -12,13 +12,13 @@ import cn.binarywang.wx.miniapp.api.WxMaService;
import cn.binarywang.wx.miniapp.bean.WxMaPhoneNumberInfo;
import cn.hutool.core.util.StrUtil;
import co.yixiang.api.ApiResult;
import co.yixiang.api.YshopException;
import cn.iocoder.yudao.framework.common.exception.YshopException;
import co.yixiang.app.common.bean.LocalUser;
import co.yixiang.app.modules.wechat.rest.param.BindPhoneParam;
import co.yixiang.app.modules.wechat.rest.param.WxPhoneParam;
import co.yixiang.constant.ShopConstants;
import co.yixiang.logging.aop.log.AppLog;
import co.yixiang.app.common.interceptor.AuthCheck;
import cn.iocoder.yudao.framework.security.core.annotations.AuthCheck;
import co.yixiang.modules.user.domain.YxUser;
import co.yixiang.modules.user.service.YxUserService;
import co.yixiang.modules.mp.config.WxMaConfiguration;
@@ -3,9 +3,9 @@ package co.yixiang.app.rest;
import cn.hutool.core.util.ObjectUtil;
import cn.hutool.core.util.StrUtil;
import co.yixiang.api.ApiResult;
import co.yixiang.api.YshopException;
import cn.iocoder.yudao.framework.common.exception.YshopException;
import co.yixiang.app.common.bean.LocalUser;
import co.yixiang.app.common.interceptor.AuthCheck;
import cn.iocoder.yudao.framework.security.core.annotations.AuthCheck;
import co.yixiang.logging.aop.log.AppLog;
import co.yixiang.modules.order.domain.YxExpress;
import co.yixiang.modules.order.service.YxExpressService;
@@ -5,12 +5,10 @@
*/
package co.yixiang.exception;
import co.yixiang.api.ApiCode;
import cn.iocoder.yudao.framework.common.exception.ApiCode;
import lombok.Getter;
import org.springframework.http.HttpStatus;
import static org.springframework.http.HttpStatus.BAD_REQUEST;
/**
* @author Zheng Jie
* @date 2018-11-23
@@ -1,130 +0,0 @@
///**
// * Copyright (C) 2018-2022
// * All rights reserved, Designed By www.yixiang.co
//
// */
//package co.yixiang.handler;
//
//import co.yixiang.exception.BadRequestException;
//import co.yixiang.exception.EntityExistException;
//import co.yixiang.exception.EntityNotFoundException;
//import co.yixiang.exception.ErrorRequestException;
//import co.yixiang.utils.ThrowableUtil;
//import lombok.extern.slf4j.Slf4j;
//import org.springframework.http.HttpStatus;
//import org.springframework.http.ResponseEntity;
//import org.springframework.security.authentication.BadCredentialsException;
//import org.springframework.web.bind.MethodArgumentNotValidException;
//import org.springframework.web.bind.annotation.ExceptionHandler;
//import org.springframework.web.bind.annotation.RestControllerAdvice;
//
//import java.util.Objects;
//
//import static org.springframework.http.HttpStatus.NOT_FOUND;
//import static org.springframework.http.HttpStatus.valueOf;
//
///**
// * @author Zheng Jie
// * @date 2018-11-23
// */
//@Slf4j
//@RestControllerAdvice
//@SuppressWarnings("unchecked")
//public class GlobalExceptionHandler {
//
// /**
// * 处理所有不可知的异常
// */
// @ExceptionHandler(Throwable.class)
// public ResponseEntity<ApiError> handleException(Throwable e){
// // 打印堆栈信息
// log.error(ThrowableUtil.getStackTrace(e));
// return buildResponseEntity(ApiError.error(e.getMessage()));
// }
//
// /**
// * BadCredentialsException
// */
// @ExceptionHandler(BadCredentialsException.class)
// public ResponseEntity<ApiError> badCredentialsException(BadCredentialsException e){
// // 打印堆栈信息
// String message = "坏的凭证".equals(e.getMessage()) ? "用户名或密码不正确" : e.getMessage();
// log.error(message);
// return buildResponseEntity(ApiError.error(message));
// }
//
// /**
// * 处理自定义异常
// */
// @ExceptionHandler(value = BadRequestException.class)
// public ResponseEntity<ApiError> badRequestException(BadRequestException e) {
// // 打印堆栈信息
// log.error(ThrowableUtil.getStackTrace(e));
// return buildResponseEntity(ApiError.error(e.getStatus(),e.getMessage()));
// }
//
// /**
// * 处理自定义异常
// * @param e
// * @return
// */
// @ExceptionHandler(value = ErrorRequestException.class)
// public ResponseEntity<ApiErr> errorRequestException(ErrorRequestException e) {
// // 打印堆栈信息
// log.error(ThrowableUtil.getStackTrace(e));
// ApiErr apiError = new ApiErr(e.getStatus(),e.getMessage());
// return buildResponseEntity2(apiError);
// }
//
// /**
// * 处理 EntityExist
// */
// @ExceptionHandler(value = EntityExistException.class)
// public ResponseEntity<ApiError> entityExistException(EntityExistException e) {
// // 打印堆栈信息
// log.error(ThrowableUtil.getStackTrace(e));
// return buildResponseEntity(ApiError.error(e.getMessage()));
// }
//
// /**
// * 处理 EntityNotFound
// */
// @ExceptionHandler(value = EntityNotFoundException.class)
// public ResponseEntity<ApiError> entityNotFoundException(EntityNotFoundException e) {
// // 打印堆栈信息
// log.error(ThrowableUtil.getStackTrace(e));
// return buildResponseEntity(ApiError.error(NOT_FOUND.value(),e.getMessage()));
// }
//
// /**
// * 处理所有接口数据验证异常
// */
// @ExceptionHandler(MethodArgumentNotValidException.class)
// public ResponseEntity<ApiError> handleMethodArgumentNotValidException(MethodArgumentNotValidException e){
// // 打印堆栈信息
// log.error(ThrowableUtil.getStackTrace(e));
// String[] str = Objects.requireNonNull(e.getBindingResult().getAllErrors().get(0).getCodes())[1].split("\\.");
// String message = e.getBindingResult().getAllErrors().get(0).getDefaultMessage();
// String msg = "不能为空";
// if(msg.equals(message)){
// message = str[1] + ":" + message;
// }
// return buildResponseEntity(ApiError.error(message));
// }
//
// /**
// * 统一返回
// */
// private ResponseEntity<ApiError> buildResponseEntity(ApiError apiError) {
// return new ResponseEntity<>(apiError, valueOf(apiError.getStatus()));
// }
//
// /**
// * 统一返回
// * @param apiError
// * @return
// */
// private ResponseEntity<ApiErr> buildResponseEntity2(ApiErr apiError) {
// return new ResponseEntity(apiError, HttpStatus.valueOf(apiError.getStatus()));
// }
//}
@@ -5,7 +5,7 @@
*/
package co.yixiang.logging.domain;
import co.yixiang.domain.BaseDomain;
import cn.iocoder.yudao.framework.mybatis.core.dataobject.BaseDomain;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
@@ -7,7 +7,7 @@ package co.yixiang.modules.activity.domain;
import cn.hutool.core.bean.BeanUtil;
import cn.hutool.core.bean.copier.CopyOptions;
import co.yixiang.domain.BaseDomain;
import cn.iocoder.yudao.framework.mybatis.core.dataobject.BaseDomain;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import io.swagger.annotations.ApiModelProperty;
@@ -1,7 +1,7 @@
package co.yixiang.modules.activity.domain;
import co.yixiang.domain.BaseDomain;
import cn.iocoder.yudao.framework.mybatis.core.dataobject.BaseDomain;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import io.swagger.annotations.ApiModel;
@@ -1,7 +1,7 @@
package co.yixiang.modules.activity.domain;
import co.yixiang.domain.BaseDomain;
import cn.iocoder.yudao.framework.mybatis.core.dataobject.BaseDomain;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import io.swagger.annotations.ApiModel;
@@ -7,7 +7,7 @@ package co.yixiang.modules.activity.domain;
import cn.hutool.core.bean.BeanUtil;
import cn.hutool.core.bean.copier.CopyOptions;
import co.yixiang.domain.BaseDomain;
import cn.iocoder.yudao.framework.mybatis.core.dataobject.BaseDomain;
import co.yixiang.modules.product.service.dto.FromatDetailDto;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
@@ -7,7 +7,7 @@ package co.yixiang.modules.activity.domain;
import cn.hutool.core.bean.BeanUtil;
import cn.hutool.core.bean.copier.CopyOptions;
import co.yixiang.domain.BaseDomain;
import cn.iocoder.yudao.framework.mybatis.core.dataobject.BaseDomain;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import io.swagger.annotations.ApiModelProperty;
@@ -7,7 +7,7 @@ package co.yixiang.modules.activity.domain;
import cn.hutool.core.bean.BeanUtil;
import cn.hutool.core.bean.copier.CopyOptions;
import co.yixiang.domain.BaseDomain;
import cn.iocoder.yudao.framework.mybatis.core.dataobject.BaseDomain;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import io.swagger.annotations.ApiModelProperty;
@@ -7,7 +7,7 @@ package co.yixiang.modules.activity.domain;
import cn.hutool.core.bean.BeanUtil;
import cn.hutool.core.bean.copier.CopyOptions;
import co.yixiang.domain.BaseDomain;
import cn.iocoder.yudao.framework.mybatis.core.dataobject.BaseDomain;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import io.swagger.annotations.ApiModelProperty;
@@ -7,7 +7,7 @@ package co.yixiang.modules.activity.domain;
import cn.hutool.core.bean.BeanUtil;
import cn.hutool.core.bean.copier.CopyOptions;
import co.yixiang.domain.BaseDomain;
import cn.iocoder.yudao.framework.mybatis.core.dataobject.BaseDomain;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import io.swagger.annotations.ApiModelProperty;
@@ -7,7 +7,7 @@ package co.yixiang.modules.activity.domain;
import cn.hutool.core.bean.BeanUtil;
import cn.hutool.core.bean.copier.CopyOptions;
import co.yixiang.domain.BaseDomain;
import cn.iocoder.yudao.framework.mybatis.core.dataobject.BaseDomain;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import io.swagger.annotations.ApiModelProperty;
@@ -7,7 +7,7 @@ package co.yixiang.modules.activity.domain;
import cn.hutool.core.bean.BeanUtil;
import cn.hutool.core.bean.copier.CopyOptions;
import co.yixiang.domain.BaseDomain;
import cn.iocoder.yudao.framework.mybatis.core.dataobject.BaseDomain;
import co.yixiang.modules.product.service.dto.FromatDetailDto;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
@@ -17,8 +17,6 @@ import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.EqualsAndHashCode;
import javax.validation.constraints.DecimalMax;
import javax.validation.constraints.DecimalMin;
import javax.validation.constraints.Min;
import javax.validation.constraints.NotBlank;
import javax.validation.constraints.NotNull;
@@ -7,7 +7,7 @@ package co.yixiang.modules.activity.domain;
import cn.hutool.core.bean.BeanUtil;
import cn.hutool.core.bean.copier.CopyOptions;
import co.yixiang.domain.BaseDomain;
import cn.iocoder.yudao.framework.mybatis.core.dataobject.BaseDomain;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import lombok.Data;
@@ -9,7 +9,7 @@
package co.yixiang.modules.activity.rest;
import cn.hutool.core.util.ObjectUtil;
import co.yixiang.api.YshopException;
import cn.iocoder.yudao.framework.common.exception.YshopException;
import co.yixiang.logging.aop.log.Log;
import co.yixiang.modules.activity.domain.YxStoreBargain;
import co.yixiang.modules.activity.service.YxStoreBargainService;
@@ -48,7 +48,7 @@ public class StoreBargainController {
@Log("查询砍价")
@ApiOperation(value = "查询砍价")
@GetMapping(value = "/yxStoreBargain")
@PreAuthorize("hasAnyRole('admin','YXSTOREBARGAIN_ALL','YXSTOREBARGAIN_SELECT')")
@PreAuthorize("@ss.hasAnyPermissions('admin','YXSTOREBARGAIN_ALL','YXSTOREBARGAIN_SELECT')")
public ResponseEntity getYxStoreBargains(YxStoreBargainQueryCriteria criteria, Pageable pageable){
return new ResponseEntity<>(yxStoreBargainService.queryAll(criteria,pageable),HttpStatus.OK);
}
@@ -58,7 +58,7 @@ public class StoreBargainController {
@Log("修改砍价")
@ApiOperation(value = "修改砍价")
@PutMapping(value = "/yxStoreBargain")
@PreAuthorize("hasAnyRole('admin','YXSTOREBARGAIN_ALL','YXSTOREBARGAIN_EDIT')")
@PreAuthorize("@ss.hasAnyPermissions('admin','YXSTOREBARGAIN_ALL','YXSTOREBARGAIN_EDIT')")
public ResponseEntity update(@Validated @RequestBody YxStoreBargain resources){
if(resources.getBargainMinPrice().compareTo(resources.getBargainMaxPrice()) >= 0){
throw new YshopException("单次砍最低价不能高于单次砍最高价");
@@ -78,7 +78,7 @@ public class StoreBargainController {
@Log("删除砍价")
@ApiOperation(value = "删除砍价")
@DeleteMapping(value = "/yxStoreBargain/{id}")
@PreAuthorize("hasAnyRole('admin','YXSTOREBARGAIN_ALL','YXSTOREBARGAIN_DELETE')")
@PreAuthorize("@ss.hasAnyPermissions('admin','YXSTOREBARGAIN_ALL','YXSTOREBARGAIN_DELETE')")
public ResponseEntity delete(@PathVariable Integer id){
yxStoreBargainService.removeById(id);
return new ResponseEntity(HttpStatus.OK);
@@ -80,7 +80,7 @@ public class StoreCombinationController {
@Log("查询拼团")
@ApiOperation(value = "查询拼团")
@GetMapping(value = "/yxStoreCombination")
@PreAuthorize("hasAnyRole('admin','YXSTORECOMBINATION_ALL','YXSTORECOMBINATION_SELECT')")
@PreAuthorize("@ss.hasAnyPermissions('admin','YXSTORECOMBINATION_ALL','YXSTORECOMBINATION_SELECT')")
public ResponseEntity getYxStoreCombinations(YxStoreCombinationQueryCriteria criteria, Pageable pageable){
return new ResponseEntity<>(yxStoreCombinationService.queryAll(criteria,pageable),HttpStatus.OK);
}
@@ -89,7 +89,7 @@ public class StoreCombinationController {
@Log("新增拼团")
@ApiOperation(value = "新增拼团")
@PostMapping(value = "/yxStoreCombination")
@PreAuthorize("hasAnyRole('admin','YXSTORECOMBINATION_ALL','YXSTORECOMBINATION_EDIT')")
@PreAuthorize("@ss.hasAnyPermissions('admin','YXSTORECOMBINATION_ALL','YXSTORECOMBINATION_EDIT')")
public ResponseEntity add(@Validated @RequestBody YxStoreCombinationDto resources){
return new ResponseEntity<>(yxStoreCombinationService.saveCombination(resources),HttpStatus.CREATED);
}
@@ -171,7 +171,7 @@ public class StoreCombinationController {
@Log("修改拼团")
@ApiOperation(value = "新增/修改拼团")
@PutMapping(value = "/yxStoreCombination")
@PreAuthorize("hasAnyRole('admin','YXSTORECOMBINATION_ALL','YXSTORECOMBINATION_EDIT')")
@PreAuthorize("@ss.hasAnyPermissions('admin','YXSTORECOMBINATION_ALL','YXSTORECOMBINATION_EDIT')")
public ResponseEntity update(@Validated @RequestBody YxStoreCombination resources){
if(ObjectUtil.isNull(resources.getId())){
return new ResponseEntity<>(yxStoreCombinationService.save(resources),HttpStatus.CREATED);
@@ -196,7 +196,7 @@ public class StoreCombinationController {
@Log("删除拼团")
@ApiOperation(value = "删除拼团")
@DeleteMapping(value = "/yxStoreCombination/{id}")
@PreAuthorize("hasAnyRole('admin','YXSTORECOMBINATION_ALL','YXSTORECOMBINATION_DELETE')")
@PreAuthorize("@ss.hasAnyPermissions('admin','YXSTORECOMBINATION_ALL','YXSTORECOMBINATION_DELETE')")
public ResponseEntity delete(@PathVariable Long id){
yxStoreCombinationService.removeById(id);
return new ResponseEntity(HttpStatus.OK);
@@ -6,7 +6,7 @@
package co.yixiang.modules.activity.rest;
import cn.hutool.core.util.StrUtil;
import co.yixiang.api.YshopException;
import cn.iocoder.yudao.framework.common.exception.YshopException;
import co.yixiang.enums.CouponEnum;
import co.yixiang.logging.aop.log.Log;
import co.yixiang.modules.activity.domain.YxStoreCoupon;
@@ -42,7 +42,7 @@ public class StoreCouponIssueUserController {
@Log("查询")
@ApiOperation(value = "查询")
@GetMapping(value = "/yxStoreCouponIssueUser")
@PreAuthorize("hasAnyRole('admin','YXSTORECOUPONISSUEUSER_ALL','YXSTORECOUPONISSUEUSER_SELECT')")
@PreAuthorize("@ss.hasAnyPermissions('admin','YXSTORECOUPONISSUEUSER_ALL','YXSTORECOUPONISSUEUSER_SELECT')")
public ResponseEntity getYxStoreCouponIssueUsers(YxStoreCouponIssueUserQueryCriteria criteria, Pageable pageable){
return new ResponseEntity<>(yxStoreCouponIssueUserService.queryAll(criteria,pageable),HttpStatus.OK);
}
@@ -52,7 +52,7 @@ public class StoreCouponIssueUserController {
@Log("删除")
@ApiOperation(value = "删除")
@DeleteMapping(value = "/yxStoreCouponIssueUser/{id}")
@PreAuthorize("hasAnyRole('admin','YXSTORECOUPONISSUEUSER_ALL','YXSTORECOUPONISSUEUSER_DELETE')")
@PreAuthorize("@ss.hasAnyPermissions('admin','YXSTORECOUPONISSUEUSER_ALL','YXSTORECOUPONISSUEUSER_DELETE')")
public ResponseEntity delete(@PathVariable Integer id){
yxStoreCouponIssueUserService.removeById(id);
return new ResponseEntity(HttpStatus.OK);
@@ -39,7 +39,7 @@ public class StoreCouponUserController {
@Log("查询Y")
@ApiOperation(value = "查询")
@GetMapping(value = "/yxStoreCouponUser")
@PreAuthorize("hasAnyRole('admin','YXSTORECOUPONUSER_ALL','YXSTORECOUPONUSER_SELECT')")
@PreAuthorize("@ss.hasAnyPermissions('admin','YXSTORECOUPONUSER_ALL','YXSTORECOUPONUSER_SELECT')")
public ResponseEntity getYxStoreCouponUsers(YxStoreCouponUserQueryCriteria criteria, Pageable pageable){
return new ResponseEntity(yxStoreCouponUserService.queryAll(criteria,pageable),HttpStatus.OK);
}
@@ -71,7 +71,7 @@ public class StoreSeckillController {
@Log("列表")
@ApiOperation(value = "列表")
@GetMapping(value = "/yxStoreSeckill")
@PreAuthorize("hasAnyRole('admin','YXSTORESECKILL_ALL','YXSTORESECKILL_SELECT')")
@PreAuthorize("@ss.hasAnyPermissions('admin','YXSTORESECKILL_ALL','YXSTORESECKILL_SELECT')")
public ResponseEntity getYxStoreSeckills(YxStoreSeckillQueryCriteria criteria, Pageable pageable) {
return new ResponseEntity<>(yxStoreSeckillService.queryAll(criteria, pageable), HttpStatus.OK);
}
@@ -81,7 +81,7 @@ public class StoreSeckillController {
@Log("发布")
@ApiOperation(value = "发布")
@PutMapping(value = "/yxStoreSeckill")
@PreAuthorize("hasAnyRole('admin','YXSTORESECKILL_ALL','YXSTORESECKILL_EDIT')")
@PreAuthorize("@ss.hasAnyPermissions('admin','YXSTORESECKILL_ALL','YXSTORESECKILL_EDIT')")
public ResponseEntity update(@Validated @RequestBody YxStoreSeckill resources){
if(ObjectUtil.isNull(resources.getId())){
return new ResponseEntity<>(yxStoreSeckillService.save(resources),HttpStatus.CREATED);
@@ -96,7 +96,7 @@ public class StoreSeckillController {
@Log("删除")
@ApiOperation(value = "删除")
@DeleteMapping(value = "/yxStoreSeckill/{id}")
@PreAuthorize("hasAnyRole('admin','YXSTORESECKILL_ALL','YXSTORESECKILL_DELETE')")
@PreAuthorize("@ss.hasAnyPermissions('admin','YXSTORESECKILL_ALL','YXSTORESECKILL_DELETE')")
public ResponseEntity delete(@PathVariable Integer id) {
yxStoreSeckillService.removeById(id);
return new ResponseEntity(HttpStatus.OK);
@@ -106,7 +106,7 @@ public class StoreSeckillController {
@Log("新增秒杀")
@ApiOperation(value = "新增秒杀")
@PostMapping(value = "/yxStoreSeckill")
@PreAuthorize("hasAnyRole('admin','YXSTORESECKILL_ALL','YXSTORESECKILL_EDIT')")
@PreAuthorize("@ss.hasAnyPermissions('admin','YXSTORESECKILL_ALL','YXSTORESECKILL_EDIT')")
public ResponseEntity add(@Validated @RequestBody YxStoreSeckillDto resources) {
return new ResponseEntity<>(yxStoreSeckillService.saveSeckill(resources), HttpStatus.CREATED);
}
@@ -45,7 +45,7 @@ public class UserExtractController {
@Log("查询")
@ApiOperation(value = "查询")
@GetMapping(value = "/yxUserExtract")
@PreAuthorize("hasAnyRole('admin','YXUSEREXTRACT_ALL','YXUSEREXTRACT_SELECT')")
@PreAuthorize("@ss.hasAnyPermissions('admin','YXUSEREXTRACT_ALL','YXUSEREXTRACT_SELECT')")
public ResponseEntity getYxUserExtracts(YxUserExtractQueryCriteria criteria, Pageable pageable){
return new ResponseEntity<>(yxUserExtractService.queryAll(criteria,pageable),HttpStatus.OK);
}
@@ -55,7 +55,7 @@ public class UserExtractController {
@Log("修改审核")
@ApiOperation(value = "修改审核")
@PutMapping(value = "/yxUserExtract")
@PreAuthorize("hasAnyRole('admin','YXUSEREXTRACT_ALL','YXUSEREXTRACT_EDIT')")
@PreAuthorize("@ss.hasAnyPermissions('admin','YXUSEREXTRACT_ALL','YXUSEREXTRACT_EDIT')")
public ResponseEntity update(@Validated @RequestBody YxUserExtract resources){
yxUserExtractService.doExtract(resources);
return new ResponseEntity(HttpStatus.NO_CONTENT);
@@ -9,7 +9,7 @@
package co.yixiang.modules.activity.service.impl;
import cn.hutool.core.util.NumberUtil;
import co.yixiang.api.YshopException;
import cn.iocoder.yudao.framework.common.exception.YshopException;
import co.yixiang.common.service.impl.BaseServiceImpl;
import co.yixiang.common.utils.QueryHelpPlus;
import co.yixiang.dozer.service.IGenerator;
@@ -10,7 +10,7 @@ package co.yixiang.modules.activity.service.impl;
import cn.hutool.core.util.NumberUtil;
import cn.hutool.core.util.ObjectUtil;
import co.yixiang.api.YshopException;
import cn.iocoder.yudao.framework.common.exception.YshopException;
import co.yixiang.common.service.impl.BaseServiceImpl;
import co.yixiang.dozer.service.IGenerator;
import co.yixiang.enums.OrderInfoEnum;
@@ -10,11 +10,10 @@ package co.yixiang.modules.activity.service.impl;
import cn.hutool.core.bean.BeanUtil;
import cn.hutool.core.collection.ListUtil;
import cn.hutool.core.map.MapUtil;
import cn.hutool.core.util.NumberUtil;
import cn.hutool.core.util.ObjectUtil;
import cn.hutool.core.util.StrUtil;
import co.yixiang.api.YshopException;
import cn.iocoder.yudao.framework.common.exception.YshopException;
import co.yixiang.common.service.impl.BaseServiceImpl;
import co.yixiang.common.utils.QueryHelpPlus;
import co.yixiang.dozer.service.IGenerator;
@@ -24,7 +23,6 @@ import co.yixiang.enums.SpecTypeEnum;
import co.yixiang.exception.BadRequestException;
import co.yixiang.modules.activity.domain.YxStoreCombination;
import co.yixiang.modules.activity.domain.YxStorePink;
import co.yixiang.modules.activity.domain.YxStoreSeckill;
import co.yixiang.modules.activity.domain.YxStoreVisit;
import co.yixiang.modules.activity.service.YxStoreCombinationService;
import co.yixiang.modules.activity.service.YxStorePinkService;
@@ -37,7 +35,6 @@ import co.yixiang.modules.activity.service.mapper.YxStoreVisitMapper;
import co.yixiang.modules.activity.vo.CombinationQueryVo;
import co.yixiang.modules.activity.vo.StoreCombinationVo;
import co.yixiang.modules.activity.vo.YxStoreCombinationQueryVo;
import co.yixiang.modules.product.domain.YxStoreProduct;
import co.yixiang.modules.product.domain.YxStoreProductAttrValue;
import co.yixiang.modules.product.service.YxStoreProductAttrService;
import co.yixiang.modules.product.service.YxStoreProductAttrValueService;
@@ -9,7 +9,7 @@
package co.yixiang.modules.activity.service.impl;
import cn.hutool.core.util.ObjectUtil;
import co.yixiang.api.YshopException;
import cn.iocoder.yudao.framework.common.exception.YshopException;
import co.yixiang.common.service.impl.BaseServiceImpl;
import co.yixiang.common.utils.QueryHelpPlus;
import co.yixiang.dozer.service.IGenerator;
@@ -10,7 +10,7 @@ package co.yixiang.modules.activity.service.impl;
import cn.hutool.core.date.DateUtil;
import cn.hutool.core.util.NumberUtil;
import co.yixiang.api.YshopException;
import cn.iocoder.yudao.framework.common.exception.YshopException;
import co.yixiang.common.service.impl.BaseServiceImpl;
import co.yixiang.common.utils.QueryHelpPlus;
import co.yixiang.constant.ShopConstants;
@@ -11,7 +11,7 @@ package co.yixiang.modules.activity.service.impl;
import cn.hutool.core.date.DateUtil;
import cn.hutool.core.util.ObjectUtil;
import cn.hutool.core.util.StrUtil;
import co.yixiang.api.YshopException;
import cn.iocoder.yudao.framework.common.exception.YshopException;
import co.yixiang.common.service.impl.BaseServiceImpl;
import co.yixiang.common.utils.QueryHelpPlus;
import co.yixiang.constant.ShopConstants;
@@ -10,11 +10,10 @@ package co.yixiang.modules.activity.service.impl;
import cn.hutool.core.bean.BeanUtil;
import cn.hutool.core.collection.ListUtil;
import cn.hutool.core.map.MapUtil;
import cn.hutool.core.util.NumberUtil;
import cn.hutool.core.util.ObjectUtil;
import cn.hutool.core.util.StrUtil;
import co.yixiang.api.YshopException;
import cn.iocoder.yudao.framework.common.exception.YshopException;
import co.yixiang.common.service.impl.BaseServiceImpl;
import co.yixiang.common.utils.QueryHelpPlus;
import co.yixiang.dozer.service.IGenerator;
@@ -22,7 +21,6 @@ import co.yixiang.enums.ShopCommonEnum;
import co.yixiang.enums.SpecTypeEnum;
import co.yixiang.exception.BadRequestException;
import co.yixiang.modules.activity.domain.YxStoreSeckill;
import co.yixiang.modules.activity.domain.YxStoreSeckill;
import co.yixiang.modules.activity.service.YxStoreSeckillService;
import co.yixiang.modules.activity.service.dto.YxStoreSeckillDto;
import co.yixiang.modules.activity.service.dto.YxStoreSeckillQueryCriteria;
@@ -11,7 +11,7 @@ package co.yixiang.modules.activity.service.impl;
import cn.hutool.core.util.NumberUtil;
import cn.hutool.core.util.ObjectUtil;
import cn.hutool.core.util.StrUtil;
import co.yixiang.api.YshopException;
import cn.iocoder.yudao.framework.common.exception.YshopException;
import co.yixiang.common.service.impl.BaseServiceImpl;
import co.yixiang.common.utils.QueryHelpPlus;
import co.yixiang.dozer.service.IGenerator;
@@ -13,7 +13,7 @@ import com.baomidou.mybatisplus.annotation.TableName;
import cn.hutool.core.bean.BeanUtil;
import cn.hutool.core.bean.copier.CopyOptions;
import javax.validation.constraints.*;
import co.yixiang.domain.BaseDomain;
import cn.iocoder.yudao.framework.mybatis.core.dataobject.BaseDomain;
/**
* @author yshop
@@ -10,7 +10,7 @@ package co.yixiang.modules.canvas.rest;
import java.util.Arrays;
import cn.hutool.core.util.StrUtil;
import co.yixiang.api.YshopException;
import cn.iocoder.yudao.framework.common.exception.YshopException;
import co.yixiang.constant.ShopConstants;
import co.yixiang.constant.SystemConfigConstants;
import co.yixiang.enums.ShopCommonEnum;
@@ -7,7 +7,7 @@ package co.yixiang.modules.cart.domain;
import cn.hutool.core.bean.BeanUtil;
import cn.hutool.core.bean.copier.CopyOptions;
import co.yixiang.domain.BaseDomain;
import cn.iocoder.yudao.framework.mybatis.core.dataobject.BaseDomain;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import lombok.AllArgsConstructor;
@@ -10,7 +10,7 @@ package co.yixiang.modules.cart.service.impl;
import cn.hutool.core.util.ObjectUtil;
import cn.hutool.core.util.StrUtil;
import co.yixiang.api.YshopException;
import cn.iocoder.yudao.framework.common.exception.YshopException;
import co.yixiang.common.service.impl.BaseServiceImpl;
import co.yixiang.common.utils.QueryHelpPlus;
import co.yixiang.dozer.service.IGenerator;
@@ -7,7 +7,7 @@ package co.yixiang.modules.category.domain;
import cn.hutool.core.bean.BeanUtil;
import cn.hutool.core.bean.copier.CopyOptions;
import co.yixiang.domain.BaseDomain;
import cn.iocoder.yudao.framework.mybatis.core.dataobject.BaseDomain;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import lombok.Data;
@@ -9,7 +9,7 @@
package co.yixiang.modules.category.rest;
import cn.hutool.core.util.StrUtil;
import co.yixiang.api.YshopException;
import cn.iocoder.yudao.framework.common.exception.YshopException;
import co.yixiang.constant.ShopConstants;
import co.yixiang.logging.aop.log.Log;
import co.yixiang.modules.aop.ForbidSubmit;
@@ -72,7 +72,7 @@ public class StoreCategoryController {
@Log("查询商品分类")
@ApiOperation(value = "查询商品分类")
@GetMapping(value = "/yxStoreCategory")
@PreAuthorize("hasAnyRole('admin','YXSTORECATEGORY_ALL','YXSTORECATEGORY_SELECT')")
@PreAuthorize("@ss.hasAnyPermissions('admin','YXSTORECATEGORY_ALL','YXSTORECATEGORY_SELECT')")
public ResponseEntity getYxStoreCategorys(YxStoreCategoryQueryCriteria criteria, Pageable pageable){
List<YxStoreCategoryDto> categoryDTOList = yxStoreCategoryService.queryAll(criteria);
return new ResponseEntity<>(yxStoreCategoryService.buildTree(categoryDTOList),HttpStatus.OK);
@@ -83,7 +83,7 @@ public class StoreCategoryController {
@ApiOperation(value = "新增商品分类")
@PostMapping(value = "/yxStoreCategory")
@CacheEvict(cacheNames = ShopConstants.YSHOP_REDIS_INDEX_KEY,allEntries = true)
@PreAuthorize("hasAnyRole('admin','YXSTORECATEGORY_ALL','YXSTORECATEGORY_CREATE')")
@PreAuthorize("@ss.hasAnyPermissions('admin','YXSTORECATEGORY_ALL','YXSTORECATEGORY_CREATE')")
public ResponseEntity create(@Validated @RequestBody YxStoreCategory resources){
if(resources.getPid() != null && resources.getPid() > 0 && StrUtil.isBlank(resources.getPic())) {
throw new YshopException("子分类图片必传");
@@ -102,7 +102,7 @@ public class StoreCategoryController {
@ApiOperation(value = "修改商品分类")
@CacheEvict(cacheNames = ShopConstants.YSHOP_REDIS_INDEX_KEY,allEntries = true)
@PutMapping(value = "/yxStoreCategory")
@PreAuthorize("hasAnyRole('admin','YXSTORECATEGORY_ALL','YXSTORECATEGORY_EDIT')")
@PreAuthorize("@ss.hasAnyPermissions('admin','YXSTORECATEGORY_ALL','YXSTORECATEGORY_EDIT')")
public ResponseEntity update(@Validated @RequestBody YxStoreCategory resources){
if(resources.getPid() != null && resources.getPid() > 0 && StrUtil.isBlank(resources.getPic())) {
throw new YshopException("子分类图片必传");
@@ -127,7 +127,7 @@ public class StoreCategoryController {
@ApiOperation(value = "删除商品分类")
@CacheEvict(cacheNames = ShopConstants.YSHOP_REDIS_INDEX_KEY,allEntries = true)
@DeleteMapping(value = "/yxStoreCategory/{id}")
@PreAuthorize("hasAnyRole('admin','YXSTORECATEGORY_ALL','YXSTORECATEGORY_DELETE')")
@PreAuthorize("@ss.hasAnyPermissions('admin','YXSTORECATEGORY_ALL','YXSTORECATEGORY_DELETE')")
public ResponseEntity delete(@PathVariable String id){
String[] ids = id.split(",");
for (String newId: ids) {
@@ -13,8 +13,8 @@ import com.baomidou.mybatisplus.annotation.TableName;
import cn.hutool.core.bean.BeanUtil;
import cn.hutool.core.bean.copier.CopyOptions;
import javax.validation.constraints.*;
import java.util.Date;
import co.yixiang.domain.BaseDomain;
import cn.iocoder.yudao.framework.mybatis.core.dataobject.BaseDomain;
/**
* @author Bug
@@ -30,7 +30,7 @@ public class BxgRedisController {
@Log("查询Redis缓存")
@GetMapping(value = "/redis")
@PreAuthorize("hasAnyRole('ADMIN','REDIS_ALL','REDIS_SELECT')")
@PreAuthorize("@ss.hasAnyPermissions('ADMIN','REDIS_ALL','REDIS_SELECT')")
public ResponseEntity getRedis(String key, Pageable pageable){
return new ResponseEntity(redisService.findByKey(key,pageable), HttpStatus.OK);
}
@@ -38,7 +38,7 @@ public class BxgRedisController {
@ForbidSubmit
@Log("删除Redis缓存")
@DeleteMapping(value = "/redis")
@PreAuthorize("hasAnyRole('ADMIN','REDIS_ALL','REDIS_DELETE')")
@PreAuthorize("@ss.hasAnyPermissions('ADMIN','REDIS_ALL','REDIS_DELETE')")
public ResponseEntity delete(@RequestBody RedisVo resources){
redisService.delete(resources.getKey());
return new ResponseEntity(HttpStatus.OK);
@@ -47,7 +47,7 @@ public class BxgRedisController {
@ForbidSubmit
@Log("清空Redis缓存")
@DeleteMapping(value = "/redis/all")
@PreAuthorize("hasAnyRole('ADMIN','REDIS_ALL','REDIS_DELETE')")
@PreAuthorize("@ss.hasAnyPermissions('ADMIN','REDIS_ALL','REDIS_DELETE')")
public ResponseEntity deleteAll(){
redisService.flushdb();
return new ResponseEntity(HttpStatus.OK);
@@ -7,7 +7,7 @@ package co.yixiang.modules.mp.domain;
import cn.hutool.core.bean.BeanUtil;
import cn.hutool.core.bean.copier.CopyOptions;
import co.yixiang.domain.BaseDomain;
import cn.iocoder.yudao.framework.mybatis.core.dataobject.BaseDomain;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import lombok.Data;
@@ -7,7 +7,7 @@ package co.yixiang.modules.mp.domain;
import cn.hutool.core.bean.BeanUtil;
import cn.hutool.core.bean.copier.CopyOptions;
import co.yixiang.domain.BaseDomain;
import cn.iocoder.yudao.framework.mybatis.core.dataobject.BaseDomain;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import lombok.Data;
@@ -3,7 +3,7 @@ package co.yixiang.modules.mp.service;
import cn.binarywang.wx.miniapp.api.WxMaService;
import cn.binarywang.wx.miniapp.bean.WxMaSubscribeMessage;
import cn.hutool.core.util.StrUtil;
import co.yixiang.api.YshopException;
import cn.iocoder.yudao.framework.common.exception.YshopException;
import co.yixiang.constant.ShopConstants;
import co.yixiang.enums.ShopCommonEnum;
import co.yixiang.modules.mp.domain.YxWechatTemplate;
@@ -12,7 +12,7 @@ import cn.hutool.core.util.IdUtil;
import cn.hutool.core.util.ObjectUtil;
import cn.hutool.core.util.StrUtil;
import co.yixiang.api.BusinessException;
import co.yixiang.api.YshopException;
import cn.iocoder.yudao.framework.common.exception.YshopException;
import co.yixiang.enums.AppFromEnum;
import co.yixiang.enums.BillDetailEnum;
import co.yixiang.enums.OrderInfoEnum;
@@ -9,7 +9,7 @@
package co.yixiang.modules.mp.service;
import cn.hutool.core.util.StrUtil;
import co.yixiang.api.YshopException;
import cn.iocoder.yudao.framework.common.exception.YshopException;
import co.yixiang.constant.ShopConstants;
import co.yixiang.enums.ShopCommonEnum;
import co.yixiang.modules.mp.config.WxMpConfiguration;
@@ -7,7 +7,7 @@ package co.yixiang.modules.order.domain;
import cn.hutool.core.bean.BeanUtil;
import cn.hutool.core.bean.copier.CopyOptions;
import co.yixiang.domain.BaseDomain;
import cn.iocoder.yudao.framework.mybatis.core.dataobject.BaseDomain;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import lombok.Data;
@@ -7,7 +7,7 @@ package co.yixiang.modules.order.domain;
import cn.hutool.core.bean.BeanUtil;
import cn.hutool.core.bean.copier.CopyOptions;
import co.yixiang.domain.BaseDomain;
import cn.iocoder.yudao.framework.mybatis.core.dataobject.BaseDomain;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
@@ -120,7 +120,7 @@ public class StoreOrderController {
@ApiOperation(value = "查询订单")
@GetMapping(value = "/yxStoreOrder")
@PreAuthorize("hasAnyRole('admin','YXSTOREORDER_ALL','YXSTOREORDER_SELECT','YXEXPRESS_SELECT')")
@PreAuthorize("@ss.hasAnyPermissions('admin','YXSTOREORDER_ALL','YXSTOREORDER_SELECT','YXEXPRESS_SELECT')")
public ResponseEntity getYxStoreOrders(YxStoreOrderQueryCriteria criteria,
Pageable pageable,
@RequestParam(name = "orderStatus") String orderStatus,
@@ -133,7 +133,7 @@ public class StoreOrderController {
@ApiOperation(value = "根据订单id获取订单详情")
@GetMapping(value = "/getStoreOrderDetail/{id}")
@PreAuthorize("hasAnyRole('admin','YXSTOREORDER_ALL','YXSTOREORDER_SELECT','YXEXPRESS_SELECT')")
@PreAuthorize("@ss.hasAnyPermissions('admin','YXSTOREORDER_ALL','YXSTOREORDER_SELECT','YXEXPRESS_SELECT')")
public ResponseEntity getYxStoreOrders(@PathVariable Long id) {
return new ResponseEntity<>(yxStoreOrderService.getOrderDetail(id), HttpStatus.OK);
}
@@ -198,7 +198,7 @@ public class StoreOrderController {
}
@ApiOperation(value = "发货")
@PutMapping(value = "/yxStoreOrder")
@PreAuthorize("hasAnyRole('admin','YXSTOREORDER_ALL','YXSTOREORDER_EDIT')")
@PreAuthorize("@ss.hasAnyPermissions('admin','YXSTOREORDER_ALL','YXSTOREORDER_EDIT')")
public ResponseEntity update(@Validated @RequestBody YxStoreOrder resources) {
if (StrUtil.isBlank(resources.getDeliveryName())) {
throw new BadRequestException("请选择快递公司");
@@ -232,7 +232,7 @@ public class StoreOrderController {
@ApiOperation(value = "订单核销")
@PutMapping(value = "/yxStoreOrder/check")
@PreAuthorize("hasAnyRole('admin','YXSTOREORDER_ALL','YXSTOREORDER_EDIT')")
@PreAuthorize("@ss.hasAnyPermissions('admin','YXSTOREORDER_ALL','YXSTOREORDER_EDIT')")
public ResponseEntity check(@Validated @RequestBody YxStoreOrder resources) {
if (StrUtil.isBlank(resources.getVerifyCode())) {
throw new BadRequestException("核销码不能为空");
@@ -254,7 +254,7 @@ public class StoreOrderController {
@ApiOperation(value = "退款")
@PostMapping(value = "/yxStoreOrder/refund")
@PreAuthorize("hasAnyRole('admin','YXSTOREORDER_ALL','YXSTOREORDER_EDIT')")
@PreAuthorize("@ss.hasAnyPermissions('admin','YXSTOREORDER_ALL','YXSTOREORDER_EDIT')")
public ResponseEntity refund(@Validated @RequestBody YxStoreOrder resources) {
yxStoreOrderService.orderRefund(resources.getOrderId(),resources.getPayPrice(),
ShopCommonEnum.AGREE_1.getValue());
@@ -266,7 +266,7 @@ public class StoreOrderController {
@Log("删除")
@ApiOperation(value = "删除")
@DeleteMapping(value = "/yxStoreOrder/{id}")
@PreAuthorize("hasAnyRole('admin','YXSTOREORDER_ALL','YXSTOREORDER_DELETE')")
@PreAuthorize("@ss.hasAnyPermissions('admin','YXSTOREORDER_ALL','YXSTOREORDER_DELETE')")
public ResponseEntity delete(@PathVariable Integer id) {
yxStoreOrderService.removeById(id);
return new ResponseEntity(HttpStatus.OK);
@@ -276,7 +276,7 @@ public class StoreOrderController {
@Log("修改订单")
@ApiOperation(value = "修改订单")
@PostMapping(value = "/yxStoreOrder/edit")
@PreAuthorize("hasAnyRole('admin','YXSTOREORDER_ALL','YXSTOREORDER_EDIT')")
@PreAuthorize("@ss.hasAnyPermissions('admin','YXSTOREORDER_ALL','YXSTOREORDER_EDIT')")
public ResponseEntity editOrder(@RequestBody YxStoreOrder resources) {
if (ObjectUtil.isNull(resources.getPayPrice())) {
throw new BadRequestException("请输入支付金额");
@@ -303,7 +303,7 @@ public class StoreOrderController {
@Log("修改订单备注")
@ApiOperation(value = "修改订单备注")
@PostMapping(value = "/yxStoreOrder/remark")
@PreAuthorize("hasAnyRole('admin','YXSTOREORDER_ALL','YXSTOREORDER_EDIT')")
@PreAuthorize("@ss.hasAnyPermissions('admin','YXSTOREORDER_ALL','YXSTOREORDER_EDIT')")
public ResponseEntity editOrderRemark(@RequestBody YxStoreOrder resources) {
if (StrUtil.isBlank(resources.getRemark())) {
throw new BadRequestException("请输入备注");
@@ -343,7 +343,7 @@ public class StoreOrderController {
@Log("导出数据")
@ApiOperation("导出数据")
@GetMapping(value = "/yxStoreOrder/download")
@PreAuthorize("hasAnyRole('admin','YXSTOREORDER_SELECT')")
@PreAuthorize("@ss.hasAnyPermissions('admin','YXSTOREORDER_SELECT')")
public void download(HttpServletResponse response,
YxStoreOrderQueryCriteria criteria,
Pageable pageable,
@@ -15,7 +15,7 @@ import cn.hutool.core.util.NumberUtil;
import cn.hutool.core.util.ObjectUtil;
import cn.hutool.core.util.StrUtil;
import co.yixiang.api.BusinessException;
import co.yixiang.api.YshopException;
import cn.iocoder.yudao.framework.common.exception.YshopException;
import co.yixiang.common.service.impl.BaseServiceImpl;
import co.yixiang.common.utils.QueryHelpPlus;
import co.yixiang.constant.ShopConstants;
@@ -7,7 +7,7 @@ package co.yixiang.modules.product.domain;
import cn.hutool.core.bean.BeanUtil;
import cn.hutool.core.bean.copier.CopyOptions;
import co.yixiang.domain.BaseDomain;
import cn.iocoder.yudao.framework.mybatis.core.dataobject.BaseDomain;
import co.yixiang.modules.category.domain.YxStoreCategory;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
@@ -1,7 +1,7 @@
package co.yixiang.modules.product.domain;
import co.yixiang.domain.BaseDomain;
import cn.iocoder.yudao.framework.mybatis.core.dataobject.BaseDomain;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import io.swagger.annotations.ApiModelProperty;
@@ -7,7 +7,7 @@ package co.yixiang.modules.product.domain;
import cn.hutool.core.bean.BeanUtil;
import cn.hutool.core.bean.copier.CopyOptions;
import co.yixiang.domain.BaseDomain;
import cn.iocoder.yudao.framework.mybatis.core.dataobject.BaseDomain;
import co.yixiang.modules.user.domain.YxUser;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
@@ -10,7 +10,7 @@ package co.yixiang.modules.product.domain;
import cn.hutool.core.bean.BeanUtil;
import cn.hutool.core.bean.copier.CopyOptions;
import co.yixiang.domain.BaseDomain;
import cn.iocoder.yudao.framework.mybatis.core.dataobject.BaseDomain;
import com.alibaba.fastjson.JSONArray;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
@@ -90,7 +90,7 @@ public class StoreProductController {
@Log("查询商品")
@ApiOperation(value = "查询商品")
@GetMapping(value = "/yxStoreProduct")
@PreAuthorize("hasAnyRole('admin','YXSTOREPRODUCT_ALL','YXSTOREPRODUCT_SELECT')")
@PreAuthorize("@ss.hasAnyPermissions('admin','YXSTOREPRODUCT_ALL','YXSTOREPRODUCT_SELECT')")
public ResponseEntity getYxStoreProducts(YxStoreProductQueryCriteria criteria, Pageable pageable){
//商品分类
List<YxStoreCategory> storeCategories = yxStoreCategoryService.lambdaQuery()
@@ -108,7 +108,7 @@ public class StoreProductController {
@ApiOperation(value = "新增/修改商品")
@CacheEvict(cacheNames = ShopConstants.YSHOP_REDIS_INDEX_KEY,allEntries = true)
@PostMapping(value = "/yxStoreProduct/addOrSave")
@PreAuthorize("hasAnyRole('admin','YXSTOREPRODUCT_ALL','YXSTOREPRODUCT_CREATE')")
@PreAuthorize("@ss.hasAnyPermissions('admin','YXSTOREPRODUCT_ALL','YXSTOREPRODUCT_CREATE')")
public ResponseEntity create(@Validated @RequestBody StoreProductDto storeProductDto){
yxStoreProductService.insertAndEditYxStoreProduct(storeProductDto);
return new ResponseEntity<>(HttpStatus.CREATED);
@@ -120,7 +120,7 @@ public class StoreProductController {
@ApiOperation(value = "删除商品")
@CacheEvict(cacheNames = ShopConstants.YSHOP_REDIS_INDEX_KEY,allEntries = true)
@DeleteMapping(value = "/yxStoreProduct/{id}")
@PreAuthorize("hasAnyRole('admin','YXSTOREPRODUCT_ALL','YXSTOREPRODUCT_DELETE')")
@PreAuthorize("@ss.hasAnyPermissions('admin','YXSTOREPRODUCT_ALL','YXSTOREPRODUCT_DELETE')")
public ResponseEntity delete(@PathVariable Long id){
yxStoreProductService.removeById(id);
return new ResponseEntity(HttpStatus.OK);
@@ -50,7 +50,7 @@ public class StoreProductReplyController {
@Log("查询")
@ApiOperation(value = "查询")
@GetMapping(value = "/yxStoreProductReply")
@PreAuthorize("hasAnyRole('admin','YXSTOREPRODUCTREPLY_ALL','YXSTOREPRODUCTREPLY_SELECT')")
@PreAuthorize("@ss.hasAnyPermissions('admin','YXSTOREPRODUCTREPLY_ALL','YXSTOREPRODUCTREPLY_SELECT')")
public ResponseEntity getYxStoreProductReplys(YxStoreProductReplyQueryCriteria criteria, Pageable pageable){
return new ResponseEntity<>(yxStoreProductReplyService.queryAll(criteria,pageable),HttpStatus.OK);
}
@@ -60,7 +60,7 @@ public class StoreProductReplyController {
@Log("修改")
@ApiOperation(value = "修改")
@PutMapping(value = "/yxStoreProductReply")
@PreAuthorize("hasAnyRole('admin','YXSTOREPRODUCTREPLY_ALL','YXSTOREPRODUCTREPLY_EDIT')")
@PreAuthorize("@ss.hasAnyPermissions('admin','YXSTOREPRODUCTREPLY_ALL','YXSTOREPRODUCTREPLY_EDIT')")
public ResponseEntity update(@Validated @RequestBody YxStoreProductReply resources){
resources.setMerchantReplyTime(new Date());
resources.setIsReply(ShopCommonEnum.REPLY_1.getValue());
@@ -72,7 +72,7 @@ public class StoreProductReplyController {
@Log("删除")
@ApiOperation(value = "删除")
@DeleteMapping(value = "/yxStoreProductReply/{id}")
@PreAuthorize("hasAnyRole('admin','YXSTOREPRODUCTREPLY_ALL','YXSTOREPRODUCTREPLY_DELETE')")
@PreAuthorize("@ss.hasAnyPermissions('admin','YXSTOREPRODUCTREPLY_ALL','YXSTOREPRODUCTREPLY_DELETE')")
public ResponseEntity delete(@PathVariable Long id){
yxStoreProductReplyService.removeById(id);
return new ResponseEntity(HttpStatus.OK);
@@ -70,7 +70,7 @@ public class StoreProductRuleController {
@PostMapping("/save/{id}")
@Log("新增/修改sku规则")
@ApiOperation("新增/修改sku规则")
@PreAuthorize("hasAnyRole('admin','yxStoreProductRule:add','yxStoreProductRule:edit')")
@PreAuthorize("@ss.hasAnyPermissions('admin','yxStoreProductRule:add','yxStoreProductRule:edit')")
public ResponseEntity<Object> create(@Validated @RequestBody YxStoreProductRule resources,@PathVariable Integer id){
if(id != null && id > 0){
resources.setId(id);
@@ -8,12 +8,11 @@
*/
package co.yixiang.modules.product.service.impl;
import cn.hutool.core.bean.BeanUtil;
import cn.hutool.core.util.IdUtil;
import cn.hutool.core.util.ObjectUtil;
import cn.hutool.core.util.StrUtil;
import co.yixiang.api.BusinessException;
import co.yixiang.api.YshopException;
import cn.iocoder.yudao.framework.common.exception.YshopException;
import co.yixiang.common.service.impl.BaseServiceImpl;
import co.yixiang.dozer.service.IGenerator;
import co.yixiang.enums.ProductTypeEnum;
@@ -8,7 +8,7 @@
*/
package co.yixiang.modules.product.service.impl;
import co.yixiang.api.YshopException;
import cn.iocoder.yudao.framework.common.exception.YshopException;
import co.yixiang.common.service.impl.BaseServiceImpl;
import co.yixiang.common.utils.QueryHelpPlus;
import co.yixiang.domain.PageResult;
@@ -14,7 +14,7 @@ import cn.hutool.core.util.ArrayUtil;
import cn.hutool.core.util.NumberUtil;
import cn.hutool.core.util.ObjectUtil;
import cn.hutool.core.util.StrUtil;
import co.yixiang.api.YshopException;
import cn.iocoder.yudao.framework.common.exception.YshopException;
import co.yixiang.common.service.impl.BaseServiceImpl;
import co.yixiang.common.utils.QueryHelpPlus;
import co.yixiang.constant.ShopConstants;
@@ -1,7 +1,7 @@
package co.yixiang.modules.sales.service.impl;
import cn.hutool.core.util.NumberUtil;
import co.yixiang.api.YshopException;
import cn.iocoder.yudao.framework.common.exception.YshopException;
import co.yixiang.common.service.impl.BaseServiceImpl;
import co.yixiang.common.utils.QueryHelpPlus;
import co.yixiang.dozer.service.IGenerator;
@@ -12,9 +12,7 @@ import lombok.Data;
import com.baomidou.mybatisplus.annotation.TableName;
import cn.hutool.core.bean.BeanUtil;
import cn.hutool.core.bean.copier.CopyOptions;
import javax.validation.constraints.*;
import java.util.Date;
import co.yixiang.domain.BaseDomain;
import cn.iocoder.yudao.framework.mybatis.core.dataobject.BaseDomain;
/**
* @author lioncity
@@ -7,7 +7,7 @@ package co.yixiang.modules.shop.domain;
import cn.hutool.core.bean.BeanUtil;
import cn.hutool.core.bean.copier.CopyOptions;
import co.yixiang.domain.BaseDomain;
import cn.iocoder.yudao.framework.mybatis.core.dataobject.BaseDomain;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
@@ -7,7 +7,7 @@ package co.yixiang.modules.shop.domain;
import cn.hutool.core.bean.BeanUtil;
import cn.hutool.core.bean.copier.CopyOptions;
import co.yixiang.domain.BaseDomain;
import cn.iocoder.yudao.framework.mybatis.core.dataobject.BaseDomain;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;

Some files were not shown because too many files have changed in this diff Show More