diff --git a/smart-switch-ruoyi/smart-switch-common/src/main/java/com/ruoyi/common/core/domain/entity/SmUser.java b/smart-switch-ruoyi/smart-switch-common/src/main/java/com/ruoyi/common/core/domain/entity/SmUser.java index 08726f16..88928bec 100644 --- a/smart-switch-ruoyi/smart-switch-common/src/main/java/com/ruoyi/common/core/domain/entity/SmUser.java +++ b/smart-switch-ruoyi/smart-switch-common/src/main/java/com/ruoyi/common/core/domain/entity/SmUser.java @@ -186,4 +186,10 @@ public class SmUser extends BaseEntity @Excel(name = "限制退款原因") @ApiModelProperty("限制退款原因") private String limitRefundReason; + + @Excel(name = "是否已阅读过商户协议") + @ApiModelProperty("是否已阅读过商户协议") + @JsonView(JsonViewProfile.App.class) + private Boolean readMchLicence; + } diff --git a/smart-switch-service/src/main/java/com/ruoyi/ss/article/domain/SmArticleQuery.java b/smart-switch-service/src/main/java/com/ruoyi/ss/article/domain/SmArticleQuery.java index 9a5ec671..30c6ba35 100644 --- a/smart-switch-service/src/main/java/com/ruoyi/ss/article/domain/SmArticleQuery.java +++ b/smart-switch-service/src/main/java/com/ruoyi/ss/article/domain/SmArticleQuery.java @@ -1,11 +1,18 @@ package com.ruoyi.ss.article.domain; +import io.swagger.annotations.ApiModelProperty; import lombok.Data; +import java.util.List; + /** * @author wjh * 2024/4/3 */ @Data public class SmArticleQuery extends SmArticle { + + @ApiModelProperty("文章ID列表") + private List articleIds; + } diff --git a/smart-switch-service/src/main/java/com/ruoyi/ss/article/domain/enums/LicenceType.java b/smart-switch-service/src/main/java/com/ruoyi/ss/article/domain/enums/LicenceType.java index dcae1e5b..9d3dd2c5 100644 --- a/smart-switch-service/src/main/java/com/ruoyi/ss/article/domain/enums/LicenceType.java +++ b/smart-switch-service/src/main/java/com/ruoyi/ss/article/domain/enums/LicenceType.java @@ -17,7 +17,8 @@ public enum LicenceType { USER("user", "ss.licence.user.id"), // 用户协议 PRIVACY("privacy", "ss.licence.privacy.id"), // 隐私协议 COLLECT("collection", "ss.licence.collection.id"), // 个人信息收集清单 - ABOUT("about", "ss.licence.about.id"); // 关于我们 + ABOUT("about", "ss.licence.about.id"), // 关于我们 + MCH("mch", "ss.licence.mch.id"); // 商户协议 private final String type; // 类型 private final String key; // 配置键值 diff --git a/smart-switch-service/src/main/java/com/ruoyi/ss/article/mapper/SmArticleMapper.xml b/smart-switch-service/src/main/java/com/ruoyi/ss/article/mapper/SmArticleMapper.xml index c2cc907e..f48e9dd6 100644 --- a/smart-switch-service/src/main/java/com/ruoyi/ss/article/mapper/SmArticleMapper.xml +++ b/smart-switch-service/src/main/java/com/ruoyi/ss/article/mapper/SmArticleMapper.xml @@ -4,7 +4,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd"> - + @@ -74,6 +74,12 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" and a.classify_id = #{classifyId} and a.title like concat('%', #{title}, '%') and a.is_hot = #{isHot} + + and a.article_id in + + #{item} + + order by a.create_time desc diff --git a/smart-switch-service/src/main/java/com/ruoyi/ss/user/mapper/SmUserMapper.xml b/smart-switch-service/src/main/java/com/ruoyi/ss/user/mapper/SmUserMapper.xml index 7475b58d..7d1f7aa7 100644 --- a/smart-switch-service/src/main/java/com/ruoyi/ss/user/mapper/SmUserMapper.xml +++ b/smart-switch-service/src/main/java/com/ruoyi/ss/user/mapper/SmUserMapper.xml @@ -49,6 +49,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" su.limit_withdraw_reason, su.limit_refund, su.limit_refund_reason, + su.read_mch_licence, (select sum(stb.money) from sm_transaction_bill stb where stb.user_id = su.user_id and stb.type = '1' and stb.status = '2') as recharge_amount, (select sum(stb.arrival_amount) from sm_transaction_bill stb where stb.user_id = su.user_id and stb.type = '2' and stb.status = '14') as with_drawl_amount, (select sum(stb.arrival_amount) from sm_transaction_bill stb where stb.mch_id = su.user_id and stb.type = '1' and stb.status = '2') as total_income @@ -72,6 +73,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" and service_type = #{serviceType} and limit_withdraw = #{limitWithdraw} and limit_refund = #{limitRefund} + and read_mch_licence = #{readMchLicence} and su.user_id in ( select sdt.tenant_id @@ -169,6 +171,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" limit_withdraw_reason, limit_refund, limit_refund_reason, + read_mch_licence, #{userName}, @@ -206,6 +209,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" #{limitWithdrawReason}, #{limitRefund}, #{limitRefundReason}, + #{readMchLicence}, @@ -253,6 +257,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" limit_withdraw_reason = #{limitWithdrawReason}, limit_refund = #{limitRefund}, limit_refund_reason = #{limitRefundReason}, + read_mch_licence = #{readMchLicence}, where user_id = #{userId} diff --git a/smart-switch-service/src/main/java/com/ruoyi/ss/user/service/ISmUserService.java b/smart-switch-service/src/main/java/com/ruoyi/ss/user/service/ISmUserService.java index 1169ee92..b5dfd0cd 100644 --- a/smart-switch-service/src/main/java/com/ruoyi/ss/user/service/ISmUserService.java +++ b/smart-switch-service/src/main/java/com/ruoyi/ss/user/service/ISmUserService.java @@ -209,4 +209,9 @@ public interface ISmUserService * 实名认证 */ int realName(UserRealNameDTO dto); + + /** + * 标记已读商户协议 + */ + int readMchLicence(Long userId); } diff --git a/smart-switch-service/src/main/java/com/ruoyi/ss/user/service/impl/SmUserServiceImpl.java b/smart-switch-service/src/main/java/com/ruoyi/ss/user/service/impl/SmUserServiceImpl.java index 0df818ec..662d0792 100644 --- a/smart-switch-service/src/main/java/com/ruoyi/ss/user/service/impl/SmUserServiceImpl.java +++ b/smart-switch-service/src/main/java/com/ruoyi/ss/user/service/impl/SmUserServiceImpl.java @@ -297,6 +297,14 @@ public class SmUserServiceImpl implements ISmUserService return smUserMapper.updateSmUser(data); } + @Override + public int readMchLicence(Long userId) { + SmUser data = new SmUser(); + data.setUserId(userId); + data.setReadMchLicence(true); + return smUserMapper.updateSmUser(data); + } + /** * 逻辑删除前校验 * @param userIds diff --git a/smart-switch-web/src/main/java/com/ruoyi/web/controller/app/AppUserController.java b/smart-switch-web/src/main/java/com/ruoyi/web/controller/app/AppUserController.java index fa973e35..e988d191 100644 --- a/smart-switch-web/src/main/java/com/ruoyi/web/controller/app/AppUserController.java +++ b/smart-switch-web/src/main/java/com/ruoyi/web/controller/app/AppUserController.java @@ -75,4 +75,10 @@ public class AppUserController extends BaseController { return toAjax(userService.realName(dto)); } + @ApiOperation("标记用户已读商户协议") + @PutMapping("/readMchLicence") + public AjaxResult readMchLicence() { + return toAjax(userService.readMchLicence(getUserId())); + } + } diff --git a/smart-switch-web/src/main/java/com/ruoyi/web/controller/ss/SmArticleController.java b/smart-switch-web/src/main/java/com/ruoyi/web/controller/ss/SmArticleController.java index 5e7a4198..4745ac16 100644 --- a/smart-switch-web/src/main/java/com/ruoyi/web/controller/ss/SmArticleController.java +++ b/smart-switch-web/src/main/java/com/ruoyi/web/controller/ss/SmArticleController.java @@ -48,6 +48,19 @@ public class SmArticleController extends BaseController return getDataTable(list); } + /** + * 查询文章列表ByIds + */ + @PreAuthorize("@ss.hasPermi('system:article:list')") + @GetMapping("/listByIds/{ids}") + public AjaxResult listByIds(@PathVariable List ids) + { + SmArticleQuery query = new SmArticleQuery(); + query.setArticleIds(ids); + List list = asArticleService.selectSmArticleList(query); + return success(list); + } + /** * 导出文章列表 */ diff --git a/smart-switch-web/src/main/java/com/ruoyi/web/controller/system/SysConfigController.java b/smart-switch-web/src/main/java/com/ruoyi/web/controller/system/SysConfigController.java index 3b4725be..c825dfb0 100644 --- a/smart-switch-web/src/main/java/com/ruoyi/web/controller/system/SysConfigController.java +++ b/smart-switch-web/src/main/java/com/ruoyi/web/controller/system/SysConfigController.java @@ -145,8 +145,8 @@ public class SysConfigController extends BaseController /** * 根据参数键名列表查询参数值 */ - @GetMapping(value = "/configKeys/{configKeys}") - public AjaxResult getConfigKeys(@PathVariable List configKeys) + @PostMapping(value = "/configKeys") + public AjaxResult getConfigKeys(@RequestBody List configKeys) { SysConfigQuery query = new SysConfigQuery(); query.setConfigKeys(configKeys);