diff --git a/sgzb-api/sgzb-api-system/src/main/java/com/bonus/sgzb/system/api/domain/SysDept.java b/sgzb-api/sgzb-api-system/src/main/java/com/bonus/sgzb/system/api/domain/SysDept.java
index 41f98566..db3508a2 100644
--- a/sgzb-api/sgzb-api-system/src/main/java/com/bonus/sgzb/system/api/domain/SysDept.java
+++ b/sgzb-api/sgzb-api-system/src/main/java/com/bonus/sgzb/system/api/domain/SysDept.java
@@ -72,6 +72,27 @@ public class SysDept extends BaseEntity
/** 备注信息 */
private String remark;
+ /** 所属组织id */
+ private Long companyId;
+
+ @Override
+ public String getRemark() {
+ return remark;
+ }
+
+ @Override
+ public void setRemark(String remark) {
+ this.remark = remark;
+ }
+
+ public Long getCompanyId() {
+ return companyId;
+ }
+
+ public void setCompanyId(Long companyId) {
+ this.companyId = companyId;
+ }
+
public Long getDeptId()
{
return deptId;
diff --git a/sgzb-api/sgzb-api-system/src/main/java/com/bonus/sgzb/system/api/domain/SysRole.java b/sgzb-api/sgzb-api-system/src/main/java/com/bonus/sgzb/system/api/domain/SysRole.java
index 2638a34c..8a7d1d7d 100644
--- a/sgzb-api/sgzb-api-system/src/main/java/com/bonus/sgzb/system/api/domain/SysRole.java
+++ b/sgzb-api/sgzb-api-system/src/main/java/com/bonus/sgzb/system/api/domain/SysRole.java
@@ -78,6 +78,17 @@ public class SysRole extends BaseEntity
/** 数据所属组织 */
private String deptName;
+ /** 所属组织id */
+ private Long companyId;
+
+ public Long getCompanyId() {
+ return companyId;
+ }
+
+ public void setCompanyId(Long companyId) {
+ this.companyId = companyId;
+ }
+
public SysRole()
{
@@ -259,6 +270,7 @@ public class SysRole extends BaseEntity
.append("updateTime", getUpdateTime())
.append("remark", getRemark())
.append("deptName", getDeptName())
+ .append("companyId", getCompanyId())
.toString();
}
}
diff --git a/sgzb-modules/pom.xml b/sgzb-modules/pom.xml
index 3d9d85cc..5fe08680 100644
--- a/sgzb-modules/pom.xml
+++ b/sgzb-modules/pom.xml
@@ -24,10 +24,4 @@
sgzb-modules业务模块
-
-
- com.bonus.sgzb
- sgzb-api-system
-
-
diff --git a/sgzb-modules/sgzb-system/pom.xml b/sgzb-modules/sgzb-system/pom.xml
index a71282f0..2153e59e 100644
--- a/sgzb-modules/sgzb-system/pom.xml
+++ b/sgzb-modules/sgzb-system/pom.xml
@@ -110,6 +110,12 @@
tencentcloud-sdk-java
3.1.423
+
+
+ com.qcloud
+ cos_api
+ 5.6.54
+
diff --git a/sgzb-modules/sgzb-system/src/main/java/com/bonus/sgzb/system/config/ConstantPropertiesUtil.java b/sgzb-modules/sgzb-system/src/main/java/com/bonus/sgzb/system/config/ConstantPropertiesUtil.java
new file mode 100644
index 00000000..440da4bc
--- /dev/null
+++ b/sgzb-modules/sgzb-system/src/main/java/com/bonus/sgzb/system/config/ConstantPropertiesUtil.java
@@ -0,0 +1,41 @@
+package com.bonus.sgzb.system.config;
+
+import org.springframework.beans.factory.InitializingBean;
+import org.springframework.beans.factory.annotation.Value;
+import org.springframework.stereotype.Component;
+
+/**
+ * Description: 腾讯云cos配置
+ *
+ * @Author 阮世耀
+ * @Create 2023/12/3 16:26
+ * @Version 1.0
+ */
+@Component
+public class ConstantPropertiesUtil implements InitializingBean {
+
+ @Value("${tencent.cos.file.region}")
+ private String region;
+
+ @Value("${tencent.cos.file.secretid}")
+ private String secretId;
+
+ @Value("${tencent.cos.file.secretkey}")
+ private String secretKey;
+
+ @Value("${tencent.cos.file.bucketname}")
+ private String bucketName;
+
+ public static String END_POINT;
+ public static String ACCESS_KEY_ID;
+ public static String ACCESS_KEY_SECRET;
+ public static String BUCKET_NAME;
+
+ @Override
+ public void afterPropertiesSet() throws Exception {
+ END_POINT = region;
+ ACCESS_KEY_ID = secretId;
+ ACCESS_KEY_SECRET = secretKey;
+ BUCKET_NAME = bucketName;
+ }
+}
diff --git a/sgzb-modules/sgzb-system/src/main/java/com/bonus/sgzb/system/controller/SysUserController.java b/sgzb-modules/sgzb-system/src/main/java/com/bonus/sgzb/system/controller/SysUserController.java
index 1b20090a..663d19e5 100644
--- a/sgzb-modules/sgzb-system/src/main/java/com/bonus/sgzb/system/controller/SysUserController.java
+++ b/sgzb-modules/sgzb-system/src/main/java/com/bonus/sgzb/system/controller/SysUserController.java
@@ -48,25 +48,25 @@ import java.util.stream.Collectors;
@RequestMapping("/user")
@Slf4j
public class SysUserController extends BaseController {
- @Autowired
+ @Resource
private ISysUserService userService;
- @Autowired
+ @Resource
private ISysRoleService roleService;
- @Autowired
+ @Resource
private ISysDeptService deptService;
- @Autowired
+ @Resource
private ISysPostService postService;
- @Autowired
+ @Resource
private ISysSmsService smsService;
- @Autowired
+ @Resource
private ISysPermissionService permissionService;
- @Autowired
+ @Resource
private ISysConfigService configService;
@Resource
@@ -220,6 +220,7 @@ public class SysUserController extends BaseController {
}
user.setCreateBy(SecurityUtils.getLoginUser().getSysUser().getUserName());
user.setPassword(SecurityUtils.encryptPassword(user.getPassword()));
+
return toAjax(userService.insertUser(user));
}
diff --git a/sgzb-modules/sgzb-system/src/main/java/com/bonus/sgzb/system/service/impl/SysDeptServiceImpl.java b/sgzb-modules/sgzb-system/src/main/java/com/bonus/sgzb/system/service/impl/SysDeptServiceImpl.java
index e45ff563..c2c1005d 100644
--- a/sgzb-modules/sgzb-system/src/main/java/com/bonus/sgzb/system/service/impl/SysDeptServiceImpl.java
+++ b/sgzb-modules/sgzb-system/src/main/java/com/bonus/sgzb/system/service/impl/SysDeptServiceImpl.java
@@ -17,6 +17,7 @@ import com.bonus.sgzb.system.service.ISysDeptService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
+import javax.annotation.Resource;
import java.util.ArrayList;
import java.util.Iterator;
import java.util.List;
@@ -29,10 +30,10 @@ import java.util.stream.Collectors;
*/
@Service
public class SysDeptServiceImpl implements ISysDeptService {
- @Autowired
+ @Resource
private SysDeptMapper deptMapper;
- @Autowired
+ @Resource
private SysRoleMapper roleMapper;
/**
diff --git a/sgzb-modules/sgzb-system/src/main/java/com/bonus/sgzb/system/service/impl/SysFileServiceImpl.java b/sgzb-modules/sgzb-system/src/main/java/com/bonus/sgzb/system/service/impl/SysFileServiceImpl.java
index d13b322d..3b60e105 100644
--- a/sgzb-modules/sgzb-system/src/main/java/com/bonus/sgzb/system/service/impl/SysFileServiceImpl.java
+++ b/sgzb-modules/sgzb-system/src/main/java/com/bonus/sgzb/system/service/impl/SysFileServiceImpl.java
@@ -3,17 +3,28 @@ package com.bonus.sgzb.system.service.impl;
import cn.hutool.core.util.IdUtil;
import com.bonus.sgzb.common.core.utils.DateTimeHelper;
import com.bonus.sgzb.common.core.utils.GlobalConstants;
-import com.bonus.sgzb.common.core.web.domain.AjaxResult;
+import com.bonus.sgzb.common.core.utils.uuid.IdUtils;
import com.bonus.sgzb.common.security.utils.SecurityUtils;
+import com.bonus.sgzb.system.config.ConstantPropertiesUtil;
import com.bonus.sgzb.system.domain.FileInfo;
import com.bonus.sgzb.system.mapper.FileInfoMapper;
import com.bonus.sgzb.system.service.SysFileService;
import com.bonus.sgzb.system.service.feign.FileClient;
+import com.qcloud.cos.COSClient;
+import com.qcloud.cos.ClientConfig;
+import com.qcloud.cos.auth.BasicCOSCredentials;
+import com.qcloud.cos.auth.COSCredentials;
+import com.qcloud.cos.http.HttpProtocol;
+import com.qcloud.cos.model.ObjectMetadata;
+import com.qcloud.cos.model.PutObjectRequest;
+import com.qcloud.cos.model.PutObjectResult;
+import com.qcloud.cos.region.Region;
import lombok.extern.slf4j.Slf4j;
import org.apache.poi.hwpf.extractor.WordExtractor;
import org.apache.poi.openxml4j.util.ZipSecureFile;
import org.apache.poi.xwpf.extractor.XWPFWordExtractor;
import org.apache.poi.xwpf.usermodel.XWPFDocument;
+import org.joda.time.DateTime;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.context.annotation.Primary;
import org.springframework.stereotype.Service;
@@ -63,9 +74,10 @@ public class SysFileServiceImpl implements SysFileService {
List items = (List) map.get("filePath");
MultipartFile item = items.get(0);
try {
- String url = saveFile(request, item, photoType);
- //AjaxResult res = fileClient.uploadFile(item);
- //String url = (String) res.get("msg");
+ //String url = saveFile(request, item, photoType);
+ /*AjaxResult res = fileClient.uploadFile(item);
+ String url = (String) res.get("msg");*/
+ String url = this.uploadFile(item);
if (url != null) {
int words = getFileText(item);
String fileName = item.getOriginalFilename();
@@ -87,6 +99,52 @@ public class SysFileServiceImpl implements SysFileService {
return file;
}
+ /**
+ * 腾讯云文件上传
+ * @param file
+ * @return
+ */
+ public String uploadFile(MultipartFile file) {
+ // 1 初始化用户身份信息(secretId, secretKey)。
+ String secretId = ConstantPropertiesUtil.ACCESS_KEY_ID;
+ String secretKey = ConstantPropertiesUtil.ACCESS_KEY_SECRET;
+ COSCredentials cred = new BasicCOSCredentials(secretId, secretKey);
+ // 2 设置 bucket 的地域, COS 地域的简称请参照 https://cloud.tencent.com/document/product/436/6224
+ Region region = new Region(ConstantPropertiesUtil.END_POINT);
+ ClientConfig clientConfig = new ClientConfig();
+ // 这里建议设置使用 https 协议
+ clientConfig.setHttpProtocol(HttpProtocol.https);
+ clientConfig.setRegion(region);
+ // 3 生成 cos 客户端。
+ COSClient cosClient = new COSClient(cred, clientConfig);
+
+ // 存储桶的命名格式为 BucketName-APPID,此处填写的存储桶名称必须为此格式
+ String bucketName = ConstantPropertiesUtil.BUCKET_NAME;
+ // 对象键(Key)是对象在存储桶中的唯一标识。 998u-09iu-09i-333
+ //在文件名称前面添加uuid值
+ String key = IdUtils.fastSimpleUuid() + file.getOriginalFilename();
+ //对上传文件分组,根据当前日期 /2024/04/02
+ String dateTime = new DateTime().toString("yyyy/MM/dd");
+ key = dateTime+"/"+key;
+ try {
+ //获取上传文件输入流
+ InputStream inputStream = file.getInputStream();
+ ObjectMetadata objectMetadata = new ObjectMetadata();
+ PutObjectRequest putObjectRequest = new PutObjectRequest(
+ bucketName,
+ key,
+ inputStream,
+ objectMetadata);
+ // 高级接口会返回一个异步结果Upload
+ PutObjectResult putObjectResult = cosClient.putObject(putObjectRequest);
+ // 返回上传文件路径:https://ggkt-atguigu-1310644373.cos.ap-beijing.myqcloud.com/01.jpg
+ return "https://" + bucketName + "." + "cos" + "." + ConstantPropertiesUtil.END_POINT+".myqcloud.com" + "/" + key;
+ } catch (Exception e) {
+ e.printStackTrace();
+ }
+ return null;
+ }
+
/**
* 头像上传
*
@@ -98,9 +156,10 @@ public class SysFileServiceImpl implements SysFileService {
FileInfo file = new FileInfo();
Long userId = SecurityUtils.getLoginUser().getUserid();
try {
- String url = saveFilePic(item, fileType);
+ //String url = saveFilePic(item, fileType);
/*AjaxResult res = fileClient.uploadFile(item);
String url = (String) res.get("msg");*/
+ String url = this.uploadFile(item);
if (url != null) {
int words = getFileText(item);
String fileName = item.getOriginalFilename();
@@ -145,7 +204,7 @@ public class SysFileServiceImpl implements SysFileService {
String tmpName = multipartFile.getOriginalFilename();
tmpName = tmpName.substring(tmpName.lastIndexOf("\\") + 1);
tmpName = IdUtil.fastSimpleUUID() + System.currentTimeMillis() + tmpName.substring(tmpName.lastIndexOf("."), tmpName.length());
- String imageFiles = localFilePath + fileType + "/";
+ String imageFiles = localFilePath+ "/" + fileType + "/";
String os = System.getProperty("os.name");
if (os.toLowerCase().startsWith(GlobalConstants.STRING_WIN)) {
imageFiles = "D://files/" + fileType + "/";
diff --git a/sgzb-modules/sgzb-system/src/main/java/com/bonus/sgzb/system/service/impl/SysSmsServiceImpl.java b/sgzb-modules/sgzb-system/src/main/java/com/bonus/sgzb/system/service/impl/SysSmsServiceImpl.java
index afe1cd07..7c0b836c 100644
--- a/sgzb-modules/sgzb-system/src/main/java/com/bonus/sgzb/system/service/impl/SysSmsServiceImpl.java
+++ b/sgzb-modules/sgzb-system/src/main/java/com/bonus/sgzb/system/service/impl/SysSmsServiceImpl.java
@@ -67,14 +67,14 @@ public class SysSmsServiceImpl implements ISysSmsService {
if (phone.length() != UserConstants.PHONE_DEFAULT_LENGTH_LOGIN) {
return AjaxResult.error("手机号格式不正确");
}
- /* try {
+ try {
String[] args = msg.split(",");
String body = sendMessageNew(phone,tencentSmsConfig.getTemplateId().get(0),args);
return success("发送手机号码:" + phone + ",内容:" + msg + ",返回结果:" + body);
} catch (Exception e) {
return AjaxResult.error("发送失败:" + e.getMessage());
- }*/
- return sendMsgByPhone( phone, msg);
+ }
+ // return sendMsgByPhone( phone, msg);
}
/**
@@ -247,7 +247,7 @@ public class SysSmsServiceImpl implements ISysSmsService {
}
}
- return resp.getRequestId();
+ return resp.getRequestId();
} catch (TencentCloudSDKException e) {
e.printStackTrace();
log.error("短信发送失败:{}", e.getMessage());
diff --git a/sgzb-modules/sgzb-system/src/main/java/com/bonus/sgzb/system/service/impl/SysUserServiceImpl.java b/sgzb-modules/sgzb-system/src/main/java/com/bonus/sgzb/system/service/impl/SysUserServiceImpl.java
index 376ae8c0..0457023e 100644
--- a/sgzb-modules/sgzb-system/src/main/java/com/bonus/sgzb/system/service/impl/SysUserServiceImpl.java
+++ b/sgzb-modules/sgzb-system/src/main/java/com/bonus/sgzb/system/service/impl/SysUserServiceImpl.java
@@ -39,28 +39,28 @@ import java.util.stream.Collectors;
public class SysUserServiceImpl implements ISysUserService {
private static final Logger log = LoggerFactory.getLogger(SysUserServiceImpl.class);
- @Autowired
+ @Resource
private SysUserMapper userMapper;
- @Autowired
+ @Resource
private SysRoleMapper roleMapper;
- @Autowired
+ @Resource
private SysPostMapper postMapper;
- @Autowired
+ @Resource
private SysUserRoleMapper userRoleMapper;
- @Autowired
+ @Resource
private SysUserPostMapper userPostMapper;
@Resource
private ISysConfigService configService;
- @Autowired
+ @Resource
protected Validator validator;
- @Autowired
+ @Resource
private SysDeptMapper deptMapper;
/**
@@ -238,10 +238,11 @@ public class SysUserServiceImpl implements ISysUserService {
@Transactional(rollbackFor = Exception.class)
public int insertUser(SysUser user) {
// 暂时使用,需修改
- Long deptId = user.getDeptId();
+ //南网改造,所属组织存公司id------20240516
+ /* Long deptId = user.getDeptId();
SysDept sysDept = deptMapper.selectDeptById(deptId);
String ancestors = sysDept.getAncestors();
- String[] split = ancestors.split(",");
+ String[] split = ancestors.split(",");*/
/* List deptList = deptMapper.selectDeptByAncestors(split);
for (SysDept dept : deptList) {
String ancestors1 = dept.getAncestors();
@@ -252,14 +253,15 @@ public class SysUserServiceImpl implements ISysUserService {
user.setCompanyId(dept.getDeptId());
}
}*/
- if (split.length == 2) {
+ //南网改造,所属组织存公司id------20240516
+ /* if (split.length == 2) {
//表示属于分公司
user.setCompanyId(sysDept.getDeptId());
}
if (split.length >= 3) {
//表示属于分公司下的某个部门
user.setCompanyId(Long.parseLong(split[2]));
- }
+ }*/
// 新增用户信息
int rows = userMapper.insertUser(user);
diff --git a/sgzb-modules/sgzb-system/src/main/resources/bootstrap.yml b/sgzb-modules/sgzb-system/src/main/resources/bootstrap.yml
index 13e6331a..c20589a1 100644
--- a/sgzb-modules/sgzb-system/src/main/resources/bootstrap.yml
+++ b/sgzb-modules/sgzb-system/src/main/resources/bootstrap.yml
@@ -53,7 +53,19 @@ tencent:
smsSign: 南方电网互联网
#云平台模板id 2116937-验收通知 2115503-登录验证
templateId: 2116937,2115503
-
+ # 腾讯云cos
+ cos:
+ file:
+ # 存储桶所在地域
+ region: ap-guangzhou
+ # 存储桶所在地域
+ bucketregion: ap-guangzhou
+ # 存储桶名称
+ bucketname: prod-rental-1301524038
+ # API账号
+ secretid: AKIDrreCVaRKDtMcgfU5QW9iEfv67tMfldJn
+ # API密钥
+ secretkey: OXUgeMo0yhBRTGo6sVu3yiFX4rQtAzc3
diff --git a/sgzb-modules/sgzb-system/src/main/resources/mapper/system/SysDeptMapper.xml b/sgzb-modules/sgzb-system/src/main/resources/mapper/system/SysDeptMapper.xml
index 262601db..8f94a006 100644
--- a/sgzb-modules/sgzb-system/src/main/resources/mapper/system/SysDeptMapper.xml
+++ b/sgzb-modules/sgzb-system/src/main/resources/mapper/system/SysDeptMapper.xml
@@ -21,11 +21,12 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
+
select d.dept_id, d.parent_id, d.ancestors, d.dept_name, d.order_num, d.leader, d.phone, d.email, d.status, d.del_flag, d.create_by, d.create_time,
- d.remark
+ d.remark,d.company_id
from sys_dept d
@@ -44,6 +45,9 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
AND status = #{status}
+
+ AND company_id = #{companyId}
+
${params.dataScope}
order by d.parent_id, d.order_num
@@ -99,6 +103,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
email,
status,
create_by,
+ company_id,
create_time
)values(
#{deptId},
@@ -111,6 +116,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
#{email},
#{status},
#{createBy},
+ #{companyId},
sysdate()
)
diff --git a/sgzb-modules/sgzb-system/src/main/resources/mapper/system/SysRoleMapper.xml b/sgzb-modules/sgzb-system/src/main/resources/mapper/system/SysRoleMapper.xml
index eafbf884..8d6198cf 100644
--- a/sgzb-modules/sgzb-system/src/main/resources/mapper/system/SysRoleMapper.xml
+++ b/sgzb-modules/sgzb-system/src/main/resources/mapper/system/SysRoleMapper.xml
@@ -24,7 +24,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
select distinct r.role_id, r.role_name, r.role_key, r.role_sort, r.data_scope, r.menu_check_strictly, r.dept_check_strictly,
- r.status, r.del_flag, r.create_time, r.remark ,IFNULL(CONCAT_WS('/', d3.dept_name, d2.dept_name, d1.dept_name), 'Unknown') AS dept_name
+ r.status, r.del_flag, r.create_time, r.remark ,r.company_id,IFNULL(CONCAT_WS('/', d3.dept_name, d2.dept_name, d1.dept_name), 'Unknown') AS dept_name
from sys_role r
left join sys_user_role ur on ur.role_id = r.role_id
left join sys_user u on u.user_id = ur.user_id
@@ -110,6 +110,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
status,
remark,
create_by,
+ company_id,
create_time
)values(
#{roleId},
@@ -122,6 +123,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
#{status},
#{remark},
#{createBy},
+ #{companyId},
sysdate()
)
diff --git a/sgzb-modules/sgzb-system/src/main/resources/mapper/system/SysUserMapper.xml b/sgzb-modules/sgzb-system/src/main/resources/mapper/system/SysUserMapper.xml
index 2507360f..0b44c790 100644
--- a/sgzb-modules/sgzb-system/src/main/resources/mapper/system/SysUserMapper.xml
+++ b/sgzb-modules/sgzb-system/src/main/resources/mapper/system/SysUserMapper.xml
@@ -48,7 +48,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
- select u.user_id, u.dept_id, u.user_name, u.nick_name, u.email, u.avatar, u.phonenumber, u.password, u.sex, u.status, u.del_flag, u.login_ip, u.login_date, u.create_by, u.create_time, u.remark, u.company_id,
+ select u.user_id, u.dept_id, u.user_name, u.nick_name, u.email, u.avatar, u.phonenumber, u.sex, u.status, u.del_flag, u.login_ip, u.login_date, u.create_by, u.create_time, u.remark, u.company_id,
d.dept_id, d.parent_id, d.ancestors, d.dept_name, d.order_num, d.leader, d.status as dept_status,
r.role_id, r.role_name, r.role_key, r.role_sort, r.data_scope, r.status as role_status
from sys_user u
@@ -58,7 +58,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"