From f3637227614f3f7efa372d827f4dafb7cc8a85bf Mon Sep 17 00:00:00 2001
From: 李林 <z1292839451@163.com>
Date: 星期四, 28 十二月 2023 11:24:12 +0800
Subject: [PATCH] 第二阶段
---
framework/src/main/java/com/yuanchu/mom/annotation/ValueAuth.java | 9 +
framework/src/main/java/com/yuanchu/mom/common/AllController.java | 56 ++++++
framework/src/main/java/com/yuanchu/mom/mapper/AuthMapper.java | 28 +++
system-run/src/main/java/com/yuanchu/mom/SystemRunApplication.java | 3
user-server/src/main/java/com/yuanchu/mom/dto/RolePowerDto.java | 22 ++
framework/src/main/resources/AuthMapper.xml | 5
user-server/src/main/resources/mapper/RoleMapper.xml | 5
data-server/src/main/java/com/yuanchu/mom/controller/DataReportingController.java | 50 ++++-
data-server/src/main/java/com/yuanchu/mom/dto/RegistrantCountDto.java | 3
framework/src/main/java/com/yuanchu/mom/common/GetLook.java | 27 +++
user-server/src/main/java/com/yuanchu/mom/mapper/RoleMapper.java | 8
framework/src/main/java/com/yuanchu/mom/annotation/ValueTableShow.java | 2
framework/src/main/java/com/yuanchu/mom/utils/QueryWrappers.java | 2
user-server/src/main/java/com/yuanchu/mom/service/imp/RoleServiceImp.java | 49 +++++
user-server/src/main/java/com/yuanchu/mom/service/imp/UserServiceImp.java | 5
user-server/src/main/java/com/yuanchu/mom/controller/EnumController.java | 4
user-server/src/main/java/com/yuanchu/mom/service/imp/ProductEnumServiceImpl.java | 5
data-server/src/main/java/com/yuanchu/mom/service/DataReportingService.java | 4
user-server/src/main/java/com/yuanchu/mom/service/imp/CustomEnumServiceImp.java | 5
framework/src/main/java/com/yuanchu/mom/handler/GlobalExceptionHandler.java | 7
data-server/src/main/java/com/yuanchu/mom/service/impl/DataReportingServiceImpl.java | 22 ++
framework/src/main/java/com/yuanchu/mom/config/OpenFifer.java | 8
data-server/src/main/java/com/yuanchu/mom/dto/ProductCountDto.java | 3
user-server/src/main/java/com/yuanchu/mom/service/RoleService.java | 8
framework/src/main/java/com/yuanchu/mom/config/PowerConfig.java | 58 ++++++
framework/src/main/java/com/yuanchu/mom/config/FiferConfig.java | 16 -
user-server/src/main/resources/mapper/UserMapper.xml | 1
data-server/src/main/java/com/yuanchu/mom/mapper/DataReportingMapper.java | 14 +
data-server/src/main/resources/mapper/DataReportingMapper.xml | 35 +++
data-server/src/main/java/com/yuanchu/mom/service/impl/FansSubmitServiceImpl.java | 5
user-server/src/main/java/com/yuanchu/mom/controller/UserController.java | 15 +
framework/src/main/java/com/yuanchu/mom/exception/ErrorException.java | 9 +
/dev/null | 0
user-server/src/main/java/com/yuanchu/mom/controller/RoleController.java | 43 ++++
system-run/src/main/java/com/yuanchu/mom/backup/MysqlDataBackup.java | 2
35 files changed, 497 insertions(+), 41 deletions(-)
diff --git a/data-server/src/main/java/com/yuanchu/mom/controller/DataReportingController.java b/data-server/src/main/java/com/yuanchu/mom/controller/DataReportingController.java
index be9afb0..74b4779 100644
--- a/data-server/src/main/java/com/yuanchu/mom/controller/DataReportingController.java
+++ b/data-server/src/main/java/com/yuanchu/mom/controller/DataReportingController.java
@@ -1,27 +1,24 @@
package com.yuanchu.mom.controller;
-import cn.hutool.json.JSONObject;
-import cn.hutool.json.JSONUtil;
import com.alibaba.fastjson.JSON;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.yuanchu.mom.annotation.ValueAuth;
+import com.yuanchu.mom.common.GetLook;
import com.yuanchu.mom.dto.DataReportingPageDto;
import com.yuanchu.mom.dto.ProductCountDto;
import com.yuanchu.mom.dto.RegistrantCountDto;
import com.yuanchu.mom.pojo.DataReporting;
import com.yuanchu.mom.pojo.FansSubmit;
+import com.yuanchu.mom.pojo.FinanceSubmit;
import com.yuanchu.mom.service.DataReportingService;
import com.yuanchu.mom.service.FansSubmitService;
-import com.yuanchu.mom.utils.JackSonUtil;
+import com.yuanchu.mom.service.FinanceSubmitService;
import com.yuanchu.mom.vo.Result;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import lombok.AllArgsConstructor;
-import org.springframework.web.bind.annotation.PostMapping;
-import org.springframework.web.bind.annotation.RequestBody;
-import org.springframework.web.bind.annotation.RequestMapping;
-import org.springframework.web.bind.annotation.RestController;
+import org.springframework.web.bind.annotation.*;
-import java.math.BigDecimal;
import java.util.Map;
@RequestMapping("/dataReporting")
@@ -34,12 +31,14 @@
private FansSubmitService fansSubmitService;
+ private FinanceSubmitService financeSubmitService;
+
@ApiOperation(value = "鑾峰彇鏁版嵁涓婃姤鍒楄〃")
@PostMapping("/selectDataReportingList")
public Result selectDataReportingList(@RequestBody Map<String, Object> data) {
Page page = JSON.parseObject(JSON.toJSONString(data.get("page")), Page.class);
DataReportingPageDto dataReportingPageDto = JSON.parseObject(JSON.toJSONString(data.get("entity")), DataReportingPageDto.class);
- return Result.success(dataReportingService.selectUserList(page, dataReportingPageDto));
+ return Result.success(dataReportingService.selectDataReportingList(page, dataReportingPageDto));
}
@ApiOperation(value = "淇敼鏁版嵁涓婃姤")
@@ -90,4 +89,37 @@
return Result.success(fansSubmitService.addFansSubmit(fansSubmit));
}
+ @ApiOperation(value = "鑾峰彇璐㈠姟涓婃姤鍒楄〃")
+ @PostMapping("/selectFinanceSubmitList")
+ public Result selectFinanceSubmitList(@RequestBody Map<String, Object> data) {
+ Page page = JSON.parseObject(JSON.toJSONString(data.get("page")), Page.class);
+ FinanceSubmit financeSubmit = JSON.parseObject(JSON.toJSONString(data.get("entity")), FinanceSubmit.class);
+ return Result.success(financeSubmitService.selectFinanceSubmitList(page, financeSubmit));
+ }
+
+ @ApiOperation(value = "鍒犻櫎璐㈠姟涓婃姤鍒楄〃")
+ @PostMapping("/delFinanceSubmit")
+ public Result delFinanceSubmit(Integer id){
+ return Result.success(financeSubmitService.delFinanceSubmit(id));
+ }
+
+ @ApiOperation(value = "淇敼璐㈠姟涓婃姤淇℃伅")
+ @PostMapping("/updateFinanceSubmit")
+ public Result<?> updateFinanceSubmit(@RequestBody FinanceSubmit financeSubmit) {
+ return Result.success(financeSubmitService.updateFinanceSubmit(financeSubmit));
+ }
+
+ @ApiOperation(value = "娣诲姞璐㈠姟涓婃姤淇℃伅")
+ @PostMapping("/addFinanceSubmit")
+ public Result<?> addFinanceSubmit(@RequestBody FinanceSubmit financeSubmit) {
+ return Result.success(financeSubmitService.addFinanceSubmit(financeSubmit));
+ }
+
+ @ApiOperation(value = "鑾峰彇棣栭〉鏁版嵁")
+ @GetMapping("/getDataList")
+ @ValueAuth
+ public Result<?> getDataList() {
+ return Result.success(dataReportingService.getDataList());
+ }
+
}
diff --git a/data-server/src/main/java/com/yuanchu/mom/dto/ProductCountDto.java b/data-server/src/main/java/com/yuanchu/mom/dto/ProductCountDto.java
index 1a1cfee..08d40d0 100644
--- a/data-server/src/main/java/com/yuanchu/mom/dto/ProductCountDto.java
+++ b/data-server/src/main/java/com/yuanchu/mom/dto/ProductCountDto.java
@@ -41,4 +41,7 @@
@ApiModelProperty("瀹㈡埛鎴愭湰")
private BigDecimal customerCosts;
+ @ApiModelProperty("鍒涘缓鐢ㄦ埛")
+ private Integer createUser;
+
}
diff --git a/data-server/src/main/java/com/yuanchu/mom/dto/RegistrantCountDto.java b/data-server/src/main/java/com/yuanchu/mom/dto/RegistrantCountDto.java
index f76e2be..64ae929 100644
--- a/data-server/src/main/java/com/yuanchu/mom/dto/RegistrantCountDto.java
+++ b/data-server/src/main/java/com/yuanchu/mom/dto/RegistrantCountDto.java
@@ -146,4 +146,7 @@
@ValueTableShow(1)
private LocalDateTime updateTime;
+ @ApiModelProperty("鍒涘缓鐢ㄦ埛")
+ private Integer createUser;
+
}
diff --git a/data-server/src/main/java/com/yuanchu/mom/mapper/DataReportingMapper.java b/data-server/src/main/java/com/yuanchu/mom/mapper/DataReportingMapper.java
index a594ccb..ce4dc73 100644
--- a/data-server/src/main/java/com/yuanchu/mom/mapper/DataReportingMapper.java
+++ b/data-server/src/main/java/com/yuanchu/mom/mapper/DataReportingMapper.java
@@ -8,6 +8,10 @@
import com.yuanchu.mom.pojo.DataReporting;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import java.math.BigDecimal;
+import java.util.List;
+import java.util.Map;
+
/**
* @author Administrator
* @description 閽堝琛ㄣ�恉ata_reporting(鏁版嵁涓婃姤)銆戠殑鏁版嵁搴撴搷浣淢apper
@@ -22,6 +26,16 @@
IPage<RegistrantCountDto> selectRegistrantCountDtoPageList(IPage<RegistrantCountDto> page, QueryWrapper<RegistrantCountDto> ew);
+ Map<String, BigDecimal> getDataFor1();
+
+ List<Map<String, String>> getDataFor2();
+
+ List<Map<String, String>> getDataFor3();
+
+ List<Map<String, String>> getDataFor4();
+
+ List<Map<String, String>> getDataFor5();
+
}
diff --git a/data-server/src/main/java/com/yuanchu/mom/service/DataReportingService.java b/data-server/src/main/java/com/yuanchu/mom/service/DataReportingService.java
index f175a0b..9826b8d 100644
--- a/data-server/src/main/java/com/yuanchu/mom/service/DataReportingService.java
+++ b/data-server/src/main/java/com/yuanchu/mom/service/DataReportingService.java
@@ -16,7 +16,7 @@
*/
public interface DataReportingService extends IService<DataReporting> {
- Map<String, Object> selectUserList(IPage<DataReportingPageDto> page, DataReportingPageDto dataReportingPageDto);
+ Map<String, Object> selectDataReportingList(IPage<DataReportingPageDto> page, DataReportingPageDto dataReportingPageDto);
int updateDataReporting(DataReporting dataReporting);
@@ -24,4 +24,6 @@
Map<String, Object> selectRegistrantCountDtoPageList(IPage<RegistrantCountDto> page, RegistrantCountDto registrantCountDto);
+ Map<String, Object> getDataList();
+
}
diff --git a/data-server/src/main/java/com/yuanchu/mom/service/impl/DataReportingServiceImpl.java b/data-server/src/main/java/com/yuanchu/mom/service/impl/DataReportingServiceImpl.java
index 508dd54..087b0df 100644
--- a/data-server/src/main/java/com/yuanchu/mom/service/impl/DataReportingServiceImpl.java
+++ b/data-server/src/main/java/com/yuanchu/mom/service/impl/DataReportingServiceImpl.java
@@ -2,6 +2,7 @@
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.yuanchu.mom.common.GetLook;
import com.yuanchu.mom.common.PrintChina;
import com.yuanchu.mom.dto.DataReportingPageDto;
import com.yuanchu.mom.dto.ProductCountDto;
@@ -30,9 +31,13 @@
private DataReportingMapper dataReportingMapper;
+ private GetLook getLook;
+
@Override
- public Map<String, Object> selectUserList(IPage<DataReportingPageDto> page, DataReportingPageDto dataReportingPageDto) {
+ public Map<String, Object> selectDataReportingList(IPage<DataReportingPageDto> page, DataReportingPageDto dataReportingPageDto) {
Map<String, Object> map = new HashMap<>();
+ Map<String, Integer> map1 = getLook.selectPowerByMethodAndUserId("selectDataReportingList");
+ if(map1.get("look")==1) dataReportingPageDto.setCreateUser(map1.get("userId"));
map.put("head", PrintChina.printChina(DataReportingPageDto.class));
map.put("body", dataReportingMapper.selectDataReportingDtoPageList(page, QueryWrappers.queryWrappers(dataReportingPageDto)));
return map;
@@ -56,6 +61,8 @@
public Map<String, Object> selectProductCountDtoPageList(IPage<ProductCountDto> page, ProductCountDto productCountDto) {
Map<String, Object> map = new HashMap<>();
map.put("head", PrintChina.printChina(ProductCountDto.class));
+ Map<String, Integer> map1 = getLook.selectPowerByMethodAndUserId("selectDataReportingList");
+ if(map1.get("look")==1) productCountDto.setCreateUser(map1.get("userId"));
map.put("body", dataReportingMapper.selectProductCountDtoPageList(page, QueryWrappers.queryWrappers(productCountDto)));
return map;
}
@@ -64,9 +71,22 @@
public Map<String, Object> selectRegistrantCountDtoPageList(IPage<RegistrantCountDto> page, RegistrantCountDto registrantCountDto) {
Map<String, Object> map = new HashMap<>();
map.put("head", PrintChina.printChina(RegistrantCountDto.class));
+ Map<String, Integer> map1 = getLook.selectPowerByMethodAndUserId("selectDataReportingList");
+ if(map1.get("look")==1) registrantCountDto.setCreateUser(map1.get("userId"));
map.put("body", dataReportingMapper.selectRegistrantCountDtoPageList(page, QueryWrappers.queryWrappers(registrantCountDto)));
return map;
}
+
+ @Override
+ public Map<String, Object> getDataList() {
+ Map<String, Object> map = new HashMap<>();
+ map.put("data1", dataReportingMapper.getDataFor1());
+ map.put("data2", dataReportingMapper.getDataFor2());
+ map.put("data3", dataReportingMapper.getDataFor3());
+ map.put("data4", dataReportingMapper.getDataFor4());
+ map.put("data5", dataReportingMapper.getDataFor5());
+ return map;
+ }
}
diff --git a/data-server/src/main/java/com/yuanchu/mom/service/impl/FansSubmitServiceImpl.java b/data-server/src/main/java/com/yuanchu/mom/service/impl/FansSubmitServiceImpl.java
index e1b3b37..94b0329 100644
--- a/data-server/src/main/java/com/yuanchu/mom/service/impl/FansSubmitServiceImpl.java
+++ b/data-server/src/main/java/com/yuanchu/mom/service/impl/FansSubmitServiceImpl.java
@@ -2,6 +2,7 @@
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.yuanchu.mom.common.GetLook;
import com.yuanchu.mom.common.PrintChina;
import com.yuanchu.mom.dto.DataReportingPageDto;
import com.yuanchu.mom.pojo.FansSubmit;
@@ -26,10 +27,14 @@
private FansSubmitMapper fansSubmitMapper;
+ private GetLook getLook;
+
@Override
public Map<String, Object> selectFansSubmitList(IPage<FansSubmit> page, FansSubmit fansSubmit) {
Map<String, Object> map = new HashMap<>();
map.put("head", PrintChina.printChina(FansSubmit.class));
+ Map<String, Integer> map1 = getLook.selectPowerByMethodAndUserId("selectDataReportingList");
+ if(map1.get("look")==1) fansSubmit.setCreateUser(map1.get("userId"));
map.put("body", fansSubmitMapper.selectFansSubmitPageList(page, QueryWrappers.queryWrappers(fansSubmit)));
return map;
}
diff --git a/data-server/src/main/resources/mapper/DataReportingMapper.xml b/data-server/src/main/resources/mapper/DataReportingMapper.xml
index 2d5c698..5e626cc 100644
--- a/data-server/src/main/resources/mapper/DataReportingMapper.xml
+++ b/data-server/src/main/resources/mapper/DataReportingMapper.xml
@@ -43,7 +43,7 @@
</select>
<select id="selectProductCountDtoPageList" resultType="com.yuanchu.mom.dto.ProductCountDto">
select * from (
- select update_time, create_time, product, sum(consumption) consumption, sum(fans_add) fans_add, sum(customer_costs) customer_costs
+ select update_time, create_time, product, sum(consumption) consumption, sum(fans_add) fans_add, sum(customer_costs) customer_costs, create_user
from data_reporting
group by product
) a
@@ -53,7 +53,7 @@
</select>
<select id="selectRegistrantCountDtoPageList" resultType="com.yuanchu.mom.dto.RegistrantCountDto">
select * from (
- select id, department, registrant, product, name, sum(`show`) `show`, sum(click) click, sum(account_consumption)account_consumption, sum(rebate_consumption) rebate_consumption,(sum(rebate_consumption)+sum(remark)) rebate_consumption2, sum(discounted_consumption) discounted_consumption, sum(fans_add) fans_add, sum(actual_cost) actual_cost, sum(customer_costs) customer_costs, sum(profit) profit, sum(agent_rebate) agent_rebate, sum(customer_rebate) customer_rebate, sum(remark) remark, create_time, update_time
+ select id, department, registrant, product, name, sum(`show`) `show`, sum(click) click, sum(account_consumption)account_consumption, sum(rebate_consumption) rebate_consumption,(sum(rebate_consumption)+sum(remark)) rebate_consumption2, sum(discounted_consumption) discounted_consumption, sum(fans_add) fans_add, sum(actual_cost) actual_cost, sum(customer_costs) customer_costs, sum(profit) profit, sum(agent_rebate) agent_rebate, sum(customer_rebate) customer_rebate, sum(remark) remark, create_time, update_time, create_user
from data_reporting
group by registrant
) a
@@ -61,4 +61,35 @@
${ew.customSqlSegment}
</if>
</select>
+ <select id="getDataFor1" resultType="java.util.Map">
+ select COALESCE(sum(account_consumption), 0) data1, COALESCE(sum(consumption), 0) data2, COALESCE(sum(customer_costs),0) data3, COALESCE(sum(actual_cost), 0) data4
+ from data_reporting
+ where date(create_time) like CURDATE()
+ </select>
+ <select id="getDataFor2" resultType="java.util.Map">
+ SELECT sum(account_consumption) account_consumptions, DATE_FORMAT(create_time, '%m-%d') `date`, DATE_FORMAT(create_time, '%y-%m-%d') time
+ FROM data_reporting
+ group by DATE_FORMAT(create_time, '%y-%m-%d')
+ having DATE_SUB(CURDATE(), INTERVAL 7 DAY) < time
+ and time <= CURDATE()
+ </select>
+ <select id="getDataFor3" resultType="java.util.Map">
+ SELECT sum(consumption) consumption, DATE_FORMAT(create_time, '%m-%d') `date`, DATE_FORMAT(create_time, '%y-%m-%d') time
+ FROM data_reporting
+ group by DATE_FORMAT(create_time, '%y-%m-%d')
+ having DATE_SUB(CURDATE(), INTERVAL 7 DAY) < time
+ and time <= CURDATE()
+ </select>
+ <select id="getDataFor4" resultType="java.util.Map">
+ select product, sum(customer_costs) customerCosts
+ from data_reporting
+ group by product
+ order by customerCosts desc limit 7
+ </select>
+ <select id="getDataFor5" resultType="java.util.Map">
+ select product, sum(actual_cost) actualCost
+ from data_reporting
+ group by product
+ order by actualCost desc limit 7
+ </select>
</mapper>
diff --git a/framework/src/main/java/com/yuanchu/mom/annotation/ValueAuth.java b/framework/src/main/java/com/yuanchu/mom/annotation/ValueAuth.java
new file mode 100644
index 0000000..7b8727d
--- /dev/null
+++ b/framework/src/main/java/com/yuanchu/mom/annotation/ValueAuth.java
@@ -0,0 +1,9 @@
+package com.yuanchu.mom.annotation;
+
+import java.lang.annotation.Retention;
+import java.lang.annotation.RetentionPolicy;
+
+@Retention(RetentionPolicy.RUNTIME)
+public @interface ValueAuth {
+
+}
diff --git a/framework/src/main/java/com/yuanchu/mom/annotation/ValueTableShow.java b/framework/src/main/java/com/yuanchu/mom/annotation/ValueTableShow.java
index 7b892e9..6bf2458 100644
--- a/framework/src/main/java/com/yuanchu/mom/annotation/ValueTableShow.java
+++ b/framework/src/main/java/com/yuanchu/mom/annotation/ValueTableShow.java
@@ -6,6 +6,6 @@
@Retention(RetentionPolicy.RUNTIME)
public @interface ValueTableShow {
- int value() default 0;
+ int value() default 1;
}
diff --git a/framework/src/main/java/com/yuanchu/mom/common/AllController.java b/framework/src/main/java/com/yuanchu/mom/common/AllController.java
new file mode 100644
index 0000000..10176fc
--- /dev/null
+++ b/framework/src/main/java/com/yuanchu/mom/common/AllController.java
@@ -0,0 +1,56 @@
+package com.yuanchu.mom.common;
+
+import com.yuanchu.mom.annotation.ValueAuth;
+import com.yuanchu.mom.mapper.AuthMapper;
+import io.swagger.annotations.ApiOperation;
+import org.springframework.stereotype.Component;
+import org.springframework.web.context.WebApplicationContext;
+import org.springframework.web.method.HandlerMethod;
+import org.springframework.web.servlet.mvc.method.RequestMappingInfo;
+import org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerMapping;
+
+import javax.annotation.PostConstruct;
+import javax.annotation.Resource;
+import java.util.Map;
+
+@Component
+public class AllController {
+ @Resource
+ WebApplicationContext applicationContext;
+
+ @Resource
+ private AuthMapper authMapper;
+
+ public void addAllController() {
+ RequestMappingHandlerMapping mapping = applicationContext.getBean(RequestMappingHandlerMapping.class);
+ Map<RequestMappingInfo, HandlerMethod> methodMap = mapping.getHandlerMethods();
+ authMapper.deletePower();
+ for (HandlerMethod value : methodMap.values()) {
+ ApiOperation annotation = value.getMethodAnnotation(ApiOperation.class);
+ ValueAuth valueAuth = value.getMethodAnnotation(ValueAuth.class);
+ if (valueAuth==null){
+ if (annotation != null) {
+ String remark = annotation.value();
+ String type = "淇敼";
+ if (remark.contains("鑾峰彇")||remark.contains("鏌ヨ")){
+ type = "鏌ヨ";
+ } else if(remark.contains("鍒犻櫎")){
+ type = "鍒犻櫎";
+ } else if(remark.contains("娣诲姞")||remark.contains("鏂板")){
+ type = "娣诲姞";
+ }
+ try {
+ authMapper.insertPower(value.getMethod().getName(), remark, type);
+ }catch (Exception e){
+ System.err.println(value.getMethod());
+ }
+ }
+ }
+ }
+ }
+
+ @PostConstruct
+ public void pingStart() {
+ addAllController();
+ }
+}
diff --git a/framework/src/main/java/com/yuanchu/mom/common/GetLook.java b/framework/src/main/java/com/yuanchu/mom/common/GetLook.java
new file mode 100644
index 0000000..d7a263c
--- /dev/null
+++ b/framework/src/main/java/com/yuanchu/mom/common/GetLook.java
@@ -0,0 +1,27 @@
+package com.yuanchu.mom.common;
+
+import cn.hutool.json.JSONUtil;
+import com.yuanchu.mom.mapper.AuthMapper;
+import com.yuanchu.mom.utils.Jwt;
+import com.yuanchu.mom.utils.ServletUtils;
+import org.springframework.stereotype.Component;
+
+import javax.annotation.Resource;
+import java.util.HashMap;
+import java.util.Map;
+
+@Component
+public class GetLook {
+
+ @Resource
+ private AuthMapper authMapper;
+
+ public Map<String, Integer> selectPowerByMethodAndUserId(String method){
+ Integer id = Integer.parseInt(JSONUtil.parseObj(new Jwt().readJWT(ServletUtils.getRequest().getHeader("token")).get("data")).get("id")+"");
+ Map<String, Integer> map = new HashMap<>();
+ map.put("userId", id);
+ map.put("look", authMapper.countPower(id, method));
+ return map;
+ }
+
+}
diff --git a/framework/src/main/java/com/yuanchu/mom/config/FiferConfig.java b/framework/src/main/java/com/yuanchu/mom/config/FiferConfig.java
index bb90e50..3d0662c 100644
--- a/framework/src/main/java/com/yuanchu/mom/config/FiferConfig.java
+++ b/framework/src/main/java/com/yuanchu/mom/config/FiferConfig.java
@@ -25,8 +25,6 @@
@Value("${server.port}")
private String serverPort;
- private static ThreadLocal<String> threadLocal = new ThreadLocal<>();
-
@Override
public boolean preHandle(HttpServletRequest request, HttpServletResponse response, Object handler) throws Exception {
if (HttpMethod.OPTIONS.toString().equals(request.getMethod())) {
@@ -35,17 +33,17 @@
}
String[] strs = request.getRequestURL().toString().split(serverPort);
AtomicBoolean judge = new AtomicBoolean(false);
- list.forEach(a -> {
- if (strs[1].equals(a)) {
+ for (String s : list) {
+ if (strs[1].equals(s)) {
judge.set(true);
- return;
- } else if (a.indexOf("/**") > -1) {
- if (strs[1].indexOf(a.replace("/**", "")) == 0) {
+ break;
+ } else if (s.indexOf("/**") > -1) {
+ if (strs[1].indexOf(s.replace("/**", "")) == 0) {
judge.set(true);
- return;
+ break;
}
}
- });
+ }
if (judge.get()) return true;
response.setContentType(MediaType.APPLICATION_JSON_VALUE);
response.setCharacterEncoding("UTF-8");
diff --git a/framework/src/main/java/com/yuanchu/mom/config/OpenFifer.java b/framework/src/main/java/com/yuanchu/mom/config/OpenFifer.java
index 782ed57..d9e0358 100644
--- a/framework/src/main/java/com/yuanchu/mom/config/OpenFifer.java
+++ b/framework/src/main/java/com/yuanchu/mom/config/OpenFifer.java
@@ -5,15 +5,21 @@
import org.springframework.web.servlet.config.annotation.InterceptorRegistry;
import org.springframework.web.servlet.config.annotation.WebMvcConfigurationSupport;
+import javax.annotation.Resource;
+
@Configuration
public class OpenFifer extends WebMvcConfigurationSupport {
- @Autowired
+ @Resource
private FiferConfig fiferConfig;
+
+ @Resource
+ private PowerConfig powerConfig;
@Override
protected void addInterceptors(InterceptorRegistry registry) {
registry.addInterceptor(fiferConfig).addPathPatterns("/**");
+ registry.addInterceptor(powerConfig).addPathPatterns("/**");
super.addInterceptors(registry);
}
}
diff --git a/framework/src/main/java/com/yuanchu/mom/config/PowerConfig.java b/framework/src/main/java/com/yuanchu/mom/config/PowerConfig.java
new file mode 100644
index 0000000..2018aef
--- /dev/null
+++ b/framework/src/main/java/com/yuanchu/mom/config/PowerConfig.java
@@ -0,0 +1,58 @@
+package com.yuanchu.mom.config;
+
+import cn.hutool.json.JSONObject;
+import cn.hutool.json.JSONUtil;
+import com.alibaba.fastjson.JSON;
+import com.yuanchu.mom.annotation.ValueAuth;
+import com.yuanchu.mom.exception.ErrorException;
+import com.yuanchu.mom.exception.MyFileException;
+import com.yuanchu.mom.mapper.AuthMapper;
+import com.yuanchu.mom.utils.JackSonUtil;
+import com.yuanchu.mom.utils.Jwt;
+import com.yuanchu.mom.utils.ServletUtils;
+import org.apache.catalina.User;
+import org.springframework.stereotype.Component;
+import org.springframework.web.method.HandlerMethod;
+import org.springframework.web.servlet.HandlerInterceptor;
+import org.springframework.web.servlet.ModelAndView;
+
+import javax.annotation.Resource;
+import javax.servlet.http.HttpServletRequest;
+import javax.servlet.http.HttpServletResponse;
+import java.util.Map;
+
+@Component
+public class PowerConfig implements HandlerInterceptor {
+
+ @Resource
+ private AuthMapper authMapper;
+
+ @Override
+ public boolean preHandle(HttpServletRequest request, HttpServletResponse response, Object handler) throws Exception {
+ if(handler instanceof HandlerMethod) {
+ HandlerMethod h = (HandlerMethod)handler;
+ ValueAuth annotation = h.getMethodAnnotation(ValueAuth.class);
+ if(annotation!=null){
+ return HandlerInterceptor.super.preHandle(request, response, handler);
+ }
+ JSONObject obj = JSONUtil.parseObj(new Jwt().readJWT(request.getHeader("token")).get("data"));
+ Integer userId = Integer.parseInt(obj.get("id") + "");
+ int i = authMapper.isPower(userId, h.getMethod().getName());
+
+ if (i == 0){
+ throw new ErrorException(obj.get("name") + " 鏃犳潈闄愯闂� " + h.getMethod().getName() + " 鎺ュ彛");
+ }
+ }
+ return HandlerInterceptor.super.preHandle(request, response, handler);
+ }
+
+ @Override
+ public void postHandle(HttpServletRequest request, HttpServletResponse response, Object handler, ModelAndView modelAndView) throws Exception {
+ HandlerInterceptor.super.postHandle(request, response, handler, modelAndView);
+ }
+
+ @Override
+ public void afterCompletion(HttpServletRequest request, HttpServletResponse response, Object handler, Exception ex) throws Exception {
+ HandlerInterceptor.super.afterCompletion(request, response, handler, ex);
+ }
+}
diff --git a/framework/src/main/java/com/yuanchu/mom/exception/ErrorException.java b/framework/src/main/java/com/yuanchu/mom/exception/ErrorException.java
new file mode 100644
index 0000000..5317716
--- /dev/null
+++ b/framework/src/main/java/com/yuanchu/mom/exception/ErrorException.java
@@ -0,0 +1,9 @@
+package com.yuanchu.mom.exception;
+
+public class ErrorException extends RuntimeException{
+
+ public ErrorException(String msg){
+ super(msg);
+ }
+
+}
diff --git a/framework/src/main/java/com/yuanchu/mom/handler/GlobalExceptionHandler.java b/framework/src/main/java/com/yuanchu/mom/handler/GlobalExceptionHandler.java
index fe92f7e..7d8679b 100644
--- a/framework/src/main/java/com/yuanchu/mom/handler/GlobalExceptionHandler.java
+++ b/framework/src/main/java/com/yuanchu/mom/handler/GlobalExceptionHandler.java
@@ -1,5 +1,6 @@
package com.yuanchu.mom.handler;
+import com.yuanchu.mom.exception.ErrorException;
import com.yuanchu.mom.exception.MyFileException;
import com.yuanchu.mom.vo.Result;
import lombok.extern.slf4j.Slf4j;
@@ -264,6 +265,12 @@
return Result.fail("鎶辨瓑涓嶆敮鎸併��" + e.getMessage() +"銆戝悗缂�鐨勬枃浠讹紒");
}
+ @ExceptionHandler({ErrorException.class})
+ public Result<?> errorException(Exception e) {
+ log.error(e.getMessage());
+ return Result.fail(e.getMessage());
+ }
+
/** 鍏朵粬閿欒 */
/**
* 鍏朵粬閿欒
diff --git a/framework/src/main/java/com/yuanchu/mom/mapper/AuthMapper.java b/framework/src/main/java/com/yuanchu/mom/mapper/AuthMapper.java
new file mode 100644
index 0000000..8a3a9a6
--- /dev/null
+++ b/framework/src/main/java/com/yuanchu/mom/mapper/AuthMapper.java
@@ -0,0 +1,28 @@
+package com.yuanchu.mom.mapper;
+
+import org.apache.ibatis.annotations.Delete;
+import org.apache.ibatis.annotations.Insert;
+import org.apache.ibatis.annotations.Mapper;
+import org.apache.ibatis.annotations.Select;
+import org.springframework.stereotype.Repository;
+
+import java.util.Map;
+
+@Mapper
+@Repository
+public interface AuthMapper {
+
+ @Insert("insert menu value (#{method}, #{remark}, #{type}, now())")
+ int insertPower(String method, String remark, String type);
+
+
+ @Delete("delete from menu")
+ int deletePower();
+
+ @Select("select COALESCE(count(*), 0) from power p left join user u on u.role_id = p.role_id where u.id = #{userId} and p.menu_method = #{method}")
+ int isPower(Integer userId, String method);
+
+ @Select("select look from power p left join user u on u.role_id = p.role_id where u.id = #{userId} and p.menu_method = #{method}")
+ int countPower(Integer userId, String method);
+
+}
diff --git a/framework/src/main/java/com/yuanchu/mom/utils/QueryWrappers.java b/framework/src/main/java/com/yuanchu/mom/utils/QueryWrappers.java
index d61f0ca..b9b34a0 100644
--- a/framework/src/main/java/com/yuanchu/mom/utils/QueryWrappers.java
+++ b/framework/src/main/java/com/yuanchu/mom/utils/QueryWrappers.java
@@ -61,7 +61,7 @@
}
}
}
- System.out.println(wrapper.getExpression().getSqlSegment());
+// System.out.println(wrapper.getExpression().getSqlSegment());
return wrapper;
}
diff --git a/framework/src/main/resources/AuthMapper.xml b/framework/src/main/resources/AuthMapper.xml
new file mode 100644
index 0000000..5973ddb
--- /dev/null
+++ b/framework/src/main/resources/AuthMapper.xml
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8" ?>
+<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
+<mapper namespace="com.yuanchu.mom.mapper.AuthMapper">
+
+</mapper>
\ No newline at end of file
diff --git a/shengyun_2023_12_23_2300.sql b/shengyun_2023_12_23_2300.sql
deleted file mode 100644
index e69de29..0000000
--- a/shengyun_2023_12_23_2300.sql
+++ /dev/null
diff --git a/system-run/src/main/java/com/yuanchu/mom/SystemRunApplication.java b/system-run/src/main/java/com/yuanchu/mom/SystemRunApplication.java
index e38aeea..3e4c5e5 100644
--- a/system-run/src/main/java/com/yuanchu/mom/SystemRunApplication.java
+++ b/system-run/src/main/java/com/yuanchu/mom/SystemRunApplication.java
@@ -1,10 +1,13 @@
package com.yuanchu.mom;
+import com.yuanchu.mom.common.AllController;
import org.mybatis.spring.annotation.MapperScan;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.AutoConfiguration;
import org.springframework.boot.autoconfigure.SpringBootApplication;
+import javax.annotation.Resource;
+
@SpringBootApplication
@MapperScan("com.yuanchu.mom.mapper")// 鎵弿Mybatis涓殑mapper鍖�
public class SystemRunApplication {
diff --git a/system-run/src/main/java/com/yuanchu/mom/backup/MysqlDataBackup.java b/system-run/src/main/java/com/yuanchu/mom/backup/MysqlDataBackup.java
index af60537..aafc809 100644
--- a/system-run/src/main/java/com/yuanchu/mom/backup/MysqlDataBackup.java
+++ b/system-run/src/main/java/com/yuanchu/mom/backup/MysqlDataBackup.java
@@ -149,7 +149,7 @@
* 姣忓ぉ鏅氫笂23鐐�0鍒�10绉掓墽琛� 銆� 0 0 4 1/1 * ? 銆�
* 娴嬭瘯 20 绉掍竴娆°�� 0/20 * * * * ? 銆�
*/
- @Scheduled(cron = "6 0 23 * * ?")
+// @Scheduled(cron = "6 0 23 * * ?")
private void TimerDeleteFile(){
Date date = new Date();
SimpleDateFormat sdf = new SimpleDateFormat("d");
diff --git a/user-server/src/main/java/com/yuanchu/mom/controller/EnumController.java b/user-server/src/main/java/com/yuanchu/mom/controller/EnumController.java
index 1634464..c6e21c4 100644
--- a/user-server/src/main/java/com/yuanchu/mom/controller/EnumController.java
+++ b/user-server/src/main/java/com/yuanchu/mom/controller/EnumController.java
@@ -44,13 +44,13 @@
@ApiOperation(value = "鍒犻櫎瀹㈡埛鍒楄〃")
@PostMapping("/delCustomEnum")
- public Result delRole(Integer id){
+ public Result delCustomEnum(Integer id){
return Result.success(customEnumService.delCustomEnum(id));
}
@ApiOperation(value = "淇敼瀹㈡埛淇℃伅")
@PostMapping("/updateCustomEnum")
- public Result<?> updateUser(@RequestBody CustomEnum customEnum) {
+ public Result<?> updateCustomEnum(@RequestBody CustomEnum customEnum) {
return Result.success(customEnumService.updateCustomEnum(customEnum));
}
diff --git a/user-server/src/main/java/com/yuanchu/mom/controller/RoleController.java b/user-server/src/main/java/com/yuanchu/mom/controller/RoleController.java
index 4142e36..b6233db 100644
--- a/user-server/src/main/java/com/yuanchu/mom/controller/RoleController.java
+++ b/user-server/src/main/java/com/yuanchu/mom/controller/RoleController.java
@@ -1,10 +1,18 @@
package com.yuanchu.mom.controller;
+import com.alibaba.fastjson.JSON;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.yuanchu.mom.annotation.ValueAuth;
+import com.yuanchu.mom.common.GetLook;
+import com.yuanchu.mom.dto.RolePowerDto;
import com.yuanchu.mom.dto.UserPageDto;
+import com.yuanchu.mom.mapper.AuthMapper;
+import com.yuanchu.mom.mapper.PowerMapper;
import com.yuanchu.mom.pojo.CustomEnum;
+import com.yuanchu.mom.pojo.Power;
import com.yuanchu.mom.pojo.Role;
import com.yuanchu.mom.pojo.User;
+import com.yuanchu.mom.service.PowerService;
import com.yuanchu.mom.service.RoleService;
import com.yuanchu.mom.service.UserService;
import com.yuanchu.mom.utils.JackSonUtil;
@@ -14,10 +22,12 @@
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import lombok.AllArgsConstructor;
+import org.apache.ibatis.annotations.ResultType;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;
import java.util.HashMap;
+import java.util.List;
import java.util.Map;
@RequestMapping("/role")
@@ -28,16 +38,18 @@
private RoleService roleService;
+ private PowerService powerService;
+
@ApiOperation(value = "鑾峰彇瑙掕壊鍒楄〃鏋氫妇")
@GetMapping("/selectRoleList")
- public Result selectUserList(){
+ public Result selectRoleList(){
return Result.success(roleService.selectList());
}
@ApiOperation(value = "鑾峰彇瑙掕壊鍒楄〃")
@PostMapping("/selectRoleLists")
- public Result selectRoleList(@RequestBody Map<String, Object> data) throws Exception {
+ public Result selectRoleLists(@RequestBody Map<String, Object> data) throws Exception {
Page page = JackSonUtil.unmarshal(JackSonUtil.marshal(data.get("page")), Page.class);
Role role = JackSonUtil.unmarshal(JackSonUtil.marshal(data.get("entity")), Role.class);
return Result.success(roleService.selectUserList(page, role));
@@ -49,9 +61,30 @@
return Result.success(roleService.delRole(id));
}
- @ApiOperation(value = "娣诲姞瑙掕壊淇℃伅")
+ @ApiOperation(value = "閫氳繃瑙掕壊id鏌ヨ鏉冮檺鍒楄〃")
+ @PostMapping("/selectPowerByRoleId")
+ public Result<?> selectPowerByRoleId(Integer id) {
+ return Result.success(powerService.selectPowerByRoleId(id));
+ }
+
+ @ApiOperation(value = "鑾峰彇鑿滃崟")
+ @GetMapping("/selectMenuList")
+ @ValueAuth
+ public Result<?> selectMenuList() {
+ return Result.success(roleService.selectMenuList());
+ }
+
+ @ApiOperation(value = "娣诲姞瑙掕壊")
@PostMapping("/addRole")
- public Result<?> addRole(@RequestBody Role role) {
- return Result.success(roleService.addRole(role));
+ public Result<?> addRole(String str) {
+ RolePowerDto powers = JSON.parseObject(str, RolePowerDto.class);
+ return Result.success(roleService.addRole(powers));
+ }
+
+ @ApiOperation(value = "淇敼瑙掕壊淇℃伅")
+ @PostMapping("/upRole")
+ public Result<?> upRole(String str) {
+ RolePowerDto powers = JSON.parseObject(str, RolePowerDto.class);
+ return Result.success(roleService.upRole(powers));
}
}
diff --git a/user-server/src/main/java/com/yuanchu/mom/controller/UserController.java b/user-server/src/main/java/com/yuanchu/mom/controller/UserController.java
index c9a93bc..450cfe9 100644
--- a/user-server/src/main/java/com/yuanchu/mom/controller/UserController.java
+++ b/user-server/src/main/java/com/yuanchu/mom/controller/UserController.java
@@ -4,9 +4,11 @@
import cn.hutool.json.JSONObject;
import cn.hutool.json.JSONUtil;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.yuanchu.mom.annotation.ValueAuth;
import com.yuanchu.mom.common.PrintChina;
import com.yuanchu.mom.dto.UserPageDto;
import com.yuanchu.mom.pojo.User;
+import com.yuanchu.mom.service.PowerService;
import com.yuanchu.mom.service.UserService;
import com.yuanchu.mom.utils.JackSonUtil;
import com.yuanchu.mom.utils.Jwt;
@@ -15,6 +17,7 @@
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiModelProperty;
import io.swagger.annotations.ApiOperation;
+import lombok.AllArgsConstructor;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.util.DigestUtils;
import org.springframework.validation.annotation.Validated;
@@ -26,16 +29,18 @@
@RequestMapping("/user")
@RestController
@Api(tags = "鐢ㄦ埛妯″潡")
+@AllArgsConstructor
public class UserController {
- @Autowired
- UserService userService;
+ private UserService userService;
- @Autowired
+ private PowerService powerService;
+
private Jwt jwt;
@ApiOperation(value = "鐧诲綍")
@PostMapping("/enter")
+ @ValueAuth
public Result login(String account, String password) {
User user = userService.selectUserByPwd(account, password);
if (user == null) return Result.fail("鐧诲綍澶辫触");
@@ -43,15 +48,17 @@
String jwtReToken = jwt.createJwt(user.getName(), user.getId(), 24 * 60);
RedisUtil.set("" + user.getId(), jwtToken, 60);
RedisUtil.set(user.getId() + "Re", jwtReToken, 24 * 60);
- Map<String, String> map = new HashMap<>();
+ Map<String, Object> map = new HashMap<>();
map.put("token", jwtToken);
map.put("reToken", jwtReToken);
map.put("name", user.getName());
+ map.put("power", powerService.selectPowerByRoleId(user.getRoleId()));
return Result.success("鐧诲綍鎴愬姛", map);
}
@ApiOperation(value = "token鍒锋柊")
@PostMapping("/refresh")
+ @ValueAuth
public Result refresh(String reToken) throws Exception {
Map<String, String> map = new Jwt().readJWT(reToken);
Map<String, String> maps = JackSonUtil.unmarshal(map.get("data"), Map.class);
diff --git a/user-server/src/main/java/com/yuanchu/mom/dto/RolePowerDto.java b/user-server/src/main/java/com/yuanchu/mom/dto/RolePowerDto.java
new file mode 100644
index 0000000..b8ef27e
--- /dev/null
+++ b/user-server/src/main/java/com/yuanchu/mom/dto/RolePowerDto.java
@@ -0,0 +1,22 @@
+package com.yuanchu.mom.dto;
+
+import com.yuanchu.mom.pojo.Power;
+import lombok.AllArgsConstructor;
+import lombok.Data;
+import lombok.NoArgsConstructor;
+
+import java.io.Serializable;
+import java.util.List;
+
+@Data
+@AllArgsConstructor
+@NoArgsConstructor
+public class RolePowerDto implements Serializable {
+
+ private Integer roleId2;
+
+ private String roleName;
+
+ private List<Power> powers;
+
+}
diff --git a/user-server/src/main/java/com/yuanchu/mom/mapper/RoleMapper.java b/user-server/src/main/java/com/yuanchu/mom/mapper/RoleMapper.java
index 86307a5..7c405a0 100644
--- a/user-server/src/main/java/com/yuanchu/mom/mapper/RoleMapper.java
+++ b/user-server/src/main/java/com/yuanchu/mom/mapper/RoleMapper.java
@@ -1,12 +1,20 @@
package com.yuanchu.mom.mapper;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.yuanchu.mom.pojo.Menu;
+import com.yuanchu.mom.pojo.Power;
import com.yuanchu.mom.pojo.Role;
import org.apache.ibatis.annotations.Mapper;
import org.springframework.stereotype.Repository;
+import java.util.List;
+
@Mapper
@Repository
public interface RoleMapper extends BaseMapper<Role> {
+ List<Menu> selectMenuList();
+
+ int addPower(Power power);
+
}
diff --git a/user-server/src/main/java/com/yuanchu/mom/service/RoleService.java b/user-server/src/main/java/com/yuanchu/mom/service/RoleService.java
index 41e8a3b..bd39cc0 100644
--- a/user-server/src/main/java/com/yuanchu/mom/service/RoleService.java
+++ b/user-server/src/main/java/com/yuanchu/mom/service/RoleService.java
@@ -1,7 +1,9 @@
package com.yuanchu.mom.service;
import com.baomidou.mybatisplus.core.metadata.IPage;
+import com.yuanchu.mom.dto.RolePowerDto;
import com.yuanchu.mom.dto.UserPageDto;
+import com.yuanchu.mom.pojo.Menu;
import com.yuanchu.mom.pojo.Role;
import com.yuanchu.mom.pojo.User;
@@ -16,6 +18,10 @@
int delRole(Integer id);
- int addRole(Role role);
+ int addRole(RolePowerDto rolePowerDto);
+
+ List<Menu> selectMenuList();
+
+ int upRole(RolePowerDto rolePowerDto);
}
diff --git a/user-server/src/main/java/com/yuanchu/mom/service/imp/CustomEnumServiceImp.java b/user-server/src/main/java/com/yuanchu/mom/service/imp/CustomEnumServiceImp.java
index eb01451..6419394 100644
--- a/user-server/src/main/java/com/yuanchu/mom/service/imp/CustomEnumServiceImp.java
+++ b/user-server/src/main/java/com/yuanchu/mom/service/imp/CustomEnumServiceImp.java
@@ -1,6 +1,7 @@
package com.yuanchu.mom.service.imp;
import com.baomidou.mybatisplus.core.metadata.IPage;
+import com.yuanchu.mom.common.GetLook;
import com.yuanchu.mom.common.PrintChina;
import com.yuanchu.mom.mapper.CustomEnumMapper;
import com.yuanchu.mom.pojo.CustomEnum;
@@ -20,10 +21,14 @@
private CustomEnumMapper customEnumMapper;
+ private GetLook getLook;
+
@Override
public Map<String, Object> selectCustomEnumList(IPage<CustomEnum> page, CustomEnum customEnum) {
Map<String, Object> map = new HashMap<>();
map.put("head", PrintChina.printChina(CustomEnum.class));
+ Map<String, Integer> map1 = getLook.selectPowerByMethodAndUserId("selectDataReportingList");
+ if(map1.get("look")==1) customEnum.setCreateUser(map1.get("userId"));
map.put("body", customEnumMapper.selectPage(page, QueryWrappers.queryWrappers(customEnum)));
return map;
}
diff --git a/user-server/src/main/java/com/yuanchu/mom/service/imp/ProductEnumServiceImpl.java b/user-server/src/main/java/com/yuanchu/mom/service/imp/ProductEnumServiceImpl.java
index fb9bfa4..363746a 100644
--- a/user-server/src/main/java/com/yuanchu/mom/service/imp/ProductEnumServiceImpl.java
+++ b/user-server/src/main/java/com/yuanchu/mom/service/imp/ProductEnumServiceImpl.java
@@ -2,6 +2,7 @@
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.yuanchu.mom.common.GetLook;
import com.yuanchu.mom.common.PrintChina;
import com.yuanchu.mom.mapper.ProductEnumMapper;
import com.yuanchu.mom.pojo.ProductEnum;
@@ -28,10 +29,14 @@
private ProductEnumMapper productEnumMapper;
+ private GetLook getLook;
+
@Override
public Map<String, Object> selectProductEnumList(IPage<ProductEnum> page, ProductEnum productEnum) {
Map<String, Object> map = new HashMap<>();
map.put("head", PrintChina.printChina(ProductEnum.class));
+ Map<String, Integer> map1 = getLook.selectPowerByMethodAndUserId("selectDataReportingList");
+ if(map1.get("look")==1) productEnum.setCreateUser(map1.get("userId"));
map.put("body", productEnumMapper.selectPage(page, QueryWrappers.queryWrappers(productEnum)));
return map;
}
diff --git a/user-server/src/main/java/com/yuanchu/mom/service/imp/RoleServiceImp.java b/user-server/src/main/java/com/yuanchu/mom/service/imp/RoleServiceImp.java
index 307ae3e..1017636 100644
--- a/user-server/src/main/java/com/yuanchu/mom/service/imp/RoleServiceImp.java
+++ b/user-server/src/main/java/com/yuanchu/mom/service/imp/RoleServiceImp.java
@@ -2,10 +2,16 @@
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
+import com.baomidou.mybatisplus.core.toolkit.Wrappers;
+import com.yuanchu.mom.common.GetLook;
import com.yuanchu.mom.common.PrintChina;
+import com.yuanchu.mom.dto.RolePowerDto;
import com.yuanchu.mom.dto.UserPageDto;
+import com.yuanchu.mom.mapper.PowerMapper;
import com.yuanchu.mom.mapper.RoleMapper;
import com.yuanchu.mom.mapper.UserMapper;
+import com.yuanchu.mom.pojo.Menu;
+import com.yuanchu.mom.pojo.Power;
import com.yuanchu.mom.pojo.Role;
import com.yuanchu.mom.pojo.User;
import com.yuanchu.mom.service.RoleService;
@@ -14,6 +20,7 @@
import com.yuanchu.mom.utils.QueryWrappers;
import lombok.AllArgsConstructor;
import org.springframework.stereotype.Service;
+import org.springframework.transaction.annotation.Transactional;
import org.springframework.util.DigestUtils;
import java.util.HashMap;
@@ -26,6 +33,10 @@
private RoleMapper roleMapper;
+ private PowerMapper powerMapper;
+
+ private GetLook getLook;
+
@Override
public List<Role> selectList() {
return roleMapper.selectList(null);
@@ -35,6 +46,8 @@
public Map<String, Object> selectUserList(IPage<Role> page, Role role) {
Map<String, Object> map = new HashMap<>();
map.put("head", PrintChina.printChina(Role.class));
+ Map<String, Integer> map1 = getLook.selectPowerByMethodAndUserId("selectDataReportingList");
+ if(map1.get("look")==1) role.setCreateUser(map1.get("userId"));
map.put("body", roleMapper.selectPage(page, QueryWrappers.queryWrappers(role)));
return map;
}
@@ -45,7 +58,39 @@
}
@Override
- public int addRole(Role role) {
- return roleMapper.insert(role);
+ @Transactional(rollbackFor = Exception.class)
+ public int addRole(RolePowerDto rolePowerDto) {
+ Role role = new Role();
+ role.setName(rolePowerDto.getRoleName());
+ int insert = roleMapper.insert(role);
+ if (insert == 1){
+ rolePowerDto.getPowers().forEach(a->{
+ a.setRoleId(role.getId());
+ powerMapper.insert(a);
+ });
+ }
+ return 1;
+ }
+
+ @Override
+ public List<Menu> selectMenuList() {
+ return roleMapper.selectMenuList();
+ }
+
+ @Override
+ @Transactional(rollbackFor = Exception.class)
+ public int upRole(RolePowerDto rolePowerDto) {
+ Role role = new Role();
+ role.setName(rolePowerDto.getRoleName());
+ role.setId(rolePowerDto.getRoleId2());
+ int up = roleMapper.updateById(role);
+ if (up == 1){
+ powerMapper.delete(Wrappers.<Power>lambdaUpdate().eq(Power::getRoleId, role.getId()));
+ rolePowerDto.getPowers().forEach(a->{
+ a.setRoleId(role.getId());
+ powerMapper.insert(a);
+ });
+ }
+ return 1;
}
}
diff --git a/user-server/src/main/java/com/yuanchu/mom/service/imp/UserServiceImp.java b/user-server/src/main/java/com/yuanchu/mom/service/imp/UserServiceImp.java
index 1ef4784..648cad0 100644
--- a/user-server/src/main/java/com/yuanchu/mom/service/imp/UserServiceImp.java
+++ b/user-server/src/main/java/com/yuanchu/mom/service/imp/UserServiceImp.java
@@ -7,6 +7,7 @@
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.yuanchu.mom.common.GetLook;
import com.yuanchu.mom.common.PrintChina;
import com.yuanchu.mom.dto.UserPageDto;
import com.yuanchu.mom.mapper.UserMapper;
@@ -33,6 +34,8 @@
Jwt jwt;
+ private GetLook getLook;
+
@Override
public User selectUserByPwd(String account, String password) {
QueryWrapper<User> wrapper = new QueryWrapper<>();
@@ -52,6 +55,8 @@
public Map<String, Object> selectUserList(IPage<UserPageDto> page, UserPageDto user) {
Map<String, Object> map = new HashMap<>();
map.put("head", PrintChina.printChina(UserPageDto.class));
+ Map<String, Integer> map1 = getLook.selectPowerByMethodAndUserId("selectDataReportingList");
+ if(map1.get("look")==1) user.setCreateUser(map1.get("userId"));
map.put("body", userMapper.selectUserDtoPageList(page, QueryWrappers.queryWrappers(user)));
return map;
}
diff --git a/user-server/src/main/resources/mapper/RoleMapper.xml b/user-server/src/main/resources/mapper/RoleMapper.xml
index 82c0ab5..e5b1926 100644
--- a/user-server/src/main/resources/mapper/RoleMapper.xml
+++ b/user-server/src/main/resources/mapper/RoleMapper.xml
@@ -1,5 +1,10 @@
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.yuanchu.mom.mapper.RoleMapper">
+ <insert id="addPower">
+ </insert>
+ <select id="selectMenuList" resultType="com.yuanchu.mom.pojo.Menu">
+ select method,remark,type from menu
+ </select>
</mapper>
\ No newline at end of file
diff --git a/user-server/src/main/resources/mapper/UserMapper.xml b/user-server/src/main/resources/mapper/UserMapper.xml
index 8dc3b9d..b51610f 100644
--- a/user-server/src/main/resources/mapper/UserMapper.xml
+++ b/user-server/src/main/resources/mapper/UserMapper.xml
@@ -1,7 +1,6 @@
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.yuanchu.mom.mapper.UserMapper">
-
<select id="selectUserDtoPageList" resultType="com.yuanchu.mom.dto.UserPageDto">
select * from (
select u1.id, u1.account, u1.name, u1.state, u1.create_time, u1.update_time, u1.create_user, u1.update_user, u1.age, u1.email, u1.phone, u1.department, u1.company, u1.role_id, u2.name create_user_name, u3.name update_user_name, r.name role_name
--
Gitblit v1.9.3