🎨 代码优化

🎨 代码优化
This commit is contained in:
ronger 2022-06-08 09:41:30 +08:00 committed by GitHub
commit d34bf02561
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
11 changed files with 59 additions and 26 deletions

View File

@ -101,7 +101,7 @@
<dependency>
<groupId>com.alibaba</groupId>
<artifactId>fastjson</artifactId>
<version>2.0.3</version>
<version>1.2.83</version>
</dependency>
<!-- shiro权限控制框架 -->
<dependency>
@ -241,10 +241,6 @@
<groupId>com.google.guava</groupId>
<artifactId>guava</artifactId>
</exclusion>
<exclusion>
<groupId>org.json</groupId>
<artifactId>json</artifactId>
</exclusion>
</exclusions>
</dependency>

View File

@ -75,11 +75,21 @@ public class AuthorshipAspect {
isArticle = false;
}
HttpServletRequest request = ((ServletRequestAttributes) Objects.requireNonNull(RequestContextHolder.getRequestAttributes())).getRequest();
String idArticle = "";
String idArticle;
Integer idAuthor = 0;
if (isAjax(request)) {
Object[] objects = joinPoint.getArgs();
JSONObject jsonObject = JSONObject.parseObject(JSON.toJSONString(objects[0]));
JSONObject jsonObject;
if (objects[0] instanceof Integer) {
jsonObject = new JSONObject();
if (isArticle) {
jsonObject.put("idArticle", objects[0].toString());
} else {
jsonObject.put("idPortfolio", objects[0].toString());
}
} else {
jsonObject = JSONObject.parseObject(JSON.toJSONString(objects[0]));
}
if (Objects.nonNull(jsonObject)) {
if (isArticle) {
idArticle = jsonObject.getString("idArticle");

View File

@ -54,9 +54,14 @@ public class SecurityAspect {
String idUser = "";
if (isAjax(request)) {
Object[] objects = joinPoint.getArgs();
JSONObject jsonObject = JSONObject.parseObject(JSON.toJSONString(objects[0]));
if (Objects.nonNull(jsonObject)) {
idUser = jsonObject.getString("idUser");
JSONObject jsonObject;
if (objects[0] instanceof Integer) {
idUser = objects[0].toString();
} else {
jsonObject = JSONObject.parseObject(JSON.toJSONString(objects[0]));
if (Objects.nonNull(jsonObject)) {
idUser = jsonObject.getString("idUser");
}
}
} else {
Map params = getParams(request);

View File

@ -24,7 +24,7 @@ public class Sponsor implements Serializable, Cloneable {
/**
* 数据类型
*/
private String dataType;
private Integer dataType;
/**
* 数据主键
*/

View File

@ -7,29 +7,22 @@ import java.util.Arrays;
*/
public enum TransactionEnum {
ArticleSponsor("0", 20, "文章赞赏"),
Answer("1", 30, "答题奖励"),
CorrectAnswer("2", 50, "答题奖励"),
NewbieRewards("3", 200, "新手奖励");
private String dataType;
ArticleSponsor(20, "文章赞赏"),
Answer(30, "答题奖励"),
CorrectAnswer(50, "答题奖励"),
NewbieRewards(200, "新手奖励");
private Integer money;
private String description;
TransactionEnum(String dataType, Integer money, String description) {
this.dataType = dataType;
TransactionEnum(Integer money, String description) {
this.money = money;
this.description = description;
}
public static TransactionEnum findTransactionEnum(String dataType) {
return Arrays.stream(TransactionEnum.values()).filter(transactionEnum -> transactionEnum.getDataType().equals(dataType)).findFirst().orElse(TransactionEnum.ArticleSponsor);
}
public String getDataType() {
return this.dataType;
public static TransactionEnum findTransactionEnum(int dataType) {
return Arrays.stream(TransactionEnum.values()).filter(transactionEnum -> transactionEnum.ordinal() == dataType).findFirst().orElse(TransactionEnum.ArticleSponsor);
}
public Integer getMoney() {

View File

@ -58,4 +58,12 @@ public interface NotificationMapper extends Mapper<Notification> {
* @return
*/
Integer readAllNotification(@Param("idUser") Integer idUser);
/**
* 删除相关未读消息
* @param dataId
* @param dataType
* @return
*/
Integer deleteUnreadNotification(@Param("dataId") Integer dataId, @Param("dataType") String dataType);
}

View File

@ -58,4 +58,12 @@ public interface NotificationService extends Service<Notification> {
* @throws BaseApiException
*/
Integer readAllNotification() throws BaseApiException;
/**
* 删除相关未读消息
* @param dataId
* @param dataType
* @return
*/
Integer deleteUnreadNotification(Integer dataId, String dataType);
}

View File

@ -10,6 +10,7 @@ import com.rymcu.forest.entity.User;
import com.rymcu.forest.lucene.service.LuceneService;
import com.rymcu.forest.mapper.ArticleMapper;
import com.rymcu.forest.service.ArticleService;
import com.rymcu.forest.service.NotificationService;
import com.rymcu.forest.service.TagService;
import com.rymcu.forest.service.UserService;
import com.rymcu.forest.util.*;
@ -43,6 +44,8 @@ public class ArticleServiceImpl extends AbstractService<Article> implements Arti
private UserService userService;
@Resource
private LuceneService luceneService;
@Resource
private NotificationService notificationService;
@Value("${resource.domain}")
private String domain;
@ -257,6 +260,8 @@ public class ArticleServiceImpl extends AbstractService<Article> implements Arti
articleMapper.deleteTagArticle(id);
// 删除文章内容表
articleMapper.deleteArticleContent(id);
// 删除相关未读消息
notificationService.deleteUnreadNotification(id, NotificationConstant.PostArticle);
}
@Override

View File

@ -77,4 +77,9 @@ public class NotificationServiceImpl extends AbstractService<Notification> imple
public Integer readAllNotification() throws BaseApiException {
return notificationMapper.readAllNotification(Objects.requireNonNull(UserUtils.getCurrentUserByToken()).getIdUser());
}
@Override
public Integer deleteUnreadNotification(Integer dataId, String dataType) {
return notificationMapper.deleteUnreadNotification(dataId, dataType);
}
}

View File

@ -57,7 +57,7 @@ public class TransactionRecordServiceImpl extends AbstractService<TransactionRec
@Override
public List<TransactionRecordDTO> findTransactionRecords(String bankAccount, String startDate, String endDate) {
List<TransactionRecordDTO> list = transactionRecordMapper.selectTransactionRecords(bankAccount, startDate, endDate);
list.forEach(transactionRecordDTO -> genTransactionRecord(transactionRecordDTO));
list.forEach(this::genTransactionRecord);
return list;
}

View File

@ -28,6 +28,9 @@
<update id="readAllNotification">
update forest_notification set has_read = '1' where id_user = #{idUser} and has_read = '0'
</update>
<delete id="deleteUnreadNotification">
delete from forest_notification where has_read = '0' and data_id = #{dataId} and data_type = #{dataType}
</delete>
<select id="selectUnreadNotifications" resultMap="BaseResultMapper">
select * from forest_notification where has_read = '0' and id_user = #{idUser} order by created_time desc
</select>