Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Contribute to GitLab
Sign in / Register
Toggle navigation
D
dsk-cr20g
Project
Project
Details
Activity
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
Administrator
dsk-cr20g
Commits
6c0c5b7f
Commit
6c0c5b7f
authored
Sep 14, 2023
by
huangjie
Browse files
Options
Browse Files
Download
Plain Diff
Merge branch 'zuhuduan' of
http://192.168.60.201/root/dsk-operate-sys
into zuhuduan
parents
46ccd5b1
236c708b
Changes
30
Hide whitespace changes
Inline
Side-by-side
Showing
30 changed files
with
707 additions
and
309 deletions
+707
-309
CaptchaController.java
...java/com/dsk/web/controller/common/CaptchaController.java
+22
-15
SysConfigController.java
...va/com/dsk/web/controller/system/SysConfigController.java
+16
-0
SysRegionController.java
...va/com/dsk/web/controller/system/SysRegionController.java
+37
-0
SysUserController.java
...java/com/dsk/web/controller/system/SysUserController.java
+2
-5
application.yml
dsk-admin/src/main/resources/application.yml
+1
-0
DskAccessTokenVO.java
...va/com/dsk/common/core/domain/model/DskAccessTokenVO.java
+15
-0
BusinessInfoServiceImpl.java
...ava/com/dsk/biz/service/impl/BusinessInfoServiceImpl.java
+18
-15
CustomerServiceImpl.java
...in/java/com/dsk/biz/service/impl/CustomerServiceImpl.java
+13
-6
JskCombineInfoController.java
...java/com/dsk/jsk/controller/JskCombineInfoController.java
+2
-1
JskCombineCountDto.java
.../src/main/java/com/dsk/jsk/domain/JskCombineCountDto.java
+31
-0
JskCombineInfoService.java
.../main/java/com/dsk/jsk/service/JskCombineInfoService.java
+22
-1
BusinessInfoMapper.xml
...-api/src/main/resources/mapper/biz/BusinessInfoMapper.xml
+0
-1
groupAccount.js
dsk-operate-ui/src/api/detail/groupAccount/groupAccount.js
+3
-3
index.vue
dsk-operate-ui/src/views/custom/customList/index.vue
+3
-3
Sidebar.vue
...te-ui/src/views/detail/groupAccount/component/Sidebar.vue
+23
-25
index.vue
dsk-operate-ui/src/views/detail/groupAccount/index.vue
+8
-11
Sidebar.vue
...operate-ui/src/views/detail/party-a/component/Sidebar.vue
+145
-144
index.vue
dsk-operate-ui/src/views/detail/party-a/preference/index.vue
+1
-1
index.vue
...te-ui/src/views/enterpriseData/components/Owner/index.vue
+2
-2
index.vue
dsk-operate-ui/src/views/index.vue
+83
-39
index.vue
dsk-operate-ui/src/views/macro/urban/index.vue
+1
-1
index.vue
dsk-operate-ui/src/views/project/overview/index.vue
+23
-17
SysRegion.java
...system/src/main/java/com/dsk/system/domain/SysRegion.java
+75
-0
SysRegionMapper.java
.../src/main/java/com/dsk/system/mapper/SysRegionMapper.java
+18
-0
ISysConfigService.java
...c/main/java/com/dsk/system/service/ISysConfigService.java
+2
-0
SysRegionService.java
...rc/main/java/com/dsk/system/service/SysRegionService.java
+17
-0
ISysTenantServiceImpl.java
...va/com/dsk/system/service/impl/ISysTenantServiceImpl.java
+23
-12
SysConfigServiceImpl.java
...ava/com/dsk/system/service/impl/SysConfigServiceImpl.java
+48
-0
SysRegionServiceImpl.java
...ava/com/dsk/system/service/impl/SysRegionServiceImpl.java
+32
-0
SysUserServiceImpl.java
.../java/com/dsk/system/service/impl/SysUserServiceImpl.java
+21
-7
No files found.
dsk-admin/src/main/java/com/dsk/web/controller/common/CaptchaController.java
View file @
6c0c5b7f
...
@@ -5,7 +5,6 @@ import cn.hutool.captcha.AbstractCaptcha;
...
@@ -5,7 +5,6 @@ import cn.hutool.captcha.AbstractCaptcha;
import
cn.hutool.captcha.generator.CodeGenerator
;
import
cn.hutool.captcha.generator.CodeGenerator
;
import
cn.hutool.core.util.IdUtil
;
import
cn.hutool.core.util.IdUtil
;
import
cn.hutool.core.util.RandomUtil
;
import
cn.hutool.core.util.RandomUtil
;
import
com.dsk.common.constant.CacheConstants
;
import
com.dsk.common.constant.Constants
;
import
com.dsk.common.constant.Constants
;
import
com.dsk.common.constant.GlobalConstants
;
import
com.dsk.common.constant.GlobalConstants
;
import
com.dsk.common.core.domain.R
;
import
com.dsk.common.core.domain.R
;
...
@@ -13,8 +12,6 @@ import com.dsk.common.enums.CaptchaType;
...
@@ -13,8 +12,6 @@ import com.dsk.common.enums.CaptchaType;
import
com.dsk.common.exception.user.CaptchaException
;
import
com.dsk.common.exception.user.CaptchaException
;
import
com.dsk.common.exception.user.CaptchaExpireException
;
import
com.dsk.common.exception.user.CaptchaExpireException
;
import
com.dsk.common.helper.LoginHelper
;
import
com.dsk.common.helper.LoginHelper
;
import
com.dsk.common.utils.DingTalkUtil
;
import
com.dsk.common.utils.MessageUtils
;
import
com.dsk.common.utils.StringUtils
;
import
com.dsk.common.utils.StringUtils
;
import
com.dsk.common.utils.email.MailUtils
;
import
com.dsk.common.utils.email.MailUtils
;
import
com.dsk.common.utils.redis.RedisUtils
;
import
com.dsk.common.utils.redis.RedisUtils
;
...
@@ -82,14 +79,13 @@ public class CaptchaController {
...
@@ -82,14 +79,13 @@ public class CaptchaController {
// 验证码模板id 自行处理 (查数据库或写死均可)
// 验证码模板id 自行处理 (查数据库或写死均可)
LinkedHashMap
<
String
,
String
>
map
=
new
LinkedHashMap
<>(
1
);
LinkedHashMap
<
String
,
String
>
map
=
new
LinkedHashMap
<>(
1
);
map
.
put
(
"code"
,
code
);
map
.
put
(
"code"
,
code
);
// SmsBlend smsBlend = SmsFactory.createSmsBlend(SupplierType.ALIBABA);
SmsBlend
smsBlend
=
SmsFactory
.
createSmsBlend
(
SupplierType
.
ALIBABA
);
// SmsResponse smsResponse = smsBlend.sendMessage(phonenumber, templateId, map);
SmsResponse
smsResponse
=
smsBlend
.
sendMessage
(
phonenumber
,
templateId
,
map
);
// if (!"OK".equals(smsResponse.getCode())) {
if
(!
"OK"
.
equals
(
smsResponse
.
getCode
()))
{
// log.error("验证码短信发送异常 => {}", smsResponse);
log
.
error
(
"验证码短信发送异常 => {}"
,
smsResponse
);
// return R.fail(smsResponse.getMessage());
return
R
.
fail
(
smsResponse
.
getMessage
());
// }
}
DingTalkUtil
.
sendDingTalkMsg
(
"短信通知:"
+
phonenumber
+
"登录验证码:"
+
code
+
",请尽快输入验证码完成验证,勿将验证码透露给他人,如非本人操作,请忽略本条短信。"
);
//DingTalkUtil.sendDingTalkMsg("短信通知:"+phonenumber+"登录验证码:"+code+",请尽快输入验证码完成验证,勿将验证码透露给他人,如非本人操作,请忽略本条短信。");
return
R
.
ok
();
return
R
.
ok
();
}
}
...
@@ -108,19 +104,30 @@ public class CaptchaController {
...
@@ -108,19 +104,30 @@ public class CaptchaController {
}
}
/**
/**
*
开发需要,临时
发送短信验证码
* 发送短信验证码
*/
*/
@GetMapping
(
"/getTempSmsCode"
)
@GetMapping
(
"/getTempSmsCode"
)
public
R
<
Void
>
getTempSmsCode
()
{
public
R
<
Void
>
getTempSmsCode
()
{
SysUser
sysUser
=
userMapper
.
selectUserById
(
LoginHelper
.
getUserId
());
SysUser
sysUser
=
userMapper
.
selectUserById
(
LoginHelper
.
getUserId
());
String
key
=
GlobalConstants
.
CAPTCHA_CODE_KEY
+
sysUser
.
getPhonenumber
();
String
phonenumber
=
sysUser
.
getPhonenumber
();
String
key
=
GlobalConstants
.
CAPTCHA_CODE_KEY
+
phonenumber
;
String
code
=
RandomUtil
.
randomNumbers
(
6
);
String
code
=
RandomUtil
.
randomNumbers
(
6
);
RedisUtils
.
setCacheObject
(
key
,
code
,
Duration
.
ofMinutes
(
Constants
.
CAPTCHA_EXPIRATION
));
RedisUtils
.
setCacheObject
(
key
,
code
,
Duration
.
ofMinutes
(
Constants
.
CAPTCHA_EXPIRATION
));
return
R
.
ok
(
"验证码:"
+
code
);
// 验证码模板id 自行处理 (查数据库或写死均可)
LinkedHashMap
<
String
,
String
>
map
=
new
LinkedHashMap
<>(
1
);
map
.
put
(
"code"
,
code
);
SmsBlend
smsBlend
=
SmsFactory
.
createSmsBlend
(
SupplierType
.
ALIBABA
);
SmsResponse
smsResponse
=
smsBlend
.
sendMessage
(
phonenumber
,
"SMS_170345261"
,
map
);
if
(!
"OK"
.
equals
(
smsResponse
.
getCode
()))
{
log
.
error
(
"验证码短信发送异常 => {}"
,
smsResponse
);
return
R
.
fail
(
smsResponse
.
getMessage
());
}
//DingTalkUtil.sendDingTalkMsg("短信通知:"+phonenumber+"登录验证码:"+code+",请尽快输入验证码完成验证,勿将验证码透露给他人,如非本人操作,请忽略本条短信。");
return
R
.
ok
();
}
}
/**
/**
*
开发需要,临时
校验短信验证码
* 校验短信验证码
*
*
* @param smsCode 验证码
* @param smsCode 验证码
*/
*/
...
...
dsk-admin/src/main/java/com/dsk/web/controller/system/SysConfigController.java
View file @
6c0c5b7f
package
com
.
dsk
.
web
.
controller
.
system
;
package
com
.
dsk
.
web
.
controller
.
system
;
import
cn.dev33.satoken.annotation.SaCheckLogin
;
import
cn.dev33.satoken.annotation.SaCheckPermission
;
import
cn.dev33.satoken.annotation.SaCheckPermission
;
import
com.dsk.common.annotation.Log
;
import
com.dsk.common.annotation.Log
;
import
com.dsk.common.core.controller.BaseController
;
import
com.dsk.common.core.controller.BaseController
;
import
com.dsk.common.core.domain.PageQuery
;
import
com.dsk.common.core.domain.PageQuery
;
import
com.dsk.common.core.domain.R
;
import
com.dsk.common.core.domain.R
;
import
com.dsk.common.core.domain.model.DskAccessTokenVO
;
import
com.dsk.common.core.page.TableDataInfo
;
import
com.dsk.common.core.page.TableDataInfo
;
import
com.dsk.common.enums.BusinessType
;
import
com.dsk.common.enums.BusinessType
;
import
com.dsk.common.utils.poi.ExcelUtil
;
import
com.dsk.common.utils.poi.ExcelUtil
;
...
@@ -133,4 +135,18 @@ public class SysConfigController extends BaseController {
...
@@ -133,4 +135,18 @@ public class SysConfigController extends BaseController {
configService
.
resetConfigCache
();
configService
.
resetConfigCache
();
return
R
.
ok
();
return
R
.
ok
();
}
}
/**
* 获取大司空open 插件访问token
*/
@SaCheckLogin
@Log
(
title
=
"获取dsk访问token"
,
businessType
=
BusinessType
.
OTHER
)
@GetMapping
(
"/dsk/accessToken"
)
public
R
<
DskAccessTokenVO
>
dskAccessToken
()
{
DskAccessTokenVO
dskAccessTokenVO
=
configService
.
getDskAccessToken
();
return
R
.
ok
(
dskAccessTokenVO
);
}
}
}
dsk-admin/src/main/java/com/dsk/web/controller/system/SysRegionController.java
0 → 100644
View file @
6c0c5b7f
package
com
.
dsk
.
web
.
controller
.
system
;
import
com.dsk.common.core.controller.BaseController
;
import
com.dsk.common.core.domain.AjaxResult
;
import
com.dsk.common.core.domain.R
;
import
com.dsk.system.domain.SysRegion
;
import
com.dsk.system.service.SysRegionService
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.web.bind.annotation.GetMapping
;
import
org.springframework.web.bind.annotation.PathVariable
;
import
org.springframework.web.bind.annotation.RequestMapping
;
import
org.springframework.web.bind.annotation.RestController
;
import
java.util.List
;
/**
* 地区信息
*
* @author lcl
* @create 2023/6/28
*/
@RestController
@RequestMapping
(
"/system/region"
)
public
class
SysRegionController
extends
BaseController
{
@Autowired
private
SysRegionService
baseService
;
/**
* 通过父id获取下级地区信息
*/
@GetMapping
(
"/list/{parentId}"
)
public
R
<
List
<
SysRegion
>>
listByParentId
(
@PathVariable
Integer
parentId
)
{
return
R
.
ok
(
baseService
.
selectByParentId
(
parentId
));
}
}
dsk-admin/src/main/java/com/dsk/web/controller/system/SysUserController.java
View file @
6c0c5b7f
...
@@ -37,10 +37,7 @@ import org.springframework.web.bind.annotation.*;
...
@@ -37,10 +37,7 @@ import org.springframework.web.bind.annotation.*;
import
org.springframework.web.multipart.MultipartFile
;
import
org.springframework.web.multipart.MultipartFile
;
import
javax.servlet.http.HttpServletResponse
;
import
javax.servlet.http.HttpServletResponse
;
import
java.util.ArrayList
;
import
java.util.*
;
import
java.util.HashMap
;
import
java.util.List
;
import
java.util.Map
;
/**
/**
* 用户信息
* 用户信息
...
@@ -209,7 +206,7 @@ public class SysUserController extends BaseController {
...
@@ -209,7 +206,7 @@ public class SysUserController extends BaseController {
public
R
<
Void
>
resetPwd
(
@RequestBody
SysUser
user
)
{
public
R
<
Void
>
resetPwd
(
@RequestBody
SysUser
user
)
{
userService
.
checkUserAllowed
(
user
);
userService
.
checkUserAllowed
(
user
);
userService
.
checkUserDataScope
(
user
.
getUserId
());
userService
.
checkUserDataScope
(
user
.
getUserId
());
user
.
setPassword
(
BCrypt
.
hashpw
(
user
.
getPassword
(
)));
user
.
setPassword
(
BCrypt
.
hashpw
(
new
String
(
Base64
.
getDecoder
().
decode
(
user
.
getPassword
())
)));
return
toAjax
(
userService
.
resetPwd
(
user
));
return
toAjax
(
userService
.
resetPwd
(
user
));
}
}
...
...
dsk-admin/src/main/resources/application.yml
View file @
6c0c5b7f
...
@@ -157,6 +157,7 @@ tenant:
...
@@ -157,6 +157,7 @@ tenant:
-
sys_user_post
-
sys_user_post
-
sys_user_role
-
sys_user_role
-
sys_client
-
sys_client
-
sys_region
-
contact_info
-
contact_info
-
customer_user
-
customer_user
-
customer_follow_record
-
customer_follow_record
...
...
dsk-common/src/main/java/com/dsk/common/core/domain/model/DskAccessTokenVO.java
0 → 100644
View file @
6c0c5b7f
package
com
.
dsk
.
common
.
core
.
domain
.
model
;
import
lombok.Data
;
/**
* @author tanyang
* @create 2023-09-11 17:20
**/
@Data
public
class
DskAccessTokenVO
{
private
String
accessToken
;
private
Long
expire
;
}
dsk-module/dsk-biz-api/src/main/java/com/dsk/biz/service/impl/BusinessInfoServiceImpl.java
View file @
6c0c5b7f
...
@@ -12,8 +12,10 @@ import com.dsk.biz.domain.bo.BusinessListDto;
...
@@ -12,8 +12,10 @@ import com.dsk.biz.domain.bo.BusinessListDto;
import
com.dsk.biz.domain.bo.CustomerBusinessSearchDto
;
import
com.dsk.biz.domain.bo.CustomerBusinessSearchDto
;
import
com.dsk.biz.domain.vo.*
;
import
com.dsk.biz.domain.vo.*
;
import
com.dsk.biz.utils.ExcelUtils
;
import
com.dsk.biz.utils.ExcelUtils
;
import
com.dsk.biz.utils.OldFileUtils
;
import
com.dsk.common.annotation.DataColumn
;
import
com.dsk.common.annotation.DataColumn
;
import
com.dsk.common.annotation.DataPermission
;
import
com.dsk.common.annotation.DataPermission
;
import
com.dsk.common.utils.file.FileUploadUtils
;
import
com.dsk.jsk.service.EnterpriseService
;
import
com.dsk.jsk.service.EnterpriseService
;
import
com.dsk.biz.mapper.BusinessInfoMapper
;
import
com.dsk.biz.mapper.BusinessInfoMapper
;
import
com.dsk.biz.mapper.BusinessLabelMapper
;
import
com.dsk.biz.mapper.BusinessLabelMapper
;
...
@@ -131,7 +133,7 @@ public class BusinessInfoServiceImpl implements IBusinessInfoService {
...
@@ -131,7 +133,7 @@ public class BusinessInfoServiceImpl implements IBusinessInfoService {
businessBrowseVo
.
setFollowRecordCount
(
total
.
getFollowRecordCount
());
businessBrowseVo
.
setFollowRecordCount
(
total
.
getFollowRecordCount
());
businessBrowseVo
.
setRelateCompanyCount
(
total
.
getRelateCompanyCount
());
businessBrowseVo
.
setRelateCompanyCount
(
total
.
getRelateCompanyCount
());
//资料文档统计
//资料文档统计
// businessBrowseVo.setFileCount(FileUtils.getAllFileNames(ShuZhiHuaConfig.getProfile
() + businessId).size());
businessBrowseVo
.
setFileCount
(
OldFileUtils
.
getAllFileNames
(
FileUploadUtils
.
getDefaultBaseDir
()
+
businessId
).
size
());
return
businessBrowseVo
;
return
businessBrowseVo
;
}
}
...
@@ -188,33 +190,34 @@ public class BusinessInfoServiceImpl implements IBusinessInfoService {
...
@@ -188,33 +190,34 @@ public class BusinessInfoServiceImpl implements IBusinessInfoService {
List
<
String
>
result
=
new
LinkedList
();
//导入结果汇总
List
<
String
>
result
=
new
LinkedList
();
//导入结果汇总
List
<
BusinessExcelDto
>
businessInfoList
=
null
;
List
<
BusinessExcelDto
>
businessInfoList
=
null
;
try
{
try
{
businessInfoList
=
new
ExcelUtils
<>(
BusinessExcelDto
.
class
).
importExcel
(
file
.
getInputStream
(),
2
);
businessInfoList
=
new
ExcelUtils
<>(
BusinessExcelDto
.
class
).
importExcel
(
file
.
getInputStream
(),
2
);
if
(
CollectionUtil
.
isEmpty
(
businessInfoList
))
return
AjaxResult
.
error
(
"文档中无项目信息,请按照模板文档格式上传"
);
}
catch
(
Exception
e
)
{
}
catch
(
Exception
e
)
{
e
.
printStackTrace
(
);
throw
new
ServiceException
(
"数据导入失败,请检查文档格式是否有误!"
);
}
}
// List<BusinessExcelDto> businessInfoList = readBusinessInfoExcel.getExcelInfo(file);
// List<BusinessExcelDto> businessInfoList = readBusinessInfoExcel.getExcelInfo(file);
if
(
CollectionUtil
.
isEmpty
(
businessInfoList
))
return
AjaxResult
.
error
(
"文档中无项目信息,请按照模板文档格式上传"
);
for
(
BusinessExcelDto
businessInfo
:
businessInfoList
)
{
for
(
BusinessExcelDto
businessInfo
:
businessInfoList
)
{
//查询已有的项目名称
//
//查询已有的项目名称
Integer
count
=
businessInfoMapper
.
isRepetitionProjectName
(
businessInfo
.
getProjectName
(),
userId
,
businessInfo
.
getOwnerCompany
());
//
Integer count = businessInfoMapper.isRepetitionProjectName(businessInfo.getProjectName(), userId, businessInfo.getOwnerCompany());
row
++;
//
row++;
if
(
count
>
0
)
{
//
if (count > 0) {
//如果存在,跳过该项目,不保存
//
//如果存在,跳过该项目,不保存
// result.add("第" + row + "行的" + businessInfo.getProjectName() + "的项目已存在,跳过该项目,保存下一条");
//
//
result.add("第" + row + "行的" + businessInfo.getProjectName() + "的项目已存在,跳过该项目,保存下一条");
log
.
info
(
"第"
+
row
+
"行的"
+
businessInfo
.
getProjectName
()
+
"的项目已存在,跳过该项目,保存下一条"
);
//
log.info("第" + row + "行的" + businessInfo.getProjectName() + "的项目已存在,跳过该项目,保存下一条");
errorCount
++;
//
errorCount++;
}
else
{
//
} else {
//保存到数据库
//保存到数据库
BusinessAddDto
businessAddDto
=
new
BusinessAddDto
();
BusinessAddDto
businessAddDto
=
new
BusinessAddDto
();
BeanUtil
.
copyProperties
(
businessInfo
,
businessAddDto
);
BeanUtil
.
copyProperties
(
businessInfo
,
businessAddDto
);
businessAddDto
.
setUserId
(
userId
);
businessAddDto
.
setUserId
(
userId
);
try
{
try
{
new
BusinessInfoServiceImpl
().
insertBusinessInfo
(
businessAddDto
);
// new BusinessInfoServiceImpl().insertBusinessInfo(businessAddDto);
this
.
insertBusinessInfo
(
businessAddDto
);
rowSuccess
++;
rowSuccess
++;
}
catch
(
Exception
e
){
}
catch
(
Exception
e
){
errorCount
++;
errorCount
++;
}
}
}
//
}
}
}
result
.
add
(
"导入项目成功条数"
+
rowSuccess
);
result
.
add
(
"导入项目成功条数"
+
rowSuccess
);
result
.
add
(
"导入项目去重条数"
+
errorCount
);
result
.
add
(
"导入项目去重条数"
+
errorCount
);
...
...
dsk-module/dsk-biz-api/src/main/java/com/dsk/biz/service/impl/CustomerServiceImpl.java
View file @
6c0c5b7f
...
@@ -61,7 +61,7 @@ public class CustomerServiceImpl implements ICustomerService {
...
@@ -61,7 +61,7 @@ public class CustomerServiceImpl implements ICustomerService {
dto
.
setUserId
(
LoginHelper
.
getUserId
());
dto
.
setUserId
(
LoginHelper
.
getUserId
());
dto
.
setStatus
(
ObjectUtils
.
isEmpty
(
dto
.
getStatus
())
?
0
:
dto
.
getStatus
());
dto
.
setStatus
(
ObjectUtils
.
isEmpty
(
dto
.
getStatus
())
?
0
:
dto
.
getStatus
());
final
TableDataInfo
<
CustomerListVo
>
result
=
TableDataInfo
.
build
(
baseMapper
.
selectList
(
pageQuery
.
build
(),
dto
));
final
TableDataInfo
<
CustomerListVo
>
result
=
TableDataInfo
.
build
(
baseMapper
.
selectList
(
pageQuery
.
build
(),
dto
));