|
@@ -17,6 +17,7 @@ import com.management.platform.util.*;
|
|
|
import com.qq.weixin.mp.aes.AesException;
|
|
|
import com.qq.weixin.mp.aes.WXBizMsgCrypt;
|
|
|
import lombok.extern.slf4j.Slf4j;
|
|
|
+import org.apache.ibatis.annotations.Select;
|
|
|
import org.json.XML;
|
|
|
import org.springframework.beans.BeanUtils;
|
|
|
import org.springframework.beans.factory.annotation.Autowired;
|
|
@@ -36,6 +37,7 @@ import java.time.*;
|
|
|
import java.time.format.DateTimeFormatter;
|
|
|
import java.util.*;
|
|
|
import java.util.stream.Collectors;
|
|
|
+import java.util.stream.Stream;
|
|
|
|
|
|
@RestController
|
|
|
@RequestMapping("/wxcorp")
|
|
@@ -1489,6 +1491,8 @@ public class WeiXinCorpController {
|
|
|
newCompany.setStaffCountMax(wxOrder.getUserCount());
|
|
|
companyMapper.updateById(newCompany);
|
|
|
System.out.println("版本变更成功,到期时间更新成功。");
|
|
|
+ //开通模块和权限
|
|
|
+ rootRole(company.getId());
|
|
|
}else {
|
|
|
System.out.println("未查询到该新建公司有支付订单");
|
|
|
}
|
|
@@ -3263,6 +3267,8 @@ public class WeiXinCorpController {
|
|
|
}
|
|
|
companyMapper.updateById(newCompany);
|
|
|
System.out.println("已成功变更版本,版本号为:"+edition_id);
|
|
|
+ //开通模块和权限
|
|
|
+ rootRole(wxCorpInfo.getCompanyId());
|
|
|
}else {
|
|
|
System.out.println("++++++++++++++++++++++"+"版本变更失败!"+"++++++++++++++++++++++++");
|
|
|
}
|
|
@@ -3282,4 +3288,73 @@ public class WeiXinCorpController {
|
|
|
}
|
|
|
return view;
|
|
|
}
|
|
|
+
|
|
|
+ //为超级管理员角色赋予模块权限
|
|
|
+ private void rootRole (Integer companyId){
|
|
|
+ System.err.println("##############################为超级管理员开通模块及权限");
|
|
|
+ Company company = companyMapper.selectById(companyId);
|
|
|
+ SysRole sysRole = sysRoleMapper.selectOne(new QueryWrapper<SysRole>().eq("company_id", companyId).eq("rolename", "超级管理员"));
|
|
|
+ QueryWrapper<SysModule> sysModuleQueryWrapper = new QueryWrapper<>();
|
|
|
+ //项目协作平台
|
|
|
+ if (company.getPackageProject().equals(1)){
|
|
|
+ sysModuleQueryWrapper.or().eq("package_project", 1);
|
|
|
+ }
|
|
|
+ //OA平台;请假,出差等
|
|
|
+ if (company.getPackageOa().equals(1)){
|
|
|
+ sysModuleQueryWrapper.or().eq("package_oa", 1);
|
|
|
+ }
|
|
|
+ //费用报销
|
|
|
+ if (company.getPackageExpense().equals(1)){
|
|
|
+ sysModuleQueryWrapper.or().eq("package_expense", 1);
|
|
|
+ }
|
|
|
+ //客户管理
|
|
|
+ if (company.getPackageCustomer().equals(1)){
|
|
|
+ sysModuleQueryWrapper.or().eq("package_customer", 1);
|
|
|
+ }
|
|
|
+ //工程专业
|
|
|
+ if (company.getPackageEngineering().equals(1)){
|
|
|
+ sysModuleQueryWrapper.or().eq("package_engineering", 1);
|
|
|
+ }
|
|
|
+ //供应商模块
|
|
|
+ if (company.getPackageProvider().equals(1)){
|
|
|
+ sysModuleQueryWrapper.or().eq("package_provider", 1);
|
|
|
+ }
|
|
|
+ List<SysModule> sysModules = sysModuleMapper.selectList(sysModuleQueryWrapper);
|
|
|
+ //过滤掉已开通的模块
|
|
|
+ List<SysRoleModule> modular = sysRoleModuleMapper.selectList(new QueryWrapper<SysRoleModule>().eq("role_id", sysRole.getId()));
|
|
|
+ List<Integer> modularCollect = modular.stream().map((m) -> m.getModuleId()).distinct().collect(Collectors.toList());
|
|
|
+ List<SysModule> collect = sysModules.stream().filter((s) -> {
|
|
|
+ Boolean flag = true;
|
|
|
+ for (Integer integer : modularCollect) {
|
|
|
+ if (s.getId().equals(integer)){
|
|
|
+ flag = false;
|
|
|
+ }
|
|
|
+ }
|
|
|
+ return flag;
|
|
|
+ }).collect(Collectors.toList());
|
|
|
+ //进行模块权限添加
|
|
|
+ ArrayList<SysRoleModule> sysRoleModules = new ArrayList<>();
|
|
|
+ for (SysModule sysModule : collect) {
|
|
|
+ SysRoleModule sysRoleModule = new SysRoleModule();
|
|
|
+ sysRoleModule.setRoleId(sysRole.getId());
|
|
|
+ sysRoleModule.setModuleId(sysModule.getId());
|
|
|
+ sysRoleModules.add(sysRoleModule);
|
|
|
+ }
|
|
|
+ sysRoleModuleService.saveBatch(sysRoleModules);
|
|
|
+ System.out.println("########################################");
|
|
|
+ System.err.println(company.getCompanyName() + "已开通模块;" + sysRoleModules.toString());
|
|
|
+ List<Integer> sysModulesId = collect.stream().map((s) -> s.getId()).collect(Collectors.toList());
|
|
|
+ List<SysFunction> sysFunctions = sysFunctionMapper.selectList(new QueryWrapper<SysFunction>().in("module_id", sysModulesId));
|
|
|
+ ArrayList<SysRoleFunction> sysRoleFunctions = new ArrayList<>();
|
|
|
+ for (SysFunction sysFunction : sysFunctions) {
|
|
|
+ SysRoleFunction sysRoleFunction = new SysRoleFunction();
|
|
|
+ sysRoleFunction.setRoleId(sysRole.getId());
|
|
|
+ sysRoleFunction.setFunctionId(sysFunction.getId());
|
|
|
+ sysRoleFunctions.add(sysRoleFunction);
|
|
|
+ }
|
|
|
+ sysRoleFunctionService.saveBatch(sysRoleFunctions);
|
|
|
+ System.out.println("########################################");
|
|
|
+ System.err.println(company.getCompanyName() + "已开通权限;" + sysRoleModules.toString());
|
|
|
+ }
|
|
|
+
|
|
|
}
|