Merge remote-tracking branch 'origin/master'
This commit is contained in:
@@ -1,11 +1,27 @@
|
||||
package com.czg;
|
||||
|
||||
import com.czg.account.entity.SysMenu;
|
||||
import com.czg.account.entity.SysRolesMenus;
|
||||
import com.czg.account.service.SysMenuService;
|
||||
import com.czg.account.service.SysRolesMenusService;
|
||||
import com.czg.annotation.SaAdminCheckPermission;
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
import org.apache.dubbo.config.spring.context.annotation.EnableDubbo;
|
||||
import org.mybatis.spring.annotation.MapperScan;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.boot.CommandLineRunner;
|
||||
import org.springframework.boot.SpringApplication;
|
||||
import org.springframework.boot.autoconfigure.SpringBootApplication;
|
||||
import org.springframework.cloud.client.discovery.EnableDiscoveryClient;
|
||||
import org.springframework.core.annotation.AnnotationUtils;
|
||||
import org.springframework.transaction.annotation.EnableTransactionManagement;
|
||||
import org.springframework.web.method.HandlerMethod;
|
||||
import org.springframework.web.servlet.mvc.method.RequestMappingInfo;
|
||||
import org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerMapping;
|
||||
|
||||
import java.lang.reflect.Method;
|
||||
import java.util.Map;
|
||||
|
||||
|
||||
/**
|
||||
* @author ww
|
||||
@@ -15,9 +31,42 @@ import org.springframework.transaction.annotation.EnableTransactionManagement;
|
||||
@EnableTransactionManagement
|
||||
@MapperScan("com.czg.service.account.mapper")
|
||||
@EnableDubbo
|
||||
public class AccountApplication {
|
||||
@Slf4j
|
||||
public class AccountApplication implements CommandLineRunner {
|
||||
public static void main(String[] args) {
|
||||
SpringApplication.run(AccountApplication.class, args);
|
||||
}
|
||||
@Autowired
|
||||
private RequestMappingHandlerMapping requestMappingHandlerMapping;
|
||||
@Autowired
|
||||
private SysMenuService sysMenuService;
|
||||
@Autowired
|
||||
private SysRolesMenusService sysRolesMenusService;
|
||||
|
||||
public void run(String... args) {
|
||||
Map<RequestMappingInfo, HandlerMethod> handlerMethods = this.requestMappingHandlerMapping.getHandlerMethods();
|
||||
handlerMethods.forEach((key, value) -> {
|
||||
Method method = value.getMethod();
|
||||
SaAdminCheckPermission annotation = AnnotationUtils.getAnnotation(method, SaAdminCheckPermission.class);
|
||||
if (annotation == null) return;
|
||||
for (String s : annotation.value()) {
|
||||
long count = sysMenuService.queryChain().eq(SysMenu::getPermission, s).count();
|
||||
if (count > 0) {
|
||||
continue;
|
||||
}
|
||||
SysMenu sysMenu = new SysMenu();
|
||||
sysMenu.setPermission(s);
|
||||
sysMenu.setName(s);
|
||||
sysMenu.setType(2);
|
||||
sysMenuService.save(sysMenu);
|
||||
SysRolesMenus sysRolesMenus = new SysRolesMenus();
|
||||
sysRolesMenus.setMenuId(sysMenu.getMenuId());
|
||||
sysRolesMenus.setRoleId(1L);
|
||||
sysRolesMenusService.save(sysRolesMenus);
|
||||
log.info("接口菜单添加成功, 菜单名称: {}, 菜单权限: {}", sysMenu.getName(), sysMenu.getPermission());
|
||||
}
|
||||
});
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
@@ -0,0 +1,101 @@
|
||||
package com.czg.controller.admin;
|
||||
|
||||
import com.czg.log.annotation.OperationLog;
|
||||
import com.czg.product.dto.ProdGroupDTO;
|
||||
import com.czg.product.service.ProdGroupService;
|
||||
import com.czg.resp.CzgResult;
|
||||
import com.czg.utils.AssertUtil;
|
||||
import com.czg.validator.group.DefaultGroup;
|
||||
import com.czg.validator.group.InsertGroup;
|
||||
import com.czg.validator.group.UpdateGroup;
|
||||
import com.mybatisflex.core.paginate.Page;
|
||||
import lombok.AllArgsConstructor;
|
||||
import org.springframework.validation.annotation.Validated;
|
||||
import org.springframework.web.bind.annotation.*;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
|
||||
/**
|
||||
* 商品分组
|
||||
*
|
||||
* @author Tankaikai tankaikai@aliyun.com
|
||||
* @since 1.0 2025-02-17
|
||||
*/
|
||||
@AllArgsConstructor
|
||||
@RestController
|
||||
@RequestMapping("/admin/prod/group")
|
||||
public class ProdGroupController {
|
||||
private final ProdGroupService prodGroupService;
|
||||
|
||||
@GetMapping("page")
|
||||
@OperationLog("商品分组-分页")
|
||||
//@SaAdminCheckPermission("prodGroup:page")
|
||||
public CzgResult<Page<ProdGroupDTO>> getProdGroupPage(ProdGroupDTO param){
|
||||
Page<ProdGroupDTO> data = prodGroupService.getProdGroupPage(param);
|
||||
return CzgResult.success(data);
|
||||
}
|
||||
|
||||
@GetMapping("list")
|
||||
@OperationLog("商品分组-列表")
|
||||
//@SaAdminCheckPermission("prodGroup:list")
|
||||
public CzgResult<List<ProdGroupDTO>> getProdGroupList(ProdGroupDTO param){
|
||||
List<ProdGroupDTO> data = prodGroupService.getProdGroupList(param);
|
||||
return CzgResult.success(data);
|
||||
}
|
||||
|
||||
@GetMapping("{id}")
|
||||
@OperationLog("商品分组-详情")
|
||||
//@SaAdminCheckPermission("prodGroup:info")
|
||||
public CzgResult<ProdGroupDTO> getProdGroupById(@PathVariable("id") Long id){
|
||||
AssertUtil.isNull(id, "{}不能为空", "id");
|
||||
ProdGroupDTO data = prodGroupService.getProdGroupById(id);
|
||||
return CzgResult.success(data);
|
||||
}
|
||||
|
||||
@PostMapping
|
||||
@OperationLog("商品分组-新增")
|
||||
//@SaAdminCheckPermission("prodGroup:add")
|
||||
public CzgResult<Void> addProdGroup(@RequestBody @Validated({InsertGroup.class, DefaultGroup.class}) ProdGroupDTO dto){
|
||||
prodGroupService.addProdGroup(dto);
|
||||
return CzgResult.success();
|
||||
}
|
||||
|
||||
@PutMapping
|
||||
@OperationLog("商品分组-修改")
|
||||
//@SaAdminCheckPermission("prodGroup:update")
|
||||
public CzgResult<Void> updateProdGroup(@RequestBody @Validated({UpdateGroup.class, DefaultGroup.class}) ProdGroupDTO dto){
|
||||
prodGroupService.updateProdGroup(dto);
|
||||
return CzgResult.success();
|
||||
}
|
||||
|
||||
@DeleteMapping("{id}")
|
||||
@OperationLog("商品分组-删除")
|
||||
//@SaAdminCheckPermission("prodGroup:delete")
|
||||
public CzgResult<Void> deleteProdGroup(@PathVariable("id") Long id){
|
||||
//效验数据
|
||||
AssertUtil.isNull(id, "{}不能为空", "id");
|
||||
prodGroupService.deleteProdGroup(id);
|
||||
return CzgResult.success();
|
||||
}
|
||||
|
||||
@PostMapping("disable/{id}")
|
||||
@OperationLog("商品分组-禁用")
|
||||
//@SaAdminCheckPermission("prodGroup:able")
|
||||
public CzgResult<Void> disableProdGroup(@PathVariable("id") Long id) {
|
||||
//效验数据
|
||||
AssertUtil.isNull(id, "{}不能为空", "id");
|
||||
prodGroupService.disableProdGroup(id);
|
||||
return CzgResult.success();
|
||||
}
|
||||
|
||||
@PostMapping("enable/{id}")
|
||||
@OperationLog("商品分组-启用")
|
||||
//@SaAdminCheckPermission("prodGroup:able")
|
||||
public CzgResult<Void> enableProdGroup(@PathVariable("id") Long id) {
|
||||
//效验数据
|
||||
AssertUtil.isNull(id, "{}不能为空", "id");
|
||||
prodGroupService.enableProdGroup(id);
|
||||
return CzgResult.success();
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user