feat: 最近动态
This commit is contained in:
@@ -13,12 +13,10 @@ import com.schisandra.share.common.utils.CaffeineUtil;
|
|||||||
import com.schisandra.share.domain.bo.SchisandraShareDetailBO;
|
import com.schisandra.share.domain.bo.SchisandraShareDetailBO;
|
||||||
import com.schisandra.share.domain.bo.SchisandraUserLikesDetailBO;
|
import com.schisandra.share.domain.bo.SchisandraUserLikesDetailBO;
|
||||||
import com.schisandra.share.domain.service.SchisandraShareDetailDomainService;
|
import com.schisandra.share.domain.service.SchisandraShareDetailDomainService;
|
||||||
import feign.form.FormData;
|
|
||||||
import lombok.extern.slf4j.Slf4j;
|
import lombok.extern.slf4j.Slf4j;
|
||||||
import org.apache.rocketmq.client.producer.SendCallback;
|
import org.apache.rocketmq.client.producer.SendCallback;
|
||||||
import org.apache.rocketmq.client.producer.SendResult;
|
import org.apache.rocketmq.client.producer.SendResult;
|
||||||
import org.apache.rocketmq.spring.core.RocketMQTemplate;
|
import org.apache.rocketmq.spring.core.RocketMQTemplate;
|
||||||
import org.springframework.cache.annotation.Cacheable;
|
|
||||||
import org.springframework.web.bind.annotation.*;
|
import org.springframework.web.bind.annotation.*;
|
||||||
|
|
||||||
import javax.annotation.Resource;
|
import javax.annotation.Resource;
|
||||||
@@ -49,6 +47,13 @@ public class SchisandraShareDetailController {
|
|||||||
@Resource
|
@Resource
|
||||||
private RocketMQTemplate rocketMQTemplate;
|
private RocketMQTemplate rocketMQTemplate;
|
||||||
|
|
||||||
|
@GetMapping("getRecentShare")
|
||||||
|
public Result getRecentShare(String userId) {
|
||||||
|
String key = redisUtil.buildKey(SHARE_USER_RECENT, userId, "*");
|
||||||
|
List<HashMap<Object, Object>> list = redisUtil.getDataFromShare(key);
|
||||||
|
return Result.ok(list);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @description: 点赞
|
* @description: 点赞
|
||||||
@@ -160,11 +165,11 @@ public class SchisandraShareDetailController {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
);
|
);
|
||||||
String value="您最近创建了一个分享:"+schisandraShareDetailDTO.getTitle();
|
String value = "您最近创建了一个分享:" + schisandraShareDetailDTO.getTitle();
|
||||||
Date date = new Date();
|
Date date = new Date();
|
||||||
SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
|
SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
|
||||||
String formattedDate = dateFormat.format(date);
|
String formattedDate = dateFormat.format(date);
|
||||||
String key = redisUtil.buildKey(SHARE_USER_RECENT, schisandraShareDetailDTO.getUserId(),formattedDate);
|
String key = redisUtil.buildKey(SHARE_USER_RECENT, schisandraShareDetailDTO.getUserId(), formattedDate);
|
||||||
redisUtil.setNx(key, value, 30L, TimeUnit.DAYS);
|
redisUtil.setNx(key, value, 30L, TimeUnit.DAYS);
|
||||||
return Result.ok();
|
return Result.ok();
|
||||||
}
|
}
|
||||||
@@ -177,9 +182,9 @@ public class SchisandraShareDetailController {
|
|||||||
* 查询分享详细信息
|
* 查询分享详细信息
|
||||||
*/
|
*/
|
||||||
@GetMapping("get_detail")
|
@GetMapping("get_detail")
|
||||||
public Result selectDetail(@RequestParam("Id") String Id,String userId) {
|
public Result selectDetail(@RequestParam("Id") String Id, String userId) {
|
||||||
try {
|
try {
|
||||||
SchisandraShareDetailBO resultList = schisandraShareDetailDomainService.getDetailsById(Id,userId);
|
SchisandraShareDetailBO resultList = schisandraShareDetailDomainService.getDetailsById(Id, userId);
|
||||||
HashMap<String, Object> map = new HashMap<>();
|
HashMap<String, Object> map = new HashMap<>();
|
||||||
map.put("Id", Id);
|
map.put("Id", Id);
|
||||||
map.put("Views", true);
|
map.put("Views", true);
|
||||||
@@ -212,11 +217,11 @@ public class SchisandraShareDetailController {
|
|||||||
* @date: 2024/7/15 下午7:09
|
* @date: 2024/7/15 下午7:09
|
||||||
*/
|
*/
|
||||||
@PostMapping("list")
|
@PostMapping("list")
|
||||||
public Result<List<SchisandraShareDetailDTO>> selectCircleList(@RequestParam("circleId") String circleId,String userId) {
|
public Result<List<SchisandraShareDetailDTO>> selectCircleList(@RequestParam("circleId") String circleId, String userId) {
|
||||||
List<SchisandraShareDetailBO> result = (List<SchisandraShareDetailBO>) caffeineUtil
|
List<SchisandraShareDetailBO> result = (List<SchisandraShareDetailBO>) caffeineUtil
|
||||||
.caffeineBuild().getIfPresent("list" + circleId);
|
.caffeineBuild().getIfPresent("list" + circleId);
|
||||||
if (result == null) {
|
if (result == null) {
|
||||||
result = schisandraShareDetailDomainService.list(circleId,userId);
|
result = schisandraShareDetailDomainService.list(circleId, userId);
|
||||||
caffeineUtil.caffeineBuild().put("list" + circleId, result);
|
caffeineUtil.caffeineBuild().put("list" + circleId, result);
|
||||||
return Result.ok(SchisandraShareDetailDTOConverter.INSTANCE.convertBOToDTOList(result));
|
return Result.ok(SchisandraShareDetailDTOConverter.INSTANCE.convertBOToDTOList(result));
|
||||||
}
|
}
|
||||||
@@ -336,11 +341,11 @@ public class SchisandraShareDetailController {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
);
|
);
|
||||||
String value="您最近删除了一个分享:"+schisandraShareDetailDTO.getTitle();
|
String value = "您最近删除了一个分享:" + schisandraShareDetailDTO.getTitle();
|
||||||
Date date = new Date();
|
Date date = new Date();
|
||||||
SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
|
SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
|
||||||
String formattedDate = dateFormat.format(date);
|
String formattedDate = dateFormat.format(date);
|
||||||
String key = redisUtil.buildKey(SHARE_USER_RECENT, schisandraShareDetailDTO.getUserId(),formattedDate);
|
String key = redisUtil.buildKey(SHARE_USER_RECENT, schisandraShareDetailDTO.getUserId(), formattedDate);
|
||||||
redisUtil.setNx(key, value, 30L, TimeUnit.DAYS);
|
redisUtil.setNx(key, value, 30L, TimeUnit.DAYS);
|
||||||
return Result.ok();
|
return Result.ok();
|
||||||
}
|
}
|
||||||
@@ -354,8 +359,8 @@ public class SchisandraShareDetailController {
|
|||||||
|
|
||||||
@GetMapping("returnAllDetails")
|
@GetMapping("returnAllDetails")
|
||||||
public Result<List<SchisandraShareDetailDTO>> returnAllDetails(@RequestParam("circleId") Long circleId) {
|
public Result<List<SchisandraShareDetailDTO>> returnAllDetails(@RequestParam("circleId") Long circleId) {
|
||||||
List<SchisandraShareDetailBO> shareDetailBOList= schisandraShareDetailDomainService.queryAllDetails();
|
List<SchisandraShareDetailBO> shareDetailBOList = schisandraShareDetailDomainService.queryAllDetails();
|
||||||
List<SchisandraShareDetailDTO> schisandraShareDetailDTOS=SchisandraShareDetailDTOConverter.INSTANCE.convertBOToDTOList(shareDetailBOList);
|
List<SchisandraShareDetailDTO> schisandraShareDetailDTOS = SchisandraShareDetailDTOConverter.INSTANCE.convertBOToDTOList(shareDetailBOList);
|
||||||
return Result.ok(schisandraShareDetailDTOS);
|
return Result.ok(schisandraShareDetailDTOS);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@@ -53,6 +53,17 @@ public class RedisUtil {
|
|||||||
});
|
});
|
||||||
return keysList;
|
return keysList;
|
||||||
}
|
}
|
||||||
|
public List<HashMap<Object,Object>> getDataFromShare(String directory) {
|
||||||
|
Set<String>keys=redisTemplate.keys(directory);
|
||||||
|
List<HashMap<Object,Object>> keysList=new ArrayList<>();
|
||||||
|
keys.forEach(key->{
|
||||||
|
HashMap<Object,Object> map=new HashMap<>();
|
||||||
|
String value= (String) redisTemplate.opsForValue().get(key);
|
||||||
|
map.put(key,value);
|
||||||
|
keysList.add(map);
|
||||||
|
});
|
||||||
|
return keysList;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
Reference in New Issue
Block a user