Skip to content
Projects
Groups
Snippets
Help
Loading...
Sign in / Register
Toggle navigation
cfld-region-outline
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
cfld-backend
cfld-region-outline
Commits
d37d6077
Commit
d37d6077
authored
Nov 30, 2023
by
yaobaizheng
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
注册时添加线索数量 另外园区开发区中区别视频和图片
parent
c2940d0c
Hide whitespace changes
Inline
Side-by-side
Showing
21 changed files
with
665 additions
and
33 deletions
+665
-33
pom.xml
pom.xml
+5
-0
WebClientConfig.java
...ain/java/com/lyy/admin/common/config/WebClientConfig.java
+16
-0
Constants.java
src/main/java/com/lyy/admin/common/constant/Constants.java
+20
-0
RedisConfig.java
src/main/java/com/lyy/admin/common/redis/RedisConfig.java
+46
-0
BusinessService.java
...main/java/com/lyy/admin/common/utils/BusinessService.java
+38
-0
RedisUtil.java
...main/java/com/lyy/admin/common/utils/redis/RedisUtil.java
+330
-0
WeixinController.java
src/main/java/com/lyy/admin/controller/WeixinController.java
+29
-1
SysCarouselInfo.java
...ain/java/com/lyy/admin/domain/system/SysCarouselInfo.java
+7
-0
BusinessTypeEnum.java
src/main/java/com/lyy/admin/enumerate/BusinessTypeEnum.java
+30
-0
ThreadSourceEnum.java
src/main/java/com/lyy/admin/enumerate/ThreadSourceEnum.java
+18
-0
UrlTypeEnum.java
src/main/java/com/lyy/admin/enumerate/UrlTypeEnum.java
+33
-0
DevelopmentInfoServiceImpl.java
...vice/developmentinfo/impl/DevelopmentInfoServiceImpl.java
+13
-11
SysUserInfoServiceImpl.java
...va/com/lyy/admin/service/impl/SysUserInfoServiceImpl.java
+8
-0
ParkInfoServiceImpl.java
.../lyy/admin/service/parkinfo/impl/ParkInfoServiceImpl.java
+13
-11
SysCarouselInfoService.java
.../com/lyy/admin/service/system/SysCarouselInfoService.java
+2
-0
SysCarouselInfoServiceImpl.java
...admin/service/system/impl/SysCarouselInfoServiceImpl.java
+31
-0
application-dev.yml
src/main/resources/application-dev.yml
+6
-2
application-local.yml
src/main/resources/application-local.yml
+6
-2
application-prod.yml
src/main/resources/application-prod.yml
+6
-2
application-test.yml
src/main/resources/application-test.yml
+7
-3
application.yml
src/main/resources/application.yml
+1
-1
No files found.
pom.xml
View file @
d37d6077
...
@@ -164,6 +164,11 @@
...
@@ -164,6 +164,11 @@
<artifactId>
gson
</artifactId>
<artifactId>
gson
</artifactId>
<version>
2.9.0
</version>
<version>
2.9.0
</version>
</dependency>
</dependency>
<dependency>
<groupId>
org.springframework.boot
</groupId>
<artifactId>
spring-boot-starter-webflux
</artifactId>
</dependency>
</dependencies>
</dependencies>
<build>
<build>
...
...
src/main/java/com/lyy/admin/common/config/WebClientConfig.java
0 → 100644
View file @
d37d6077
package
com
.
lyy
.
admin
.
common
.
config
;
import
lombok.extern.slf4j.Slf4j
;
import
org.springframework.context.annotation.Bean
;
import
org.springframework.context.annotation.Configuration
;
import
org.springframework.web.reactive.function.client.WebClient
;
@Configuration
@Slf4j
public
class
WebClientConfig
{
@Bean
public
WebClient
webClient
()
{
return
WebClient
.
builder
().
build
();
}
}
src/main/java/com/lyy/admin/common/constant/Constants.java
View file @
d37d6077
...
@@ -110,4 +110,23 @@ public class Constants {
...
@@ -110,4 +110,23 @@ public class Constants {
*/
*/
public
static
final
String
[]
JOB_ERROR_STR
=
{
"java.net.URL"
,
"javax.naming.InitialContext"
,
"org.yaml.snakeyaml"
,
public
static
final
String
[]
JOB_ERROR_STR
=
{
"java.net.URL"
,
"javax.naming.InitialContext"
,
"org.yaml.snakeyaml"
,
"org.springframework"
,
"org.apache"
,
"com.ruoyi.common.utils.file"
,
"com.ruoyi.common.config"
};
"org.springframework"
,
"org.apache"
,
"com.ruoyi.common.utils.file"
,
"com.ruoyi.common.config"
};
public
static
final
String
TOKEN_HEADER
=
"Authorization"
;
//短信过期时间
public
static
final
int
EXPIRE_TIME
=
5
;
//秒
public
static
final
int
INTERVAL_TIME
=
4
*
60
;
//------------------redis key--------------------------
public
static
final
String
token
=
"Bearer "
;
//手机验证码 规则: 手机验证码:验证码类型:手机号
public
static
final
String
MSG_KEY
=
"phone:message:"
;
//用户查看数据详情 使用额度 map存储: 格式: key phone + ":" + type value
public
static
final
String
LIMIT_NUM
=
"limit_num"
;
public
static
final
String
LIMIT_SMS
=
"limit_sms:"
;
//---------------------end------------------------------
}
}
\ No newline at end of file
src/main/java/com/lyy/admin/common/redis/RedisConfig.java
0 → 100644
View file @
d37d6077
package
com
.
lyy
.
admin
.
common
.
redis
;
import
com.fasterxml.jackson.annotation.JsonAutoDetect
;
import
com.fasterxml.jackson.annotation.JsonTypeInfo
;
import
com.fasterxml.jackson.annotation.PropertyAccessor
;
import
com.fasterxml.jackson.databind.ObjectMapper
;
import
com.fasterxml.jackson.databind.jsontype.impl.LaissezFaireSubTypeValidator
;
import
org.springframework.context.annotation.Bean
;
import
org.springframework.context.annotation.Configuration
;
import
org.springframework.data.redis.connection.RedisConnectionFactory
;
import
org.springframework.data.redis.core.RedisTemplate
;
import
org.springframework.data.redis.serializer.Jackson2JsonRedisSerializer
;
import
org.springframework.data.redis.serializer.StringRedisSerializer
;
/**
* redis配置
*
* @author garden
*/
@Configuration
public
class
RedisConfig
{
@Bean
@SuppressWarnings
(
value
=
{
"unchecked"
,
"rawtypes"
})
public
RedisTemplate
<
Object
,
Object
>
redisTemplate
(
RedisConnectionFactory
connectionFactory
)
{
RedisTemplate
<
Object
,
Object
>
template
=
new
RedisTemplate
<>();
template
.
setConnectionFactory
(
connectionFactory
);
StringRedisSerializer
stringRedisSerializer
=
new
StringRedisSerializer
();
template
.
setKeySerializer
(
stringRedisSerializer
);
// key的序列化类型
Jackson2JsonRedisSerializer
jackson2JsonRedisSerializer
=
new
Jackson2JsonRedisSerializer
(
Object
.
class
);
ObjectMapper
objectMapper
=
new
ObjectMapper
();
objectMapper
.
setVisibility
(
PropertyAccessor
.
ALL
,
JsonAutoDetect
.
Visibility
.
ANY
);
objectMapper
.
activateDefaultTyping
(
LaissezFaireSubTypeValidator
.
instance
,
ObjectMapper
.
DefaultTyping
.
NON_FINAL
,
JsonTypeInfo
.
As
.
PROPERTY
);
jackson2JsonRedisSerializer
.
setObjectMapper
(
objectMapper
);
jackson2JsonRedisSerializer
.
setObjectMapper
(
objectMapper
);
template
.
setValueSerializer
(
jackson2JsonRedisSerializer
);
// value的序列化类型
template
.
setHashKeySerializer
(
stringRedisSerializer
);
template
.
setHashValueSerializer
(
jackson2JsonRedisSerializer
);
template
.
afterPropertiesSet
();
return
template
;
}
}
src/main/java/com/lyy/admin/common/utils/BusinessService.java
0 → 100644
View file @
d37d6077
package
com
.
lyy
.
admin
.
common
.
utils
;
import
cn.hutool.json.JSONUtil
;
import
lombok.extern.slf4j.Slf4j
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.beans.factory.annotation.Value
;
import
org.springframework.stereotype.Component
;
import
org.springframework.web.reactive.function.client.WebClient
;
import
java.util.Map
;
/**
* @Author:zhouxudong
*
* @version: 1.0 @Date: 2023/11/24 17:13 @Description:
*/
@Component
@Slf4j
public
class
BusinessService
{
@Autowired
private
WebClient
webClient
;
@Value
(
"${business.url.thread}"
)
private
String
url
;
public
AjaxResult
savThread
(
Map
<
String
,
Object
>
params
)
{
AjaxResult
block
=
this
.
webClient
.
post
()
.
uri
(
url
)
.
bodyValue
(
params
)
.
retrieve
()
.
bodyToMono
(
AjaxResult
.
class
)
.
block
();
log
.
info
(
"注册保存线索信息:参数:{},结果:{}"
,
params
,
JSONUtil
.
toJsonStr
(
block
));
return
block
;
}
}
src/main/java/com/lyy/admin/common/utils/redis/RedisUtil.java
0 → 100644
View file @
d37d6077
package
com
.
lyy
.
admin
.
common
.
utils
.
redis
;
import
cn.hutool.extra.spring.SpringUtil
;
import
org.springframework.data.redis.core.RedisTemplate
;
import
java.util.Collection
;
import
java.util.List
;
import
java.util.Map
;
import
java.util.concurrent.TimeUnit
;
/**
* @Author:zhouxudong
*
* @version: 1.0 @Date: 2023/11/20 9:27 @Description: redis 工具类
*/
public
class
RedisUtil
{
private
RedisUtil
()
{}
@SuppressWarnings
(
"unchecked"
)
private
static
RedisTemplate
<
String
,
Object
>
redisTemplate
=
SpringUtil
.
getBean
(
"redisTemplate"
,
RedisTemplate
.
class
);
/**
* 设置有效时间 单位默认秒
*
* @param key Redis键
* @param timeout 超时时间
* @return true=设置成功;false=设置失败
*/
public
static
boolean
expire
(
final
String
key
,
final
long
timeout
)
{
return
expire
(
key
,
timeout
,
TimeUnit
.
SECONDS
);
}
/**
* 设置有效时间
*
* @param key Redis键
* @param timeout 超时时间
* @param unit 时间单位
* @return true=设置成功;false=设置失败
*/
public
static
boolean
expire
(
final
String
key
,
final
long
timeout
,
final
TimeUnit
unit
)
{
Boolean
ret
=
redisTemplate
.
expire
(
key
,
timeout
,
unit
);
return
ret
!=
null
&&
ret
;
}
/**
* 删除单个key
*
* @param key 键
* @return true=删除成功;false=删除失败
*/
public
static
boolean
del
(
final
String
key
)
{
Boolean
ret
=
redisTemplate
.
delete
(
key
);
return
ret
!=
null
&&
ret
;
}
/**
* 删除多个key
*
* @param keys 键集合
* @return 成功删除的个数
*/
public
static
long
del
(
final
Collection
<
String
>
keys
)
{
Long
ret
=
redisTemplate
.
delete
(
keys
);
return
ret
==
null
?
0
:
ret
;
}
/**
* 存入普通对象
*
* @param key Redis键
* @param value 值
*/
public
static
void
set
(
final
String
key
,
final
Object
value
)
{
redisTemplate
.
opsForValue
().
set
(
key
,
value
);
}
// 存储普通对象操作
/**
* 存入普通对象
*
* @param key 键
* @param value 值
* @param timeout 有效期,单位秒
*/
public
static
void
set
(
final
String
key
,
final
Object
value
,
final
long
timeout
)
{
redisTemplate
.
opsForValue
().
set
(
key
,
value
,
timeout
,
TimeUnit
.
SECONDS
);
}
public
static
void
set
(
final
String
key
,
final
Object
value
,
final
long
timeout
,
TimeUnit
timeUnit
)
{
redisTemplate
.
opsForValue
().
set
(
key
,
value
,
timeout
,
timeUnit
);
}
/**
* 获取普通对象
*
* @param key 键
* @return 对象
*/
public
static
Object
get
(
final
String
key
)
{
return
redisTemplate
.
opsForValue
().
get
(
key
);
}
/**
* @description: 获取key的剩余过期时间 如果key不存在 或者没有设置过期时间 返回 -1
* @date: 2023/11/23 9:53
* @param: [key]
* @return: java.lang.Long
**/
public
static
Long
getExpire
(
final
String
key
){
return
redisTemplate
.
getExpire
(
key
);
}
// 存储Hash操作
/**
* 往Hash中存入数据
*
* @param key Redis键
* @param filed Hash filed键
* @param value 值
*/
public
static
void
hPut
(
final
String
key
,
final
String
filed
,
final
Object
value
)
{
redisTemplate
.
opsForHash
().
put
(
key
,
filed
,
value
);
}
/**
* 往Hash中存入多个数据
*
* @param key Redis键
* @param filedMap Hash键值对
*/
public
static
void
hPutAll
(
final
String
key
,
final
Map
<
String
,
Object
>
filedMap
)
{
redisTemplate
.
opsForHash
().
putAll
(
key
,
filedMap
);
}
/**
* 获取Hash中的数据
*
* @param key Redis键
* @param filed Hash filed键
* @return Hash中的对象
*/
public
static
Object
hGet
(
final
String
key
,
final
String
filed
)
{
return
redisTemplate
.
opsForHash
().
get
(
key
,
filed
);
}
/**
* 获取多个Hash中的数据
*
* @param key Redis键
* @param fileds Hash filed键集合
* @return Hash对象集合
*/
public
static
List
<
Object
>
hMultiGet
(
final
String
key
,
final
Collection
<
Object
>
fileds
)
{
return
redisTemplate
.
opsForHash
().
multiGet
(
key
,
fileds
);
}
// 存储Set相关操作
/**
* 往Set中存入数据
*
* @param key Redis键
* @param values 值
* @return 存入的个数
*/
public
static
long
sSet
(
final
String
key
,
final
Object
...
values
)
{
Long
count
=
redisTemplate
.
opsForSet
().
add
(
key
,
values
);
return
count
==
null
?
0
:
count
;
}
/**
* 删除Set中的数据
*
* @param key Redis键
* @param values 值
* @return 移除的个数
*/
public
static
long
sDel
(
final
String
key
,
final
Object
...
values
)
{
Long
count
=
redisTemplate
.
opsForSet
().
remove
(
key
,
values
);
return
count
==
null
?
0
:
count
;
}
// 存储List相关操作
/**
* 往List左侧中存入数据
*
* @param key Redis键
* @param value 数据
* @return 存入的个数
*/
public
static
long
lPush
(
final
String
key
,
final
Object
value
)
{
Long
count
=
redisTemplate
.
opsForList
().
leftPush
(
key
,
value
);
return
count
==
null
?
0
:
count
;
}
/**
* 往List右侧中存入数据
*
* @param key Redis键
* @param value 数据
* @return 存入的个数
*/
public
static
long
rPush
(
final
String
key
,
final
Object
value
)
{
Long
count
=
redisTemplate
.
opsForList
().
rightPush
(
key
,
value
);
return
count
==
null
?
0
:
count
;
}
/**
* 往List中左侧存入多个数据
*
* @param key Redis键
* @param values 多个数据
* @return 存入的个数
*/
public
static
long
lPushAll
(
final
String
key
,
final
Collection
<
Object
>
values
)
{
Long
count
=
redisTemplate
.
opsForList
().
leftPushAll
(
key
,
values
);
return
count
==
null
?
0
:
count
;
}
/**
* 往List中左侧存入多个数据
*
* @param key Redis键
* @param values 多个数据
* @return 存入的个数
*/
public
static
long
lPushAll
(
final
String
key
,
final
Object
...
values
)
{
Long
count
=
redisTemplate
.
opsForList
().
leftPushAll
(
key
,
values
);
return
count
==
null
?
0
:
count
;
}
/**
* 往List中右侧存入多个数据
*
* @param key Redis键
* @param values 多个数据
* @return 存入的个数
*/
public
static
long
rPushAll
(
final
String
key
,
final
Collection
<
Object
>
values
)
{
Long
count
=
redisTemplate
.
opsForList
().
rightPushAll
(
key
,
values
);
return
count
==
null
?
0
:
count
;
}
/**
* 往List中右侧存入多个数据
*
* @param key Redis键
* @param values 多个数据
* @return 存入的个数
*/
public
static
long
rPushAll
(
final
String
key
,
final
Object
...
values
)
{
Long
count
=
redisTemplate
.
opsForList
().
rightPushAll
(
key
,
values
);
return
count
==
null
?
0
:
count
;
}
/**
* 从List中获取begin到end之间的元素
*
* @param key Redis键
* @param start 开始位置
* @param end 结束位置(start=0,end=-1表示获取全部元素)
* @return List对象
*/
public
static
List
<
Object
>
listGetRange
(
final
String
key
,
final
int
start
,
final
int
end
)
{
return
redisTemplate
.
opsForList
().
range
(
key
,
start
,
end
);
}
/**
* 从List左侧弹出数据
*
* @param key Redis键
* @return 对象
*/
public
static
Object
listGetL
(
final
String
key
)
{
return
redisTemplate
.
opsForList
().
leftPop
(
key
);
}
/**
* 从List右侧弹出数据
*
* @param key Redis键
* @return 对象
*/
public
static
Object
listGetR
(
final
String
key
)
{
return
redisTemplate
.
opsForList
().
rightPop
(
key
);
}
/**
* @description: 移除有序集合中给定的分数区间的所有成员
* @date: 2023/11/27 15:19
* @param: [key, start, end]
* @return: Long 移除的成员数
**/
public
static
Long
delZset
(
String
key
,
double
start
,
double
end
){
return
redisTemplate
.
opsForZSet
().
removeRangeByScore
(
key
,
start
,
end
);
}
/**
* @description: 计算在有序集合中指定区间分数的成员数
* @date: 2023/11/27 15:21
* @param: [key, start, end]
* @return: java.lang.Long
**/
public
static
Long
countZset
(
String
key
,
double
start
,
double
end
){
return
redisTemplate
.
opsForZSet
().
count
(
key
,
start
,
end
);
}
/**
* @description: 向有序集合添加一个或多个成员,或者更新已存在成员的分数
* @date: 2023/11/27 15:26
* @param: [key, fileds, end]
* @return: boolean
**/
public
static
boolean
addZset
(
String
key
,
Object
fileds
,
double
end
){
return
Boolean
.
TRUE
.
equals
(
redisTemplate
.
opsForZSet
().
add
(
key
,
fileds
,
end
));
}
}
src/main/java/com/lyy/admin/controller/WeixinController.java
View file @
d37d6077
...
@@ -6,12 +6,17 @@ import cn.hutool.json.JSONObject;
...
@@ -6,12 +6,17 @@ import cn.hutool.json.JSONObject;
import
cn.hutool.json.JSONUtil
;
import
cn.hutool.json.JSONUtil
;
import
com.baomidou.mybatisplus.core.conditions.query.QueryWrapper
;
import
com.baomidou.mybatisplus.core.conditions.query.QueryWrapper
;
import
com.lyy.admin.VO.SysUserInfoVO
;
import
com.lyy.admin.VO.SysUserInfoVO
;
import
com.lyy.admin.common.constant.Constants
;
import
com.lyy.admin.common.exception.APIException
;
import
com.lyy.admin.common.exception.APIException
;
import
com.lyy.admin.common.exception.APIExceptionEnum
;
import
com.lyy.admin.common.exception.APIExceptionEnum
;
import
com.lyy.admin.common.utils.BusinessService
;
import
com.lyy.admin.common.utils.WeixinUtil
;
import
com.lyy.admin.common.utils.WeixinUtil
;
import
com.lyy.admin.common.utils.redis.RedisUtil
;
import
com.lyy.admin.common.utils.uuid.IdUtils
;
import
com.lyy.admin.common.utils.uuid.IdUtils
;
import
com.lyy.admin.domain.SysUserInfo
;
import
com.lyy.admin.domain.SysUserInfo
;
import
com.lyy.admin.domain.system.SysMembershipInfo
;
import
com.lyy.admin.domain.system.SysMembershipInfo
;
import
com.lyy.admin.enumerate.BusinessTypeEnum
;
import
com.lyy.admin.enumerate.ThreadSourceEnum
;
import
com.lyy.admin.service.SysUserInfoService
;
import
com.lyy.admin.service.SysUserInfoService
;
import
com.lyy.admin.service.system.SysMembershipInfoService
;
import
com.lyy.admin.service.system.SysMembershipInfoService
;
import
io.swagger.annotations.Api
;
import
io.swagger.annotations.Api
;
...
@@ -22,6 +27,9 @@ import org.springframework.stereotype.Controller;
...
@@ -22,6 +27,9 @@ import org.springframework.stereotype.Controller;
import
org.springframework.web.bind.annotation.*
;
import
org.springframework.web.bind.annotation.*
;
import
java.util.Date
;
import
java.util.Date
;
import
java.util.HashMap
;
import
java.util.Map
;
import
java.util.concurrent.CompletableFuture
;
@Controller
@Controller
...
@@ -34,6 +42,9 @@ public class WeixinController extends BaseController {
...
@@ -34,6 +42,9 @@ public class WeixinController extends BaseController {
@Autowired
@Autowired
SysMembershipInfoService
sysMembershipInfoService
;
SysMembershipInfoService
sysMembershipInfoService
;
@Autowired
private
BusinessService
businessService
;
@PostMapping
(
"/login"
)
@PostMapping
(
"/login"
)
@ResponseBody
@ResponseBody
@ApiOperation
(
value
=
"获取手机号码并登录"
,
notes
=
""
)
@ApiOperation
(
value
=
"获取手机号码并登录"
,
notes
=
""
)
...
@@ -60,7 +71,24 @@ public class WeixinController extends BaseController {
...
@@ -60,7 +71,24 @@ public class WeixinController extends BaseController {
sysUserInfo
.
setLoginName
(
phoneNumber
);
sysUserInfo
.
setLoginName
(
phoneNumber
);
sysUserInfo
.
setCreateTime
(
DateUtil
.
date
());
sysUserInfo
.
setCreateTime
(
DateUtil
.
date
());
sysUserInfo
.
setCreateBy
(
"9999"
);
sysUserInfo
.
setCreateBy
(
"9999"
);
sysUserInfo
.
setSource
(
1
);
sysUserInfo
.
setSource
(
ThreadSourceEnum
.
YQZD
.
getCode
());
// 给当前用户存储 解锁次数
RedisUtil
.
hPut
(
Constants
.
LIMIT_NUM
,
phoneNumber
+
":"
+
BusinessTypeEnum
.
PARK
.
getCode
(),
BusinessTypeEnum
.
PARK
.
getNumber
());
RedisUtil
.
hPut
(
Constants
.
LIMIT_NUM
,
phoneNumber
+
":"
+
BusinessTypeEnum
.
CARRIER
.
getCode
(),
BusinessTypeEnum
.
CARRIER
.
getNumber
());
// 保存一条线索信息
Map
<
String
,
Object
>
saveThread
=
new
HashMap
<>();
saveThread
.
put
(
"dataSource"
,
ThreadSourceEnum
.
YQZD
.
getCode
());
saveThread
.
put
(
"phone"
,
phoneNumber
);
saveThread
.
put
(
"createTime"
,
DateUtil
.
date
());
CompletableFuture
.
runAsync
(()
->
businessService
.
savThread
(
saveThread
));
sysUserInfoService
.
save
(
sysUserInfo
);
sysUserInfoService
.
save
(
sysUserInfo
);
}
}
...
...
src/main/java/com/lyy/admin/domain/system/SysCarouselInfo.java
View file @
d37d6077
...
@@ -86,6 +86,12 @@ public class SysCarouselInfo implements Serializable {
...
@@ -86,6 +86,12 @@ public class SysCarouselInfo implements Serializable {
@ApiModelProperty
(
hidden
=
true
)
@ApiModelProperty
(
hidden
=
true
)
private
String
linkUrl
;
private
String
linkUrl
;
@ApiModelProperty
(
hidden
=
true
)
private
Integer
urlType
;
@ApiModelProperty
(
hidden
=
true
)
private
String
videoCover
;
@TableField
(
exist
=
false
)
@TableField
(
exist
=
false
)
private
static
final
long
serialVersionUID
=
1L
;
private
static
final
long
serialVersionUID
=
1L
;
}
}
\ No newline at end of file
src/main/java/com/lyy/admin/enumerate/BusinessTypeEnum.java
0 → 100644
View file @
d37d6077
package
com
.
lyy
.
admin
.
enumerate
;
import
lombok.Getter
;
@Getter
public
enum
BusinessTypeEnum
{
DEVELOPMENT
(
1
,
"开发区"
,
0
),
PARK
(
2
,
"园区"
,
20
),
LAND
(
3
,
"土地"
,
0
),
CARRIER
(
4
,
"载体"
,
30
),;
private
final
Integer
code
;
private
final
String
name
;
//详情页面访问次数 默认次数 减去当前次数1
private
final
Integer
number
;
BusinessTypeEnum
(
Integer
typeId
,
String
name
,
Integer
number
)
{
this
.
code
=
typeId
;
this
.
name
=
name
;
this
.
number
=
number
;
}
public
static
Integer
getNum
(
Integer
code
){
for
(
BusinessTypeEnum
bt:
values
()){
if
(
bt
.
code
.
equals
(
code
)){
return
bt
.
number
;
}
}
return
null
;
}
}
src/main/java/com/lyy/admin/enumerate/ThreadSourceEnum.java
0 → 100644
View file @
d37d6077
package
com
.
lyy
.
admin
.
enumerate
;
public
enum
ThreadSourceEnum
{
YQZD
(
1
,
"园区字典"
),
LYY
(
2
,
"立业云"
);
private
Integer
code
;
private
String
name
;
ThreadSourceEnum
(
Integer
code
,
String
name
)
{
this
.
code
=
code
;
this
.
name
=
name
;
}
public
Integer
getCode
()
{
return
code
;
}
}
src/main/java/com/lyy/admin/enumerate/UrlTypeEnum.java
0 → 100644
View file @
d37d6077
package
com
.
lyy
.
admin
.
enumerate
;
public
enum
UrlTypeEnum
{
PIC
(
1
,
"图片"
),
VIDEO
(
2
,
"视频"
),
OTHER
(
3
,
"其它"
);
private
Integer
code
;
private
String
name
;
UrlTypeEnum
(
Integer
code
,
String
name
)
{
this
.
code
=
code
;
this
.
name
=
name
;
}
public
Integer
getCode
()
{
return
code
;
}
public
String
getName
()
{
return
name
;
}
public
static
String
getName
(
Integer
code
)
{
for
(
UrlTypeEnum
bt
:
values
())
{
if
(
bt
.
code
.
equals
(
code
))
{
return
bt
.
name
;
}
}
return
null
;
}
}
src/main/java/com/lyy/admin/service/developmentinfo/impl/DevelopmentInfoServiceImpl.java
View file @
d37d6077
...
@@ -365,7 +365,8 @@ public class DevelopmentInfoServiceImpl extends ServiceImpl<DevelopmentInfoMappe
...
@@ -365,7 +365,8 @@ public class DevelopmentInfoServiceImpl extends ServiceImpl<DevelopmentInfoMappe
Integer
yuanquId
=
CarouselTypeEnum
.
KAIFAQU
.
getType
();
Integer
yuanquId
=
CarouselTypeEnum
.
KAIFAQU
.
getType
();
LambdaQueryWrapper
<
SysCarouselInfo
>
tWrapper
=
new
LambdaQueryWrapper
<>();
LambdaQueryWrapper
<
SysCarouselInfo
>
tWrapper
=
new
LambdaQueryWrapper
<>();
tWrapper
.
eq
(
SysCarouselInfo:
:
getType
,
yuanquId
).
eq
(
SysCarouselInfo:
:
getAssociationId
,
id
).
eq
(
SysCarouselInfo:
:
getStatus
,
StatusEnum
.
ENABLE
.
getCode
());
tWrapper
.
eq
(
SysCarouselInfo:
:
getType
,
yuanquId
).
eq
(
SysCarouselInfo:
:
getAssociationId
,
id
)
.
eq
(
SysCarouselInfo:
:
getUrlType
,
UrlTypeEnum
.
PIC
.
getCode
()).
eq
(
SysCarouselInfo:
:
getStatus
,
StatusEnum
.
ENABLE
.
getCode
());
List
<
SysCarouselInfo
>
sysCarouselInfos
=
sysCarouselInfoService
.
list
(
tWrapper
);
List
<
SysCarouselInfo
>
sysCarouselInfos
=
sysCarouselInfoService
.
list
(
tWrapper
);
developmentInfoAllVO
.
setSysCarouselInfos
(
sysCarouselInfos
);
developmentInfoAllVO
.
setSysCarouselInfos
(
sysCarouselInfos
);
...
@@ -570,18 +571,19 @@ public class DevelopmentInfoServiceImpl extends ServiceImpl<DevelopmentInfoMappe
...
@@ -570,18 +571,19 @@ public class DevelopmentInfoServiceImpl extends ServiceImpl<DevelopmentInfoMappe
List
<
DevelopmentIndustrialLandInfo
>
list4
=
developmentIndustrialLandInfoService
.
list
(
diliQW
);
List
<
DevelopmentIndustrialLandInfo
>
list4
=
developmentIndustrialLandInfoService
.
list
(
diliQW
);
developmentInfoAllSaveVO
.
setIndustryLandInfos
(
list4
);
developmentInfoAllSaveVO
.
setIndustryLandInfos
(
list4
);
//开发区图片
//开发区图片
QueryWrapper
<
SysCarouselInfo
>
sciQW
=
new
QueryWrapper
<>();
// QueryWrapper<SysCarouselInfo> sciQW = new QueryWrapper<>();
sciQW
.
eq
(
"association_id"
,
id
);
// sciQW.eq("association_id", id);
sciQW
.
eq
(
"type"
,
CarouselTypeEnum
.
KAIFAQU
.
getType
());
// sciQW.eq("type", CarouselTypeEnum.KAIFAQU.getType());
List
<
SysCarouselInfo
>
list5
=
sysCarouselInfoService
.
list
(
sciQW
);
// List<SysCarouselInfo> list5 = sysCarouselInfoService.list(sciQW);
List
<
String
>
collect
=
list5
.
stream
().
map
(
e
->
{
// List<String> collect = list5.stream().map(e -> {
return
e
.
getImgUrl
();
// return e.getImgUrl();
}).
collect
(
Collectors
.
toList
());
// }).collect(Collectors.toList());
List
<
String
>
imgUrls
=
sysCarouselInfoService
.
getImgUrls
(
CarouselTypeEnum
.
KAIFAQU
,
id
);
if
(
StringUtils
.
isNotBlank
(
developmentInfo
.
getImgUrl
())){
if
(
StringUtils
.
isNotBlank
(
developmentInfo
.
getImgUrl
())){
collect
.
add
(
developmentInfo
.
getImgUrl
());
imgUrls
.
add
(
developmentInfo
.
getImgUrl
());
collect
=
collect
.
stream
().
distinct
().
collect
(
Collectors
.
toList
());
imgUrls
=
imgUrls
.
stream
().
distinct
().
collect
(
Collectors
.
toList
());
}
}
developmentInfoAllSaveVO
.
setCarouselUrls
(
collect
);
developmentInfoAllSaveVO
.
setCarouselUrls
(
imgUrls
);
//政策文件
//政策文件
QueryWrapper
<
FileSource
>
fsQW
=
new
QueryWrapper
<>();
QueryWrapper
<
FileSource
>
fsQW
=
new
QueryWrapper
<>();
fsQW
.
eq
(
"object_id"
,
id
);
fsQW
.
eq
(
"object_id"
,
id
);
...
...
src/main/java/com/lyy/admin/service/impl/SysUserInfoServiceImpl.java
View file @
d37d6077
...
@@ -6,10 +6,14 @@ import cn.hutool.core.util.IdUtil;
...
@@ -6,10 +6,14 @@ import cn.hutool.core.util.IdUtil;
import
com.baomidou.mybatisplus.core.conditions.query.QueryWrapper
;
import
com.baomidou.mybatisplus.core.conditions.query.QueryWrapper
;
import
com.baomidou.mybatisplus.extension.service.impl.ServiceImpl
;
import
com.baomidou.mybatisplus.extension.service.impl.ServiceImpl
;
import
com.lyy.admin.common.config.LyyConfig
;
import
com.lyy.admin.common.config.LyyConfig
;
import
com.lyy.admin.common.constant.Constants
;
import
com.lyy.admin.common.exception.APIException
;
import
com.lyy.admin.common.exception.APIException
;
import
com.lyy.admin.common.exception.APIExceptionEnum
;
import
com.lyy.admin.common.exception.APIExceptionEnum
;
import
com.lyy.admin.common.utils.redis.RedisUtil
;
import
com.lyy.admin.domain.SysUserInfo
;
import
com.lyy.admin.domain.SysUserInfo
;
import
com.lyy.admin.domain.SysUserToken
;
import
com.lyy.admin.domain.SysUserToken
;
import
com.lyy.admin.enumerate.BusinessTypeEnum
;
import
com.lyy.admin.enumerate.ThreadSourceEnum
;
import
com.lyy.admin.mapper.SysUserInfoMapper
;
import
com.lyy.admin.mapper.SysUserInfoMapper
;
import
com.lyy.admin.mapper.SysUserTokenMapper
;
import
com.lyy.admin.mapper.SysUserTokenMapper
;
import
com.lyy.admin.service.SysUserInfoService
;
import
com.lyy.admin.service.SysUserInfoService
;
...
@@ -17,6 +21,10 @@ import org.springframework.beans.factory.annotation.Autowired;
...
@@ -17,6 +21,10 @@ import org.springframework.beans.factory.annotation.Autowired;
import
org.springframework.stereotype.Service
;
import
org.springframework.stereotype.Service
;
import
org.springframework.util.DigestUtils
;
import
org.springframework.util.DigestUtils
;
import
java.util.HashMap
;
import
java.util.Map
;
import
java.util.concurrent.CompletableFuture
;
/**
/**
* @author yaobaizheng
* @author yaobaizheng
* @description 针对表【sys_user_info(用户信息表)】的数据库操作Service实现
* @description 针对表【sys_user_info(用户信息表)】的数据库操作Service实现
...
...
src/main/java/com/lyy/admin/service/parkinfo/impl/ParkInfoServiceImpl.java
View file @
d37d6077
...
@@ -377,7 +377,8 @@ public class ParkInfoServiceImpl extends ServiceImpl<ParkInfoMapper, ParkInfo> i
...
@@ -377,7 +377,8 @@ public class ParkInfoServiceImpl extends ServiceImpl<ParkInfoMapper, ParkInfo> i
Integer
yuanquId
=
CarouselTypeEnum
.
YUANQU
.
getType
();
Integer
yuanquId
=
CarouselTypeEnum
.
YUANQU
.
getType
();
LambdaQueryWrapper
<
SysCarouselInfo
>
tWrapper
=
new
LambdaQueryWrapper
<>();
LambdaQueryWrapper
<
SysCarouselInfo
>
tWrapper
=
new
LambdaQueryWrapper
<>();
tWrapper
.
eq
(
SysCarouselInfo:
:
getType
,
yuanquId
).
eq
(
SysCarouselInfo:
:
getAssociationId
,
id
).
eq
(
SysCarouselInfo:
:
getStatus
,
StatusEnum
.
ENABLE
.
getCode
());
tWrapper
.
eq
(
SysCarouselInfo:
:
getType
,
yuanquId
).
eq
(
SysCarouselInfo:
:
getAssociationId
,
id
)
.
eq
(
SysCarouselInfo:
:
getUrlType
,
UrlTypeEnum
.
PIC
.
getCode
()).
eq
(
SysCarouselInfo:
:
getStatus
,
StatusEnum
.
ENABLE
.
getCode
());
List
<
SysCarouselInfo
>
sysCarouselInfos
=
sysCarouselInfoService
.
list
(
tWrapper
);
List
<
SysCarouselInfo
>
sysCarouselInfos
=
sysCarouselInfoService
.
list
(
tWrapper
);
parkInfoAllVO
.
setSysCarouselInfos
(
sysCarouselInfos
);
parkInfoAllVO
.
setSysCarouselInfos
(
sysCarouselInfos
);
return
parkInfoAllVO
;
return
parkInfoAllVO
;
...
@@ -612,18 +613,19 @@ public class ParkInfoServiceImpl extends ServiceImpl<ParkInfoMapper, ParkInfo> i
...
@@ -612,18 +613,19 @@ public class ParkInfoServiceImpl extends ServiceImpl<ParkInfoMapper, ParkInfo> i
}
}
//产业园图片
//产业园图片
QueryWrapper
<
SysCarouselInfo
>
sciQW
=
new
QueryWrapper
<>();
// QueryWrapper<SysCarouselInfo> sciQW = new QueryWrapper<>();
sciQW
.
eq
(
"association_id"
,
id
);
// sciQW.eq("association_id", id);
sciQW
.
eq
(
"type"
,
CarouselTypeEnum
.
YUANQU
.
getType
());
// sciQW.eq("type", CarouselTypeEnum.YUANQU.getType());
List
<
SysCarouselInfo
>
list4
=
sysCarouselInfoService
.
list
(
sciQW
);
// List<SysCarouselInfo> list4 = sysCarouselInfoService.list(sciQW);
List
<
String
>
collect
=
list4
.
stream
().
map
(
e
->
{
// List<String> collect = list4.stream().map(e -> {
return
e
.
getImgUrl
();
// return e.getImgUrl();
}).
collect
(
Collectors
.
toList
());
// }).collect(Collectors.toList());
List
<
String
>
imgUrls
=
sysCarouselInfoService
.
getImgUrls
(
CarouselTypeEnum
.
YUANQU
,
id
);
if
(
StringUtils
.
isNotBlank
(
parkInfo
.
getImgUrl
())){
if
(
StringUtils
.
isNotBlank
(
parkInfo
.
getImgUrl
())){
collect
.
add
(
parkInfo
.
getImgUrl
());
imgUrls
.
add
(
parkInfo
.
getImgUrl
());
collect
=
collect
.
stream
().
distinct
().
collect
(
Collectors
.
toList
());
imgUrls
=
imgUrls
.
stream
().
distinct
().
collect
(
Collectors
.
toList
());
}
}
parkInfoAllSaveVO
.
setCarouselUrls
(
collect
);
parkInfoAllSaveVO
.
setCarouselUrls
(
imgUrls
);
//政策文件上传
//政策文件上传
QueryWrapper
<
FileSource
>
fsQW
=
new
QueryWrapper
<>();
QueryWrapper
<
FileSource
>
fsQW
=
new
QueryWrapper
<>();
...
...
src/main/java/com/lyy/admin/service/system/SysCarouselInfoService.java
View file @
d37d6077
...
@@ -15,4 +15,6 @@ public interface SysCarouselInfoService extends IService<SysCarouselInfo> {
...
@@ -15,4 +15,6 @@ public interface SysCarouselInfoService extends IService<SysCarouselInfo> {
public
void
saveCarouselInfo
(
Integer
id
,
List
<
String
>
imgUrls
,
CarouselTypeEnum
carouselTypeEnum
);
public
void
saveCarouselInfo
(
Integer
id
,
List
<
String
>
imgUrls
,
CarouselTypeEnum
carouselTypeEnum
);
public
List
<
String
>
getImgUrls
(
CarouselTypeEnum
carouselTypeEnum
,
Integer
businessId
);
}
}
src/main/java/com/lyy/admin/service/system/impl/SysCarouselInfoServiceImpl.java
View file @
d37d6077
package
com
.
lyy
.
admin
.
service
.
system
.
impl
;
package
com
.
lyy
.
admin
.
service
.
system
.
impl
;
import
com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper
;
import
com.baomidou.mybatisplus.extension.service.impl.ServiceImpl
;
import
com.baomidou.mybatisplus.extension.service.impl.ServiceImpl
;
import
com.lyy.admin.domain.system.SysCarouselInfo
;
import
com.lyy.admin.domain.system.SysCarouselInfo
;
import
com.lyy.admin.enumerate.CarouselTypeEnum
;
import
com.lyy.admin.enumerate.CarouselTypeEnum
;
import
com.lyy.admin.enumerate.StatusEnum
;
import
com.lyy.admin.enumerate.StatusEnum
;
import
com.lyy.admin.enumerate.UrlTypeEnum
;
import
com.lyy.admin.mapper.system.SysCarouselInfoMapper
;
import
com.lyy.admin.mapper.system.SysCarouselInfoMapper
;
import
com.lyy.admin.service.system.SysCarouselInfoService
;
import
com.lyy.admin.service.system.SysCarouselInfoService
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.stereotype.Service
;
import
org.springframework.stereotype.Service
;
import
org.springframework.transaction.annotation.Transactional
;
import
org.springframework.transaction.annotation.Transactional
;
import
org.springframework.util.CollectionUtils
;
import
java.util.ArrayList
;
import
java.util.List
;
import
java.util.List
;
import
java.util.stream.Collectors
;
/**
/**
...
@@ -36,10 +41,36 @@ public class SysCarouselInfoServiceImpl extends ServiceImpl<SysCarouselInfoMappe
...
@@ -36,10 +41,36 @@ public class SysCarouselInfoServiceImpl extends ServiceImpl<SysCarouselInfoMappe
sysCarouselInfo
.
setAssociationId
(
id
);
sysCarouselInfo
.
setAssociationId
(
id
);
sysCarouselInfo
.
setStatus
(
StatusEnum
.
ENABLE
.
getCode
());
sysCarouselInfo
.
setStatus
(
StatusEnum
.
ENABLE
.
getCode
());
sysCarouselInfo
.
setType
(
carouselTypeEnum
.
getType
());
sysCarouselInfo
.
setType
(
carouselTypeEnum
.
getType
());
sysCarouselInfo
.
setUrlType
(
UrlTypeEnum
.
PIC
.
getCode
());
sysCarouselInfo
.
setImgUrl
(
url
);
sysCarouselInfo
.
setImgUrl
(
url
);
sysCarouselInfoMapper
.
insert
(
sysCarouselInfo
);
sysCarouselInfoMapper
.
insert
(
sysCarouselInfo
);
}
}
}
}
/**
* @description: 获取轮播图
* @date: 2023/11/29 11:59
* @param: [type, businessId]
* @return: java.util.List<java.lang.String>
**/
@Override
public
List
<
String
>
getImgUrls
(
CarouselTypeEnum
carouselTypeEnum
,
Integer
businessId
)
{
List
<
String
>
result
=
new
ArrayList
<>();
LambdaQueryWrapper
<
SysCarouselInfo
>
carouseQuery
=
new
LambdaQueryWrapper
<>();
carouseQuery
.
eq
(
SysCarouselInfo:
:
getType
,
carouselTypeEnum
.
getType
())
.
eq
(
SysCarouselInfo:
:
getAssociationId
,
businessId
)
.
eq
(
SysCarouselInfo:
:
getStatus
,
StatusEnum
.
ENABLE
.
getCode
())
.
eq
(
SysCarouselInfo:
:
getUrlType
,
UrlTypeEnum
.
PIC
.
getCode
())
.
orderByAsc
(
SysCarouselInfo:
:
getOrderNumber
);
List
<
SysCarouselInfo
>
carouselInfoList
=
this
.
list
(
carouseQuery
);
if
(!
CollectionUtils
.
isEmpty
(
carouselInfoList
))
{
result
=
carouselInfoList
.
stream
().
map
(
SysCarouselInfo:
:
getImgUrl
).
collect
(
Collectors
.
toList
());
}
return
result
;
}
}
}
...
...
src/main/resources/application-dev.yml
View file @
d37d6077
...
@@ -72,4 +72,8 @@ huaweiObs:
...
@@ -72,4 +72,8 @@ huaweiObs:
endPoint
:
obs.cn-north-4.myhuaweicloud.com
endPoint
:
obs.cn-north-4.myhuaweicloud.com
ak
:
5M4SFISSZI2CN4JVPHVI
ak
:
5M4SFISSZI2CN4JVPHVI
sk
:
uZIdUJIwO0sKGVY0hltF9I6IbHEmjwCRco5JV7aM
sk
:
uZIdUJIwO0sKGVY0hltF9I6IbHEmjwCRco5JV7aM
bucketName
:
cfld-hw-obs-01
bucketName
:
cfld-hw-obs-01
\ No newline at end of file
business
:
url
:
thread
:
localhost:8087/lyy/api/threadInfo/v1.0/save
\ No newline at end of file
src/main/resources/application-local.yml
View file @
d37d6077
...
@@ -72,4 +72,8 @@ huaweiObs:
...
@@ -72,4 +72,8 @@ huaweiObs:
endPoint
:
obs.cn-north-4.myhuaweicloud.com
endPoint
:
obs.cn-north-4.myhuaweicloud.com
ak
:
5M4SFISSZI2CN4JVPHVI
ak
:
5M4SFISSZI2CN4JVPHVI
sk
:
uZIdUJIwO0sKGVY0hltF9I6IbHEmjwCRco5JV7aM
sk
:
uZIdUJIwO0sKGVY0hltF9I6IbHEmjwCRco5JV7aM
bucketName
:
cfld-hw-obs-01
bucketName
:
cfld-hw-obs-01
\ No newline at end of file
business
:
url
:
thread
:
localhost:8087/lyy/api/threadInfo/v1.0/save
\ No newline at end of file
src/main/resources/application-prod.yml
View file @
d37d6077
...
@@ -75,4 +75,8 @@ huaweiObs:
...
@@ -75,4 +75,8 @@ huaweiObs:
bucketName
:
cfld-hw-obs-01
bucketName
:
cfld-hw-obs-01
swagger
:
swagger
:
enabled
:
false
enabled
:
false
\ No newline at end of file
business
:
url
:
thread
:
localhost:8087/lyy/api/threadInfo/v1.0/save
\ No newline at end of file
src/main/resources/application-test.yml
View file @
d37d6077
...
@@ -8,7 +8,7 @@ spring:
...
@@ -8,7 +8,7 @@ spring:
datasource
:
datasource
:
type
:
com.alibaba.druid.pool.DruidDataSource
type
:
com.alibaba.druid.pool.DruidDataSource
driverClassName
:
com.mysql.cj.jdbc.Driver
driverClassName
:
com.mysql.cj.jdbc.Driver
url
:
jdbc:mysql://rm-2ze10ohzb1898j5qd.mysql.rds.aliyuncs.com:3306/liyeyun?serverTimezone=GMT%2B8&useUnicode=true&characterEncoding=utf-8&useSSL=true
url
:
jdbc:mysql://rm-2ze10ohzb1898j5qd
fo
.mysql.rds.aliyuncs.com:3306/liyeyun?serverTimezone=GMT%2B8&useUnicode=true&characterEncoding=utf-8&useSSL=true
username
:
liyeyun
username
:
liyeyun
password
:
CF**ldcn
password
:
CF**ldcn
# 初始连接数
# 初始连接数
...
@@ -72,4 +72,8 @@ huaweiObs:
...
@@ -72,4 +72,8 @@ huaweiObs:
endPoint
:
obs.cn-north-4.myhuaweicloud.com
endPoint
:
obs.cn-north-4.myhuaweicloud.com
ak
:
5M4SFISSZI2CN4JVPHVI
ak
:
5M4SFISSZI2CN4JVPHVI
sk
:
uZIdUJIwO0sKGVY0hltF9I6IbHEmjwCRco5JV7aM
sk
:
uZIdUJIwO0sKGVY0hltF9I6IbHEmjwCRco5JV7aM
bucketName
:
cfld-hw-obs-01
bucketName
:
cfld-hw-obs-01
\ No newline at end of file
business
:
url
:
thread
:
localhost:8087/lyy/api/threadInfo/v1.0/save
\ No newline at end of file
src/main/resources/application.yml
View file @
d37d6077
...
@@ -26,7 +26,7 @@ spring:
...
@@ -26,7 +26,7 @@ spring:
name
:
cfld-region-outline
name
:
cfld-region-outline
# 配置环境切换
# 配置环境切换
profiles
:
profiles
:
active
:
local
active
:
test
# 文件上传
# 文件上传
servlet
:
servlet
:
multipart
:
multipart
:
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment