Commit d37d6077 authored by yaobaizheng's avatar yaobaizheng

注册时添加线索数量 另外园区开发区中区别视频和图片

parent c2940d0c
...@@ -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>
......
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();
}
}
...@@ -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
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;
}
}
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;
}
}
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));
}
}
...@@ -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);
} }
......
...@@ -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
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;
}
}
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;
}
}
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;
}
}
...@@ -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);
......
...@@ -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实现
......
...@@ -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<>();
......
...@@ -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);
} }
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;
}
} }
......
...@@ -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
...@@ -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
...@@ -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
...@@ -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-2ze10ohzb1898j5qdfo.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
...@@ -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:
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment