From 0fb641bbd655e43d599d239873c9064d30092075 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E7=A3=B7=E5=8F=B6?= <14103883+leaf-phos@user.noreply.gitee.com> Date: Mon, 28 Apr 2025 16:33:51 +0800 Subject: [PATCH] =?UTF-8?q?=E9=A1=B5=E9=9D=A2=E5=AF=BC=E8=A7=88?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../ruoyi/common/core/domain/entity/User.java | 4 ++ .../AbstractSplitListTypeHandler.java | 7 ++-- .../StringSplitListTypeHandler.java | 12 +++--- .../service/impl/AgreementServiceImpl.java | 5 +-- .../system/dept/service/DeptService.java | 1 + .../ruoyi/system/user/mapper/UserMapper.java | 1 + .../ruoyi/system/user/mapper/UserMapper.xml | 5 +++ .../system/user/service/UserService.java | 5 +++ .../user/service/impl/UserServiceImpl.java | 37 +++++++++++-------- .../ruoyi/web/system/SysUserController.java | 12 ++++++ 10 files changed, 62 insertions(+), 27 deletions(-) diff --git a/common-ruoyi/ruoyi-common/src/main/java/com/ruoyi/common/core/domain/entity/User.java b/common-ruoyi/ruoyi-common/src/main/java/com/ruoyi/common/core/domain/entity/User.java index e99d832..2ce9bda 100644 --- a/common-ruoyi/ruoyi-common/src/main/java/com/ruoyi/common/core/domain/entity/User.java +++ b/common-ruoyi/ruoyi-common/src/main/java/com/ruoyi/common/core/domain/entity/User.java @@ -2,6 +2,7 @@ package com.ruoyi.common.core.domain.entity; import java.math.BigDecimal; import java.util.Date; +import java.util.List; import javax.validation.constraints.Email; import javax.validation.constraints.Max; @@ -131,6 +132,9 @@ public class User extends BaseEntity implements LogBizParam @ApiModelProperty("分成延迟到账时间(小时)") private Integer bonusDelay; + @Excel(name = "导览列表") + private List guides; + public User(Long userId) { this.userId = userId; } diff --git a/common-ruoyi/ruoyi-common/src/main/java/com/ruoyi/common/mybatis/typehandler/AbstractSplitListTypeHandler.java b/common-ruoyi/ruoyi-common/src/main/java/com/ruoyi/common/mybatis/typehandler/AbstractSplitListTypeHandler.java index 5056785..498055f 100644 --- a/common-ruoyi/ruoyi-common/src/main/java/com/ruoyi/common/mybatis/typehandler/AbstractSplitListTypeHandler.java +++ b/common-ruoyi/ruoyi-common/src/main/java/com/ruoyi/common/mybatis/typehandler/AbstractSplitListTypeHandler.java @@ -9,6 +9,7 @@ import java.sql.CallableStatement; import java.sql.PreparedStatement; import java.sql.ResultSet; import java.sql.SQLException; +import java.util.ArrayList; import java.util.Collections; import java.util.List; import java.util.stream.Collectors; @@ -32,20 +33,20 @@ public abstract class AbstractSplitListTypeHandler extends BaseTypeHandler
  • getNullableResult(ResultSet rs, String columnName) throws SQLException { String data = rs.getString(columnName); - return StringUtils.isBlank(data) ? Collections.emptyList() : parseToList(data, DELIMITER); + return StringUtils.isBlank(data) ? new ArrayList<>() : parseToList(data, DELIMITER); } @Override public List getNullableResult(ResultSet rs, int columnIndex) throws SQLException { String data = rs.getString(columnIndex); - return StringUtils.isBlank(data) ? Collections.emptyList() : parseToList(data, DELIMITER); + return StringUtils.isBlank(data) ? new ArrayList<>() : parseToList(data, DELIMITER); } @Override public List getNullableResult(CallableStatement cs, int columnIndex) throws SQLException { String data = cs.getString(columnIndex); - return StringUtils.isBlank(data) ? Collections.emptyList() : parseToList(data, DELIMITER); + return StringUtils.isBlank(data) ? new ArrayList<>() : parseToList(data, DELIMITER); } /** diff --git a/common-ruoyi/ruoyi-common/src/main/java/com/ruoyi/common/mybatis/typehandler/StringSplitListTypeHandler.java b/common-ruoyi/ruoyi-common/src/main/java/com/ruoyi/common/mybatis/typehandler/StringSplitListTypeHandler.java index 25ab900..3f71573 100644 --- a/common-ruoyi/ruoyi-common/src/main/java/com/ruoyi/common/mybatis/typehandler/StringSplitListTypeHandler.java +++ b/common-ruoyi/ruoyi-common/src/main/java/com/ruoyi/common/mybatis/typehandler/StringSplitListTypeHandler.java @@ -1,11 +1,11 @@ package com.ruoyi.common.mybatis.typehandler; -import org.apache.commons.lang3.StringUtils; - import java.util.ArrayList; import java.util.Arrays; import java.util.List; +import org.apache.commons.lang3.StringUtils; + /** * 2024/4/22 */ @@ -13,8 +13,9 @@ public class StringSplitListTypeHandler extends AbstractSplitListTypeHandler parseToList(String data, String delimiter) { @@ -22,6 +23,7 @@ public class StringSplitListTypeHandler extends AbstractSplitListTypeHandler(); } String[] split = data.split(delimiter); - return Arrays.asList(split); + // 使用ArrayList包装Arrays.asList的结果,确保返回的列表是可修改的 + return new ArrayList<>(Arrays.asList(split)); } } diff --git a/ruoyi-service/src/main/java/com/ruoyi/bst/agreement/service/impl/AgreementServiceImpl.java b/ruoyi-service/src/main/java/com/ruoyi/bst/agreement/service/impl/AgreementServiceImpl.java index 52080fd..c2323ed 100644 --- a/ruoyi-service/src/main/java/com/ruoyi/bst/agreement/service/impl/AgreementServiceImpl.java +++ b/ruoyi-service/src/main/java/com/ruoyi/bst/agreement/service/impl/AgreementServiceImpl.java @@ -31,10 +31,7 @@ public class AgreementServiceImpl implements AgreementService { @Autowired private AgreementMapper agreementMapper; - @Autowired - private AreaService areaService; - @Autowired - private UserService userService; + @Autowired private TransactionTemplate transactionTemplate; diff --git a/ruoyi-service/src/main/java/com/ruoyi/system/dept/service/DeptService.java b/ruoyi-service/src/main/java/com/ruoyi/system/dept/service/DeptService.java index 4eb98d5..db7d6c0 100644 --- a/ruoyi-service/src/main/java/com/ruoyi/system/dept/service/DeptService.java +++ b/ruoyi-service/src/main/java/com/ruoyi/system/dept/service/DeptService.java @@ -146,4 +146,5 @@ public interface DeptService * 查询所有部门名称列表 */ List selectAllDeptNameList(); + } diff --git a/ruoyi-service/src/main/java/com/ruoyi/system/user/mapper/UserMapper.java b/ruoyi-service/src/main/java/com/ruoyi/system/user/mapper/UserMapper.java index 1854a51..5863509 100644 --- a/ruoyi-service/src/main/java/com/ruoyi/system/user/mapper/UserMapper.java +++ b/ruoyi-service/src/main/java/com/ruoyi/system/user/mapper/UserMapper.java @@ -175,4 +175,5 @@ public interface UserMapper * 查询用户余额 */ public BigDecimal selectSumOfBalance(UserQuery query); + } diff --git a/ruoyi-service/src/main/java/com/ruoyi/system/user/mapper/UserMapper.xml b/ruoyi-service/src/main/java/com/ruoyi/system/user/mapper/UserMapper.xml index 7572377..a3ad5fe 100644 --- a/ruoyi-service/src/main/java/com/ruoyi/system/user/mapper/UserMapper.xml +++ b/ruoyi-service/src/main/java/com/ruoyi/system/user/mapper/UserMapper.xml @@ -7,6 +7,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" + @@ -67,6 +68,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" u.withdraw_service_value, u.area_id, u.bonus_delay, + u.guides, d.dept_id, d.parent_id, d.ancestors, @@ -302,6 +304,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" withdraw_service_value, area_id, bonus_delay, + guides, create_time )values( #{userId}, @@ -327,6 +330,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" #{withdrawServiceValue}, #{areaId}, #{bonusDelay}, + #{guides,typeHandler=com.ruoyi.common.mybatis.typehandler.StringSplitListTypeHandler}, sysdate() ) @@ -358,6 +362,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" withdraw_service_value = #{withdrawServiceValue}, area_id = #{areaId}, bonus_delay = #{bonusDelay}, + guides = #{guides,typeHandler=com.ruoyi.common.mybatis.typehandler.StringSplitListTypeHandler}, update_time = sysdate() where user_id = #{userId} diff --git a/ruoyi-service/src/main/java/com/ruoyi/system/user/service/UserService.java b/ruoyi-service/src/main/java/com/ruoyi/system/user/service/UserService.java index 28c538c..a5e226b 100644 --- a/ruoyi-service/src/main/java/com/ruoyi/system/user/service/UserService.java +++ b/ruoyi-service/src/main/java/com/ruoyi/system/user/service/UserService.java @@ -279,4 +279,9 @@ public interface UserService * 更新用户实名信息 */ int updateUserRealName(RealName data); + + /** + * 已读导览 + */ + public int readGuide(Long userId, String key); } diff --git a/ruoyi-service/src/main/java/com/ruoyi/system/user/service/impl/UserServiceImpl.java b/ruoyi-service/src/main/java/com/ruoyi/system/user/service/impl/UserServiceImpl.java index ea7a4f9..bb70333 100644 --- a/ruoyi-service/src/main/java/com/ruoyi/system/user/service/impl/UserServiceImpl.java +++ b/ruoyi-service/src/main/java/com/ruoyi/system/user/service/impl/UserServiceImpl.java @@ -10,16 +10,12 @@ import java.util.stream.Collectors; import javax.validation.Validator; -import org.slf4j.Logger; -import org.slf4j.LoggerFactory; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; import org.springframework.transaction.support.TransactionTemplate; import com.github.pagehelper.PageHelper; -import com.ruoyi.bst.app.service.impl.AppConverterImpl; -import com.ruoyi.bst.app.service.impl.AppServiceImpl; import com.ruoyi.bst.balanceLog.domain.BalanceLog; import com.ruoyi.bst.balanceLog.domain.enums.BalanceLogBstType; import com.ruoyi.bst.balanceLog.service.BalanceLogService; @@ -66,11 +62,6 @@ import com.ruoyi.system.userRole.mapper.UserRoleMapper; public class UserServiceImpl implements UserService { - private final AppServiceImpl appServiceImpl; - - private final AppConverterImpl appConverterImpl; - private static final Logger log = LoggerFactory.getLogger(UserServiceImpl.class); - @Autowired private UserMapper userMapper; @@ -119,12 +110,6 @@ public class UserServiceImpl implements UserService @Autowired private RedisLock redisLock; - UserServiceImpl(AppConverterImpl appConverterImpl, AppServiceImpl appServiceImpl) { - this.appConverterImpl = appConverterImpl; - this.appServiceImpl = appServiceImpl; - } - - /** * 根据条件分页查询用户列表 * @@ -871,4 +856,26 @@ public class UserServiceImpl implements UserService data.setIsReal(true); return userMapper.updateUser(data); } + + @Override + public int readGuide(Long userId, String key) { + if (userId == null || StringUtils.isBlank(key)) { + return 0; + } + UserVO user = this.selectUserById(userId); + if (user == null ) { + return 0; + } + + List guides = user.getGuides(); + if (guides == null) { + guides = new ArrayList<>(); + } + guides.add(key); + + User data = new User(); + data.setUserId(userId); + data.setGuides(guides); + return userMapper.updateUser(data); + } } diff --git a/ruoyi-web/src/main/java/com/ruoyi/web/system/SysUserController.java b/ruoyi-web/src/main/java/com/ruoyi/web/system/SysUserController.java index 1a89f05..f8347cf 100644 --- a/ruoyi-web/src/main/java/com/ruoyi/web/system/SysUserController.java +++ b/ruoyi-web/src/main/java/com/ruoyi/web/system/SysUserController.java @@ -5,6 +5,7 @@ import java.util.stream.Collectors; import javax.servlet.http.HttpServletResponse; +import com.ruoyi.common.annotation.Anonymous; import org.apache.commons.lang3.ArrayUtils; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.security.access.prepost.PreAuthorize; @@ -272,4 +273,15 @@ public class SysUserController extends BaseController return success(deptService.selectDeptTreeList(dept)); } + /** + * 已读导览 + */ + @PutMapping("/guide") + @Anonymous + public AjaxResult guide(String key) + { + return success(userService.readGuide(getUserId(), key)); + } + + }