Explorar el Código

fix 接口权限

zoujiajian hace 3 años
padre
commit
54cb688288
Se han modificado 17 ficheros con 120 adiciones y 52 borrados
  1. 4 0
      netflix-dao/src/main/java/com/cyksj/model/request/CmsUserReq.java
  2. 22 3
      netflix-dao/src/main/java/com/cyksj/model/views/CmsUserVO.java
  3. 37 37
      netflix-web/src/main/java/com/cyksj/config/SaTokenConfigure.java
  4. 4 0
      netflix-web/src/main/java/com/cyksj/web/controller/manage/CmsOrderController.java
  5. 2 0
      netflix-web/src/main/java/com/cyksj/web/controller/manage/CmsUserController.java
  6. 8 0
      netflix-web/src/main/java/com/cyksj/web/controller/manage/account/CmsAccountController.java
  7. 2 0
      netflix-web/src/main/java/com/cyksj/web/controller/manage/channel/CmsChannelController.java
  8. 2 0
      netflix-web/src/main/java/com/cyksj/web/controller/manage/channel/CmsChannelPopularizeController.java
  9. 15 9
      netflix-web/src/main/java/com/cyksj/web/controller/manage/cms/CmsAdminUserController.java
  10. 4 0
      netflix-web/src/main/java/com/cyksj/web/controller/manage/exchange/ExchangeCodeController.java
  11. 3 0
      netflix-web/src/main/java/com/cyksj/web/controller/manage/goods/CmsGoodsDonController.java
  12. 3 0
      netflix-web/src/main/java/com/cyksj/web/controller/manage/group/CmsGroupController.java
  13. 2 0
      netflix-web/src/main/java/com/cyksj/web/controller/manage/market/LuckyDrawController.java
  14. 2 0
      netflix-web/src/main/java/com/cyksj/web/controller/manage/market/TaskController.java
  15. 3 0
      netflix-web/src/main/java/com/cyksj/web/controller/manage/register/CmsRegisterController.java
  16. 2 3
      netflix-web/src/main/java/com/cyksj/web/controller/manage/shop/ShopConfigController.java
  17. 5 0
      netflix-web/src/main/java/com/cyksj/web/controller/manage/statistics/StatisticsDataController.java

+ 4 - 0
netflix-dao/src/main/java/com/cyksj/model/request/CmsUserReq.java

@@ -3,6 +3,8 @@ package com.cyksj.model.request;
 import lombok.Getter;
 import lombok.Setter;
 
+import javax.validation.constraints.NotBlank;
+
 /*
  *项目名: yicang-admin
  *文件名: CmsUserReq
@@ -18,11 +20,13 @@ public class CmsUserReq {
 	 */
 	private String account;
 
+	@NotBlank(message = "手机号不能为空")
 	private String phone;
 
 	/**
 	 * 用户成员名称
 	 */
+	@NotBlank(message = "请填写负责人姓名")
 	private String nickname;
 
 	/**

+ 22 - 3
netflix-dao/src/main/java/com/cyksj/model/views/CmsUserVO.java

@@ -1,8 +1,12 @@
 package com.cyksj.model.views;
 
+import com.ejlchina.searcher.bean.DbField;
+import com.ejlchina.searcher.bean.DbIgnore;
+import com.ejlchina.searcher.bean.SearchBean;
 import lombok.Getter;
 import lombok.Setter;
 
+import java.util.Date;
 import java.util.Set;
 
 /*
@@ -13,46 +17,61 @@ import java.util.Set;
  */
 @Getter
 @Setter
+@SearchBean(tables = " cms_user cu left join `cms_user_role` cur on cur.user_id = cu.id" +
+		" left join `cms_role` cr on cr.id = cur.role_id"
+		, groupBy = "cu.id, cu.nickname, cu.add_name, cu.modified_by, cu.status, cu.created_time,cu.update_time")
 public class CmsUserVO {
-	private Integer id;
+	@DbField("cu.id")
+	private Long id;
 
 	/**
 	 * 用户名称
 	 */
+	@DbField("cu.nickname")
 	private String nickname;
 
 	/**
 	 * 角色名称
 	 */
+	@DbField("group_concat(cr.role_name)")
 	private String roleNames;
 
+	@DbField("group_concat(cr.id)")
 	private String roleIds;
 
+	@DbIgnore
 	private String token;
 
+	@DbField("cu.status")
 	private Boolean status;
 
 	/**
 	 * 添加人
 	 */
+	@DbField("cu.add_name")
 	private String addName;
 
 	/**
 	 * 修改人
 	 */
+	@DbField("cu.modified_by")
 	private String modifiedBy;
 
 	/**
 	 * 权限列表
 	 */
+	@DbIgnore
 	private Set<String> permissions;
 
 	/**
 	 * 角色列表
 	 */
+	@DbIgnore
 	private Set<String> roles;
 
-	private String createDisplay;
+	@DbField("cu.created_time")
+	private Date createdTime;
 
-	private String updateDisplay;
+	@DbField("cu.update_time")
+	private Date updateTime;
 }

+ 37 - 37
netflix-web/src/main/java/com/cyksj/config/SaTokenConfigure.java

@@ -1,37 +1,37 @@
-package com.cyksj.config;
-
-import cn.dev33.satoken.interceptor.SaRouteInterceptor;
-import org.springframework.context.annotation.Configuration;
-import org.springframework.web.servlet.config.annotation.InterceptorRegistry;
-import org.springframework.web.servlet.config.annotation.WebMvcConfigurer;
-
-import java.util.List;
-
-/*
- *项目名: yicang-admin
- *文件名: SaTokenConfigure
- *创建者: JavaZou
- *创建时间:2022/12/19 10:01
- */
-@Configuration
-public class SaTokenConfigure implements WebMvcConfigurer {
-	// 注册拦截器
-	@Override
-	public void addInterceptors(InterceptorRegistry registry) {
-		registry.addInterceptor(new SaRouteInterceptor())
-				.addPathPatterns(List.of("/manage/**", "/manager/**", "/sys/update", "/sys/delete/**"))
-				.excludePathPatterns(List.of("/manage/admin/login",
-						"/manage/admin/get/loginInfo",
-						"/manage/corp/**",
-						"/manage/coupon/corp/send",
-						"/manage/coupon",
-						"/manage/register/wx/refund/notify",
-						"/manage/register/unLimit",
-						"/manage/gzh/msg/notify",
-						"/manage/admin/send/template",
-						"/manage/order/put/status/*",
-						"/manage/user/get/loginInfo",
-						"/manage/user/login"));
-	}
-}
-
+//package com.cyksj.config;
+//
+//import cn.dev33.satoken.interceptor.SaRouteInterceptor;
+//import org.springframework.context.annotation.Configuration;
+//import org.springframework.web.servlet.config.annotation.InterceptorRegistry;
+//import org.springframework.web.servlet.config.annotation.WebMvcConfigurer;
+//
+//import java.util.List;
+//
+///*
+// *项目名: yicang-admin
+// *文件名: SaTokenConfigure
+// *创建者: JavaZou
+// *创建时间:2022/12/19 10:01
+// */
+//@Configuration
+//public class SaTokenConfigure implements WebMvcConfigurer {
+//	// 注册拦截器
+//	@Override
+//	public void addInterceptors(InterceptorRegistry registry) {
+//		registry.addInterceptor(new SaRouteInterceptor())
+//				.addPathPatterns(List.of("/manage/**", "/manager/**", "/sys/update", "/sys/delete/**"))
+//				.excludePathPatterns(List.of("/manage/admin/login",
+//						"/manage/admin/get/loginInfo",
+//						"/manage/corp/**",
+//						"/manage/coupon/corp/send",
+//						"/manage/coupon",
+//						"/manage/register/wx/refund/notify",
+//						"/manage/register/unLimit",
+//						"/manage/gzh/msg/notify",
+//						"/manage/admin/send/template",
+//						"/manage/order/put/status/*",
+//						"/manage/user/get/loginInfo",
+//						"/manage/user/login"));
+//	}
+//}
+//

+ 4 - 0
netflix-web/src/main/java/com/cyksj/web/controller/manage/CmsOrderController.java

@@ -1,5 +1,6 @@
 package com.cyksj.web.controller.manage;
 
+import cn.dev33.satoken.annotation.SaCheckPermission;
 import cn.hutool.core.util.StrUtil;
 import com.alibaba.excel.support.ExcelTypeEnum;
 import com.baomidou.mybatisplus.core.toolkit.Wrappers;
@@ -76,6 +77,7 @@ public class CmsOrderController {
 
 
     @GetMapping("/get")
+    @SaCheckPermission("order:view")
     public Result<SearchResult<OrderDonView>> get() {
         SearchResult<OrderDonView> search = beanSearcher.search(OrderDonView.class, MapUtils.flatBuilder(request.getParameterMap()).build());
         search.getDataList().forEach(data -> {
@@ -102,6 +104,7 @@ public class CmsOrderController {
 	 * 订单导出
 	 */
 	@GetMapping("/export")
+	@SaCheckPermission("order:export")
 	public void exportOrders(HttpServletResponse response) {
 		List<ExcelOrderDonData> list = beanSearcher.searchAll(ExcelOrderDonData.class, MapUtils.flatBuilder(request.getParameterMap()).build());
 		list.forEach(data -> {
@@ -192,6 +195,7 @@ public class CmsOrderController {
 	 * 用户购买实物商品意愿列表
 	 */
 	@GetMapping("/get/realGooods/interest/users")
+	@SaCheckPermission("interest:view")
 	public Result<SearchResult> getInterestUserList(RealGoodsInterestUser.Status interestStatus, HttpServletRequest request) {
 		MapBuilder builder = MapUtils.flatBuilder(request.getParameterMap());
 		SearchResult<RealGoodsInterestUserView> search;

+ 2 - 0
netflix-web/src/main/java/com/cyksj/web/controller/manage/CmsUserController.java

@@ -1,5 +1,6 @@
 package com.cyksj.web.controller.manage;
 
+import cn.dev33.satoken.annotation.SaCheckPermission;
 import com.baomidou.mybatisplus.core.toolkit.Wrappers;
 import com.cyksj.dto.Result;
 import com.cyksj.enums.GatewayResponse;
@@ -42,6 +43,7 @@ public class CmsUserController{
 
 
     @GetMapping("/get")
+    @SaCheckPermission("user:view")
     public Result<SearchResult<UserView>> get(){
         SearchResult<UserView> search = beanSearcher.search(UserView.class, MapUtils.flatBuilder(request.getParameterMap()).build());
         search.getDataList().forEach((userView)->{

+ 8 - 0
netflix-web/src/main/java/com/cyksj/web/controller/manage/account/CmsAccountController.java

@@ -1,5 +1,6 @@
 package com.cyksj.web.controller.manage.account;
 
+import cn.dev33.satoken.annotation.SaCheckPermission;
 import cn.hutool.core.date.DateTime;
 import cn.hutool.core.date.DateUtil;
 import cn.hutool.core.util.StrUtil;
@@ -70,6 +71,7 @@ public class CmsAccountController {
 	private final UserTicketClearedRecordMapper userTicketClearedRecordMapper;
 
     @GetMapping("/get")
+    @SaCheckPermission("account:view")
     public Result<SearchResult<AccountView>> get(Long userId ,String nickName ,String submitAccount ,String expiryStartTime, String expiryEndTime) {
         MapBuilder mapBuilder = MapUtils.flatBuilder(request.getParameterMap());
         if (StrUtil.isNotEmpty(expiryStartTime) || StrUtil.isNotEmpty(expiryEndTime)) {
@@ -103,6 +105,7 @@ public class CmsAccountController {
      * 导出账号
      */
     @GetMapping("/export/account")
+    @SaCheckPermission("account:export")
     public void exportAccount(Long userId, String nickName, String submitAccount, String expiryStartTime, String expiryEndTime, HttpServletResponse response) {
         MapBuilder mapBuilder = MapUtils.flatBuilder(request.getParameterMap());
         if (StrUtil.isNotEmpty(expiryStartTime) || StrUtil.isNotEmpty(expiryEndTime)) {
@@ -127,6 +130,7 @@ public class CmsAccountController {
      * 下载导入模板
      */
     @GetMapping("/get/account/template")
+    @SaCheckPermission("account:batchUpdatePwd")
     public void getAccountTemplate(HttpServletResponse response) {
         EasyExcelUtils.createTemplateExcel(response, ExcelAccountTemplateData.class, "账号导入模板", "账号导入模板", ExcelTypeEnum.XLSX, null);
     }
@@ -178,6 +182,7 @@ public class CmsAccountController {
     @PostMapping("/post")
     @NoSubmit
     @Transactional(rollbackFor = Throwable.class)
+    @SaCheckPermission("account:add")
     public Result<String> add(@RequestBody Account account){
 		account.setAccount(account.getAccount().trim());
 		account.setPassword(account.getPassword().trim());
@@ -200,6 +205,7 @@ public class CmsAccountController {
     }
 
     @PutMapping("/update")
+    @SaCheckPermission("account:update")
     public Result<String> update(@RequestBody Account account){
 		if (StrUtil.isNotBlank(account.getAccount())){
 			account.setAccount(account.getAccount().trim());
@@ -258,6 +264,7 @@ public class CmsAccountController {
 
 
 	@DeleteMapping("/delete/{id}")
+	@SaCheckPermission("account:delete")
     public Result<String> update(@PathVariable Long id){
 	    //是否关联了车队
 	    Integer count = groupsMapper.selectCount(Wrappers.lambdaQuery(GroupsTrips.class).eq(GroupsTrips::getAccountId, id));
@@ -269,6 +276,7 @@ public class CmsAccountController {
     }
 
     @PutMapping("/update/expiryTime")
+    @SaCheckPermission("account:addExpiryTime")
     public Result<String> updateExpiryTime(@RequestBody ReqAccountIncrExpiryTime incrExpiryTime){
         incrExpiryTime.getAccounts().forEach((accountId)->{
             Account account = accountService.getById(accountId);

+ 2 - 0
netflix-web/src/main/java/com/cyksj/web/controller/manage/channel/CmsChannelController.java

@@ -1,5 +1,6 @@
 package com.cyksj.web.controller.manage.channel;
 
+import cn.dev33.satoken.annotation.SaCheckPermission;
 import com.baomidou.mybatisplus.core.toolkit.Wrappers;
 import com.cyksj.dto.Result;
 import com.cyksj.enums.GatewayResponse;
@@ -37,6 +38,7 @@ public class CmsChannelController {
     private final HttpServletRequest request;
 
     @GetMapping
+    @SaCheckPermission("channel:view")
     public Result<SearchResult<ChannelView>> get(String startTime, String endTime){
         String timeSql = StringUtils.EMPTY;
         if(StringUtils.isNotBlank(startTime)){

+ 2 - 0
netflix-web/src/main/java/com/cyksj/web/controller/manage/channel/CmsChannelPopularizeController.java

@@ -1,5 +1,6 @@
 package com.cyksj.web.controller.manage.channel;
 
+import cn.dev33.satoken.annotation.SaCheckPermission;
 import com.baomidou.mybatisplus.core.toolkit.Wrappers;
 import com.cyksj.common.constant.Constant;
 import com.cyksj.dto.Result;
@@ -44,6 +45,7 @@ public class CmsChannelPopularizeController {
     private final OrderDonMapper orderDonMapper;
 
     @GetMapping
+    @SaCheckPermission("promotion:view")
     public Result<SearchResult<ChannelPopularizeView>> get(String startTime, String endTime){
         String timeSql = StringUtils.EMPTY;
         if(StringUtils.isNotBlank(startTime)){

+ 15 - 9
netflix-web/src/main/java/com/cyksj/web/controller/manage/cms/CmsAdminUserController.java

@@ -1,6 +1,7 @@
 package com.cyksj.web.controller.manage.cms;
 
 import cn.dev33.satoken.stp.StpUtil;
+import cn.hutool.core.bean.BeanUtil;
 import cn.hutool.core.date.DateTime;
 import cn.hutool.core.date.DateUtil;
 import cn.hutool.core.lang.Validator;
@@ -20,6 +21,7 @@ import com.cyksj.model.entity.CmsUser;
 import com.cyksj.model.entity.PhoneCode;
 import com.cyksj.model.manage.dto.AdminInfo;
 import com.cyksj.model.request.CmsUserReq;
+import com.cyksj.model.views.CmsUserVO;
 import com.cyksj.service.mange.cms.CmsUserManager;
 import com.cyksj.service.mange.cms.manager.service.CacheService;
 import com.ejlchina.searcher.BeanSearcher;
@@ -81,28 +83,32 @@ public class CmsAdminUserController {
 	}
 
 	@PostMapping("/post")
-	public Result<String> saveAdmin(@RequestBody @Validated CmsUser admin) throws Exception {
+	public Result<String> saveAdmin(@RequestBody @Validated CmsUserReq cmsUserReq) throws Exception {
 		Long adminId = StpUtil.getLoginIdAsLong();
 		CmsUser exist = cmsUserMapper.selectById(adminId);
 		if (exist == null) {
 			throw BusinessRuntimeException.getInstance("账号不存在,请重新登录");
 		}
-		if (StringUtils.isNotBlank(admin.getPassword())) {
-			admin.setPassword(Codec.DoDigest.custom().setAlgorithm(Codec.DoDigest.Algorithm.SHA256).setStringData(admin.getPassword()).toBase64String());
+		CmsUser cmsUser = new CmsUser();
+		BeanUtil.copyProperties(cmsUserReq, cmsUser);
+		if (StringUtils.isNotBlank(cmsUserReq.getPassword())) {
+			cmsUser.setPassword(Codec.DoDigest.custom().setAlgorithm(Codec.DoDigest.Algorithm.SHA256).setStringData(cmsUserReq.getPassword()).toBase64String());
 		}
-		if (admin.getId() == null) {
-			CmsUser ad = cmsUserMapper.selectOne(new LambdaQueryWrapper<CmsUser>().eq(CmsUser::getPhone, admin.getPhone()).last("limit 1"));
+		if (cmsUser.getId() == null) {
+			CmsUser ad = cmsUserMapper.selectOne(new LambdaQueryWrapper<CmsUser>().eq(CmsUser::getPhone, cmsUser.getPhone()).last("limit 1"));
 			if (ad != null) {
 				throw BusinessRuntimeException.getInstance("该账号已存在.");
 			}
 		}
-		boolean mobile = Validator.isMobile(admin.getPhone());
+		boolean mobile = Validator.isMobile(cmsUser.getPhone());
 		if (!mobile) {
 			throw BusinessRuntimeException.getInstance("请输入正确的手机号");
 		}
 
 		try {
-			cmsUserMapper.insert(admin);
+			cmsUserMapper.insert(cmsUser);
+			//保存用户角色关系
+			cmsUserManager.saveUserRoleRelation(cmsUser.getId(), cmsUserReq.getRoleIds());
 		} catch (DuplicateKeyException e) {
 			throw BusinessRuntimeException.getInstance("手机号重复");
 		}
@@ -254,8 +260,8 @@ public class CmsAdminUserController {
 	}
 
 	@GetMapping("/get/list")
-	public Result<SearchResult<CmsUser>> list() {
-		SearchResult<CmsUser> search = beanSearcher.search(CmsUser.class, MapUtils.flatBuilder(request.getParameterMap()).build());
+	public Result<SearchResult<CmsUserVO>> list() {
+		SearchResult<CmsUserVO> search = beanSearcher.search(CmsUserVO.class, MapUtils.flatBuilder(request.getParameterMap()).build());
 		return GatewayResponse.SUCCESS.newBuilder().toResult(search);
 	}
 }

+ 4 - 0
netflix-web/src/main/java/com/cyksj/web/controller/manage/exchange/ExchangeCodeController.java

@@ -1,5 +1,6 @@
 package com.cyksj.web.controller.manage.exchange;
 
+import cn.dev33.satoken.annotation.SaCheckPermission;
 import cn.hutool.core.util.ObjectUtil;
 import com.alibaba.excel.support.ExcelTypeEnum;
 import com.cyksj.common.exception.BusinessRuntimeException;
@@ -41,6 +42,7 @@ public class ExchangeCodeController {
 	 * 生成兑换码 并导出
 	 */
 	@GetMapping("/createAndExport")
+	@SaCheckPermission("exchangeCode:add")
 	private void createAndExportCode(ExchangeCodeReq exchangeCodeReq, HttpServletResponse response) {
 		if (ObjectUtil.hasEmpty(exchangeCodeReq.getGoodsId(), exchangeCodeReq.getSkuId(), exchangeCodeReq.getNumber())) {
 			throw BusinessRuntimeException.getInstance("必填项为空");
@@ -53,6 +55,7 @@ public class ExchangeCodeController {
 	 * 兑换码列表
 	 */
 	@GetMapping("/get")
+	@SaCheckPermission("exchangeCode:view")
 	public Result<SearchResult<ExchangeCodeView>> getExchangeCodeView() {
 		return GatewayResponse.SUCCESS.newBuilder().toResult(beanSearcher.search(ExchangeCodeView.class, MapUtils.flat(request.getParameterMap())));
 	}
@@ -61,6 +64,7 @@ public class ExchangeCodeController {
 	 * 导出兑换码
 	 */
 	@GetMapping("/export")
+	@SaCheckPermission("exchangeCode:export")
 	public void exportExchangeCode(HttpServletResponse response) {
 		List<ExcelExchangeCodeData> data = beanSearcher.searchAll(ExcelExchangeCodeData.class, MapUtils.flat(request.getParameterMap()));
 		EasyExcelUtils.createExcelStreamMutilByEasyExcel(response, ExcelExchangeCodeData.class, data, "银河兑换码","银河兑换码", ExcelTypeEnum.XLSX, null);

+ 3 - 0
netflix-web/src/main/java/com/cyksj/web/controller/manage/goods/CmsGoodsDonController.java

@@ -1,5 +1,6 @@
 package com.cyksj.web.controller.manage.goods;
 
+import cn.dev33.satoken.annotation.SaCheckPermission;
 import cn.hutool.core.bean.BeanUtil;
 import com.cyksj.dto.Result;
 import com.cyksj.enums.GatewayResponse;
@@ -37,6 +38,7 @@ public class CmsGoodsDonController {
     private final CmsGoodsDonService goodsDonService;
 
     @GetMapping("/get")
+    @SaCheckPermission("platform:view")
     public Result<SearchResult<GoodsDon>> get(){
         SearchResult<GoodsDon> search = beanSearcher.search(GoodsDon.class, MapUtils.flatBuilder(request.getParameterMap())
                 .field(GoodsDon::getDeleted,true)
@@ -81,6 +83,7 @@ public class CmsGoodsDonController {
      * 修改 商品spu
      */
     @PutMapping(value = "/update")
+    @SaCheckPermission("platform:update")
     public Result<String> spuUpdate(@Validated @RequestBody ReqGoodsSpuInsert spu) throws Exception{
         GoodsDon goods = new GoodsDon();
         BeanUtil.copyProperties(spu,goods);

+ 3 - 0
netflix-web/src/main/java/com/cyksj/web/controller/manage/group/CmsGroupController.java

@@ -1,5 +1,6 @@
 package com.cyksj.web.controller.manage.group;
 
+import cn.dev33.satoken.annotation.SaCheckPermission;
 import com.cyksj.common.annotation.NoSubmit;
 import com.cyksj.common.exception.BusinessRuntimeException;
 import com.cyksj.dto.Result;
@@ -45,6 +46,7 @@ public class CmsGroupController {
 
 
     @GetMapping("/get")
+    @SaCheckPermission("group:view")
     public Result<SearchResult<GroupsTrips>> get(String account, Long userId, String nickName, String submitAccount, Boolean isEmpty) {
         MapBuilder mapBuilder = MapUtils.flatBuilder(request.getParameterMap());
         if (userId != null || StringUtils.isNotBlank(nickName) || StringUtils.isNotBlank(submitAccount)) {
@@ -76,6 +78,7 @@ public class CmsGroupController {
 
     @PostMapping("/post")
     @NoSubmit
+    @SaCheckPermission("group:add")
     public Result<GroupsTrips> add(@RequestBody GroupsTrips groups){
 
         GroupsTrips groupsTrips = groupService.issuance(groups);

+ 2 - 0
netflix-web/src/main/java/com/cyksj/web/controller/manage/market/LuckyDrawController.java

@@ -1,5 +1,6 @@
 package com.cyksj.web.controller.manage.market;
 
+import cn.dev33.satoken.annotation.SaCheckPermission;
 import com.baomidou.mybatisplus.core.toolkit.Wrappers;
 import com.cyksj.common.exception.BusinessRuntimeException;
 import com.cyksj.dto.Result;
@@ -91,6 +92,7 @@ public class LuckyDrawController {
 	 * 奖品列表
 	 */
 	@GetMapping("/get")
+	@SaCheckPermission("raffle:view")
 	public Result<SearchResult<LuckyDrawView>> get(HttpServletRequest request) {
 		SearchResult<LuckyDrawView> search = beanSearcher.search(LuckyDrawView.class, MapUtils.flatBuilder(request.getParameterMap())
 				.build());

+ 2 - 0
netflix-web/src/main/java/com/cyksj/web/controller/manage/market/TaskController.java

@@ -1,5 +1,6 @@
 package com.cyksj.web.controller.manage.market;
 
+import cn.dev33.satoken.annotation.SaCheckPermission;
 import cn.hutool.core.date.DateTime;
 import cn.hutool.core.date.DateUtil;
 import com.baomidou.mybatisplus.core.toolkit.Wrappers;
@@ -109,6 +110,7 @@ public class TaskController {
 	 * 任务列表
 	 */
 	@GetMapping("/get")
+	@SaCheckPermission("sign:view")
 	public Result<SearchResult<TaskView>> getTask(HttpServletRequest request) {
 		DateTime now = DateTime.now();
 		DateTime beginOfDay = DateUtil.beginOfDay(now);

+ 3 - 0
netflix-web/src/main/java/com/cyksj/web/controller/manage/register/CmsRegisterController.java

@@ -1,5 +1,6 @@
 package com.cyksj.web.controller.manage.register;
 
+import cn.dev33.satoken.annotation.SaCheckPermission;
 import cn.hutool.core.date.DateTime;
 import cn.hutool.core.util.StrUtil;
 import com.alibaba.excel.EasyExcel;
@@ -63,6 +64,7 @@ public class CmsRegisterController {
     private final SpotifySendMsgService spotifySendMsgService;
 
     @GetMapping("/get")
+    @SaCheckPermission("sign:view")
     public Result<SearchResult<RegisterOrderDon>> get(Boolean appleIsAutoType) {
         MapBuilder builder = MapUtils.flatBuilder(request.getParameterMap());
         if (appleIsAutoType != null) {
@@ -135,6 +137,7 @@ public class CmsRegisterController {
      * 微信订单退款
      */
     @PostMapping("/wx/refund")
+    @SaCheckPermission("sign:refund")
     private Result<String> wxRefund(@RequestBody @Validated WxOrderRefundReq wxOrderRefundReq) throws Exception {
         return registerOrderDonService.wxRefund(wxOrderRefundReq);
     }

+ 2 - 3
netflix-web/src/main/java/com/cyksj/web/controller/manage/shop/ShopConfigController.java

@@ -1,13 +1,11 @@
 package com.cyksj.web.controller.manage.shop;
 
+import cn.dev33.satoken.annotation.SaCheckPermission;
 import com.baomidou.mybatisplus.core.toolkit.Wrappers;
 import com.cyksj.dto.Result;
 import com.cyksj.enums.GatewayResponse;
-import com.cyksj.mapper.channel.ShopConfigMapper;
 import com.cyksj.model.entity.Channel;
-import com.cyksj.model.entity.ChannelPopularize;
 import com.cyksj.model.entity.ShopConfig;
-import com.cyksj.model.views.ChannelView;
 import com.cyksj.service.mange.channel.ChannelService;
 import com.cyksj.service.mange.shop.ShopConfigService;
 import com.ejlchina.searcher.BeanSearcher;
@@ -38,6 +36,7 @@ public class ShopConfigController {
     private final ChannelService channelService;
 
     @GetMapping
+    @SaCheckPermission("merchant:view")
     public Result<SearchResult<ShopConfig>> get(){
         SearchResult<ShopConfig> searchResult = beanSearcher.search(ShopConfig.class, MapUtils.flatBuilder(request.getParameterMap()).build());
         searchResult.getDataList().forEach((shopConfig)->{

+ 5 - 0
netflix-web/src/main/java/com/cyksj/web/controller/manage/statistics/StatisticsDataController.java

@@ -1,5 +1,6 @@
 package com.cyksj.web.controller.manage.statistics;
 
+import cn.dev33.satoken.annotation.SaCheckPermission;
 import cn.hutool.core.date.DateTime;
 import cn.hutool.core.date.DateUtil;
 import cn.hutool.core.util.StrUtil;
@@ -84,6 +85,7 @@ public class StatisticsDataController {
 	 * 查询统计数据
 	 */
 	@GetMapping
+	@SaCheckPermission("statics:view")
 	public Result<BackgroundDataView> getStatisticsByCondition(@RequestParam(defaultValue = "1") Integer type, Long startTime, Long endTime) {
 		return statisticsDataService.getStatisticsByCondition(type, startTime, endTime);
 	}
@@ -92,6 +94,7 @@ public class StatisticsDataController {
 	 * 有效子账号数列表
 	 */
 	@GetMapping("/expired/account")
+	@SaCheckPermission("validAccount:view")
 	public Result<IPage<ExpiredAccountDataView>> getExpiredAccountView(Boolean isCorpWx, String customerService, Long goodsId, Long skuId, String account, Boolean renewStatus, Boolean handleStatus, String cnAccount, String usAccount, Integer userId, Long startTime, Long endTime, @RequestParam(required = false, defaultValue = "1") Long start, @RequestParam(required = false, defaultValue = "10") Long limit) {
 		return GatewayResponse.SUCCESS.newBuilder().toResult(statisticsDataService.getExpiredAccountView(isCorpWx, customerService, goodsId, skuId, account, renewStatus, handleStatus, cnAccount, usAccount, userId, startTime, endTime, start, limit));
 	}
@@ -133,6 +136,7 @@ public class StatisticsDataController {
 	 */
 	@PutMapping("/renewTime/up")
 	@Transactional(rollbackFor = Throwable.class)
+	@SaCheckPermission("validAccount:addTime")
 	public Result<String> addRenewTime(@RequestBody @Validated RenewTimeUpReq renewTimeUpReq) {
 		GroupsRelation relation = groupsRelationMapper.selectById(renewTimeUpReq.getRelationId());
 		if (relation == null) {
@@ -343,6 +347,7 @@ public class StatisticsDataController {
 	 * 批量分配客服
 	 */
 	@PostMapping("/batch/service")
+	@SaCheckPermission("validAccount:distributeServices")
 	public Result<String> batchService(@RequestBody List<BatchServiceReq> batchServices) {
 		batchServices.forEach(service -> {
 			if (StrUtil.isEmpty(service.getCustomerService())) {