From f8cb4fc32aac25117149d49c38eba438d63d79e8 Mon Sep 17 00:00:00 2001 From: Vinjor Date: Wed, 26 Mar 2025 10:08:42 +0800 Subject: [PATCH 1/3] 1 --- .../controller/BaseCategoryController.java | 13 +--- .../base/service/IBaseCategoryService.java | 10 +++ .../service/impl/BaseCategoryServiceImpl.java | 25 +++++++ .../busi/controller/BusiNoticeController.java | 21 ++++++ .../ruoyi/busi/mapper/BusiNoticeMapper.java | 11 +++ .../busi/mapper/BusiNoticeSignMapper.java | 11 +++ .../com/ruoyi/busi/query/AppNoticeQuery.java | 33 +++++++++ .../busi/service/IBusiNoticeService.java | 11 +++ .../service/impl/BusiNoticeServiceImpl.java | 74 ++++++++++++++++--- ...accardSimilarity.java => NoticeUtils.java} | 25 ++++++- .../java/com/ruoyi/busi/vo/BusiNoticeVo.java | 11 +++ .../com/ruoyi/constant/DictConstants.java | 4 + .../mapper/busi/BusiNoticeMapper.xml | 61 +++++++++++++++ .../mapper/busi/BusiNoticeSignMapper.xml | 15 ++++ 14 files changed, 302 insertions(+), 23 deletions(-) create mode 100644 ruoyi-admin/src/main/java/com/ruoyi/busi/query/AppNoticeQuery.java rename ruoyi-admin/src/main/java/com/ruoyi/busi/utils/{JaccardSimilarity.java => NoticeUtils.java} (59%) diff --git a/ruoyi-admin/src/main/java/com/ruoyi/base/controller/BaseCategoryController.java b/ruoyi-admin/src/main/java/com/ruoyi/base/controller/BaseCategoryController.java index 089915c..4c16c3b 100644 --- a/ruoyi-admin/src/main/java/com/ruoyi/base/controller/BaseCategoryController.java +++ b/ruoyi-admin/src/main/java/com/ruoyi/base/controller/BaseCategoryController.java @@ -8,6 +8,7 @@ import javax.servlet.http.HttpServletResponse; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.ruoyi.common.exception.ServiceException; import org.apache.commons.lang3.StringUtils; import org.springframework.security.access.prepost.PreAuthorize; import org.springframework.beans.factory.annotation.Autowired; @@ -134,16 +135,10 @@ public class BaseCategoryController extends BaseController public AjaxResult listByCode(@RequestParam(value = "code") String code, @RequestParam(value = "isSystem",required = false) Integer isSystem) { - List list = baseCategoryService.selectByCode(code); - if(list.isEmpty()){ + try { + return success(baseCategoryService.listByParentCode(code, isSystem)); + }catch (ServiceException e){ return error("未查询到该字典项!"); } - LambdaQueryWrapper queryWrapper = new LambdaQueryWrapper<>(); - queryWrapper.eq(BaseCategory::getPid,list.get(0).getId()); - if(null!=isSystem){ - queryWrapper.eq(BaseCategory::getIsSystem,isSystem); - } - queryWrapper.orderByAsc(BaseCategory::getSort); - return success(baseCategoryService.list(queryWrapper)); } } diff --git a/ruoyi-admin/src/main/java/com/ruoyi/base/service/IBaseCategoryService.java b/ruoyi-admin/src/main/java/com/ruoyi/base/service/IBaseCategoryService.java index a610624..68e0512 100644 --- a/ruoyi-admin/src/main/java/com/ruoyi/base/service/IBaseCategoryService.java +++ b/ruoyi-admin/src/main/java/com/ruoyi/base/service/IBaseCategoryService.java @@ -24,4 +24,14 @@ public interface IBaseCategoryService extends IService * @return java.util.List **/ List selectByCode(String code); + + /** + * 根据code查下级分类字典--列表 + * @author vinjor-M + * @date 17:01 2025/3/25 + * @param code 编码 + * @param isSystem 是否系统级 + * @return java.util.List + **/ + List listByParentCode(String code, Integer isSystem); } diff --git a/ruoyi-admin/src/main/java/com/ruoyi/base/service/impl/BaseCategoryServiceImpl.java b/ruoyi-admin/src/main/java/com/ruoyi/base/service/impl/BaseCategoryServiceImpl.java index e1aa107..1914d5d 100644 --- a/ruoyi-admin/src/main/java/com/ruoyi/base/service/impl/BaseCategoryServiceImpl.java +++ b/ruoyi-admin/src/main/java/com/ruoyi/base/service/impl/BaseCategoryServiceImpl.java @@ -3,6 +3,7 @@ package com.ruoyi.base.service.impl; import java.util.List; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; +import com.ruoyi.common.exception.ServiceException; import com.ruoyi.common.utils.DateUtils; import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; @@ -42,4 +43,28 @@ public class BaseCategoryServiceImpl extends ServiceImpl selectByCode(String code) { return this.list(new LambdaQueryWrapper().eq(BaseCategory::getCode,code)); } + + /** + * 根据code查分类字典--列表 + * + * @param code 编码 + * @param isSystem 是否系统级 + * @return java.util.List + * @author vinjor-M + * @date 17:01 2025/3/25 + **/ + @Override + public List listByParentCode(String code, Integer isSystem) { + List list = this.selectByCode(code); + if(list.isEmpty()){ + throw new ServiceException("未查询到该字典项!"); + } + LambdaQueryWrapper queryWrapper = new LambdaQueryWrapper<>(); + queryWrapper.eq(BaseCategory::getPid,list.get(0).getId()); + if(null!=isSystem){ + queryWrapper.eq(BaseCategory::getIsSystem,isSystem); + } + queryWrapper.orderByAsc(BaseCategory::getSort); + return list(queryWrapper); + } } diff --git a/ruoyi-admin/src/main/java/com/ruoyi/busi/controller/BusiNoticeController.java b/ruoyi-admin/src/main/java/com/ruoyi/busi/controller/BusiNoticeController.java index 8d17d68..8e990a8 100644 --- a/ruoyi-admin/src/main/java/com/ruoyi/busi/controller/BusiNoticeController.java +++ b/ruoyi-admin/src/main/java/com/ruoyi/busi/controller/BusiNoticeController.java @@ -6,7 +6,9 @@ import java.util.List; import javax.servlet.http.HttpServletResponse; import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.ruoyi.busi.query.AppNoticeQuery; import com.ruoyi.busi.query.BusiNoticeQuery; +import com.ruoyi.busi.vo.BusiNoticeVo; import org.springframework.security.access.prepost.PreAuthorize; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.web.bind.annotation.*; @@ -136,4 +138,23 @@ public class BusiNoticeController extends BaseController return success(); } + /** + * 小程序端查询通告列表 + * @author vinjor-M + * @date 15:39 2025/3/25 + * @param query 查询条件 + * @param pageNum TODO + * @param pageSize TODO + * @return com.ruoyi.common.core.domain.AjaxResult + **/ + @GetMapping("/appList") + public AjaxResult appList(AppNoticeQuery query, + @RequestParam(name = "pageNum", defaultValue = "1") Integer pageNum, + @RequestParam(name = "pageSize", defaultValue = "10") Integer pageSize) + { + Page page = new Page<>(pageNum, pageSize); + IPage list = busiNoticeService.queryAppListPage(query,page); + return success(list); + } + } diff --git a/ruoyi-admin/src/main/java/com/ruoyi/busi/mapper/BusiNoticeMapper.java b/ruoyi-admin/src/main/java/com/ruoyi/busi/mapper/BusiNoticeMapper.java index a488c63..d1c38bd 100644 --- a/ruoyi-admin/src/main/java/com/ruoyi/busi/mapper/BusiNoticeMapper.java +++ b/ruoyi-admin/src/main/java/com/ruoyi/busi/mapper/BusiNoticeMapper.java @@ -5,6 +5,7 @@ import java.util.List; import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.ruoyi.busi.domain.BusiNotice; +import com.ruoyi.busi.query.AppNoticeQuery; import com.ruoyi.busi.query.BusiNoticeQuery; import com.ruoyi.busi.vo.BusiNoticeVo; import org.apache.ibatis.annotations.Param; @@ -30,4 +31,14 @@ public interface BusiNoticeMapper extends BaseMapper { * @date 11:04 2025/3/22 **/ List queryListByUserId(@Param("userId") Long userId); + + /** + * 小程序端查询通告列表 + * @author vinjor-M + * @date 15:41 2025/3/25 + * @param query TODO + * @param page + * @return com.baomidou.mybatisplus.core.metadata.IPage + **/ + IPage queryAppListPage(@Param("entity") AppNoticeQuery query, Page page); } diff --git a/ruoyi-admin/src/main/java/com/ruoyi/busi/mapper/BusiNoticeSignMapper.java b/ruoyi-admin/src/main/java/com/ruoyi/busi/mapper/BusiNoticeSignMapper.java index 6dbc652..608c4bd 100644 --- a/ruoyi-admin/src/main/java/com/ruoyi/busi/mapper/BusiNoticeSignMapper.java +++ b/ruoyi-admin/src/main/java/com/ruoyi/busi/mapper/BusiNoticeSignMapper.java @@ -1,6 +1,8 @@ package com.ruoyi.busi.mapper; import java.util.List; +import java.util.Map; + import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.ruoyi.busi.domain.BusiNoticeSign; @@ -18,4 +20,13 @@ import org.apache.ibatis.annotations.Mapper; public interface BusiNoticeSignMapper extends BaseMapper { IPage queryListPage(@Param("entity") BusiNoticeSign entity, Page page); + + /** + * 查某些公告的报名数量 + * @author vinjor-M + * @date 16:50 2025/3/25 + * @param idList 公告id + * @return java.util.List> + **/ + List> selectReportNumByIdList(@Param("list")List idList); } diff --git a/ruoyi-admin/src/main/java/com/ruoyi/busi/query/AppNoticeQuery.java b/ruoyi-admin/src/main/java/com/ruoyi/busi/query/AppNoticeQuery.java new file mode 100644 index 0000000..406a0de --- /dev/null +++ b/ruoyi-admin/src/main/java/com/ruoyi/busi/query/AppNoticeQuery.java @@ -0,0 +1,33 @@ +package com.ruoyi.busi.query; + +import lombok.Data; + +/** + * 小程序端查询通告条件 + * @author vinjor-M + * @date 15:40 2025/3/25 +**/ +@Data +public class AppNoticeQuery { + /** 排序方式:new-最新;money-高奖励; */ + private String sortBy; + /** 品牌置换--只要有值代表查品牌置换 */ + private String gift; + /** 平台code */ + private String platformCode; + /** 领域code */ + private String bloggerType; + /** 搜索的文字 */ + private String searchValue; + /** 奖励类型选中值:""-不限 | money-稿费 | gift-赠品 */ + private String rewardType; + /** 粉丝量要求-上限 */ + private Double fansUp; + /** 粉丝量要求-下限 */ + private Double fansDown; + /** 稿费要求-上限 */ + private Double feeUp; + /** 稿费要求-下限 */ + private Double feeDown; + +} diff --git a/ruoyi-admin/src/main/java/com/ruoyi/busi/service/IBusiNoticeService.java b/ruoyi-admin/src/main/java/com/ruoyi/busi/service/IBusiNoticeService.java index 1f32d60..4b7e1bf 100644 --- a/ruoyi-admin/src/main/java/com/ruoyi/busi/service/IBusiNoticeService.java +++ b/ruoyi-admin/src/main/java/com/ruoyi/busi/service/IBusiNoticeService.java @@ -4,6 +4,7 @@ import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.service.IService; import com.ruoyi.busi.domain.BusiNotice; +import com.ruoyi.busi.query.AppNoticeQuery; import com.ruoyi.busi.query.BusiNoticeQuery; import com.ruoyi.busi.vo.BusiNoticeVo; @@ -59,4 +60,14 @@ public interface IBusiNoticeService extends IService * @param query 审核参数 */ void auditInfo(BusiNoticeQuery query); + + /** + * 小程序端查询通告列表 + * @author vinjor-M + * @date 15:41 2025/3/25 + * @param query TODO + * @param page TODO + * @return com.baomidou.mybatisplus.core.metadata.IPage + **/ + IPage queryAppListPage(AppNoticeQuery query, Page page); } diff --git a/ruoyi-admin/src/main/java/com/ruoyi/busi/service/impl/BusiNoticeServiceImpl.java b/ruoyi-admin/src/main/java/com/ruoyi/busi/service/impl/BusiNoticeServiceImpl.java index 4728e35..89c81df 100644 --- a/ruoyi-admin/src/main/java/com/ruoyi/busi/service/impl/BusiNoticeServiceImpl.java +++ b/ruoyi-admin/src/main/java/com/ruoyi/busi/service/impl/BusiNoticeServiceImpl.java @@ -1,22 +1,26 @@ package com.ruoyi.busi.service.impl; -import java.util.Date; -import java.util.List; +import java.util.*; +import cn.hutool.core.util.StrUtil; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; -import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper; +import com.ruoyi.base.domain.BaseCategory; +import com.ruoyi.base.service.IBaseCategoryService; +import com.ruoyi.busi.mapper.BusiNoticeSignMapper; +import com.ruoyi.busi.query.AppNoticeQuery; import com.ruoyi.busi.vo.BusiNoticeVo; import com.ruoyi.common.core.domain.DlBaseEntity; -import java.util.Optional; + +import java.util.stream.Collectors; import cn.hutool.core.date.DateUtil; -import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; -import com.ruoyi.busi.utils.JaccardSimilarity; +import com.ruoyi.busi.utils.NoticeUtils; import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.ruoyi.common.utils.SecurityUtils; import com.ruoyi.common.utils.StringUtils; import com.ruoyi.busi.query.BusiNoticeQuery; +import com.ruoyi.constant.DictConstants; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; @@ -33,8 +37,14 @@ import com.ruoyi.busi.service.IBusiNoticeService; @Service public class BusiNoticeServiceImpl extends ServiceImpl implements IBusiNoticeService { + @Autowired + private IBaseCategoryService baseCategoryService; @Autowired private BusiNoticeMapper busiNoticeMapper; + @Autowired + private BusiNoticeSignMapper busiNoticeSignMapper; + @Autowired + private NoticeUtils noticeUtils; @Override public IPage queryListPage(BusiNoticeQuery query, Page page) { @@ -62,8 +72,8 @@ public class BusiNoticeServiceImpl extends ServiceImpl=0.7&&v2>=0.7){ //title 和 detail 相似度大于70% 待审核 data.setApprovalStatus("0"); @@ -127,8 +137,8 @@ public class BusiNoticeServiceImpl extends ServiceImpl=0.7&&v2>=0.7){ //title 和 detail 相似度大于70% 待审核 data.setApprovalStatus("0"); @@ -152,5 +162,49 @@ public class BusiNoticeServiceImpl extends ServiceImpl + * @author vinjor-M + * @date 15:41 2025/3/25 + **/ + @Override + public IPage queryAppListPage(AppNoticeQuery query, Page page) { + IPage pageList = busiNoticeMapper.queryAppListPage(query,page); + List idList = pageList.getRecords().stream().map(BusiNotice::getId).collect(Collectors.toList()); + if(!idList.isEmpty()){ + //查报名数量 + List> mapList = busiNoticeSignMapper.selectReportNumByIdList(idList); + //转map + Map objectMap = mapList.stream().collect(Collectors.toMap(each-> Objects.toString(each.get("id"),""),each->each.get("reportNum"))); + //查博主类型字典 + List categoryList = baseCategoryService.listByParentCode(DictConstants.BLOGGER_TYPES_KEY,null); + //转map + Map categoryMap = categoryList.stream().collect(Collectors.toMap(BaseCategory::getCode,BaseCategory::getTitle)); + pageList.getRecords().forEach(item->{ + //报名数量、浏览量、相关字典转换 + if(null==item.getViewNum()){ + item.setViewNum(0); + } + if(!objectMap.containsKey(item.getId()) || null==objectMap.get(item.getId())){ + item.setReportNum(0); + }else{ + item.setReportNum((Integer) objectMap.get(item.getId())); + } + item.setBloggerTypesText(noticeUtils.translateBloggerTypes(item.getBloggerTypes(),categoryMap)); + if(StringUtils.isNotEmpty(item.getImages())){ + item.setMainImage(item.getImages().split(StrUtil.COMMA)[0]); + } + }); + } + //TODO 后续需要拼接开通会员的通告主发布的通告,增加曝光度,这部分逻辑需要商讨 + return pageList; + + + } + } diff --git a/ruoyi-admin/src/main/java/com/ruoyi/busi/utils/JaccardSimilarity.java b/ruoyi-admin/src/main/java/com/ruoyi/busi/utils/NoticeUtils.java similarity index 59% rename from ruoyi-admin/src/main/java/com/ruoyi/busi/utils/JaccardSimilarity.java rename to ruoyi-admin/src/main/java/com/ruoyi/busi/utils/NoticeUtils.java index 95bd98a..fc62258 100644 --- a/ruoyi-admin/src/main/java/com/ruoyi/busi/utils/JaccardSimilarity.java +++ b/ruoyi-admin/src/main/java/com/ruoyi/busi/utils/NoticeUtils.java @@ -1,14 +1,17 @@ package com.ruoyi.busi.utils; -import java.util.HashSet; -import java.util.Set; -import java.util.Arrays; +import cn.hutool.core.util.StrUtil; +import org.springframework.stereotype.Component; + +import java.util.*; import java.util.stream.Collectors; /** * 文本相似度对比 * @author 朱春云 * @version 1.0 */ -public class JaccardSimilarity { +@Component +public class NoticeUtils { + public static double computeJaccardSimilarity(String str1, String str2) { Set set1 = Arrays.stream(str1.split("\\s+")) // 分词,这里按空格分割,可以根据需要调整正则表达式 .collect(Collectors.toSet()); @@ -22,4 +25,18 @@ public class JaccardSimilarity { union.removeAll(intersection); // 从并集中移除交集部分(因为我们只计算交集的元素) return (double) intersection.size() / union.size(); // 返回相似度比例 } + /** + * 翻译通告的博主类型字典 + * @author vinjor-M + * @date 17:10 2025/3/25 + * @return java.lang.String + **/ + public String translateBloggerTypes(String bloggerTypes, Map categoryMap){ + List rtnList = new ArrayList<>(); + List bloggerTypeList = Arrays.asList(bloggerTypes.split(StrUtil.COMMA)); + bloggerTypeList.forEach(item->{ + rtnList.add(categoryMap.get(item)); + }); + return String.join(" ",rtnList); + } } diff --git a/ruoyi-admin/src/main/java/com/ruoyi/busi/vo/BusiNoticeVo.java b/ruoyi-admin/src/main/java/com/ruoyi/busi/vo/BusiNoticeVo.java index 4d1ea7f..067a0b9 100644 --- a/ruoyi-admin/src/main/java/com/ruoyi/busi/vo/BusiNoticeVo.java +++ b/ruoyi-admin/src/main/java/com/ruoyi/busi/vo/BusiNoticeVo.java @@ -8,10 +8,21 @@ import lombok.Data; public class BusiNoticeVo extends BusiNotice { /**发布者名称**/ private String userNickName; + /**发布者头像*/ + private String avatar; /** 平台名称 */ private String platformName; /** 是否超级报名*/ private String isSuper; /**通告合作状态*/ private String signStatus; + /**产品主图*/ + private String mainImage; + + /**浏览量*/ + private Integer viewNum; + /**报名量*/ + private Integer reportNum; + /**博主类型-text*/ + private String bloggerTypesText; } diff --git a/ruoyi-admin/src/main/java/com/ruoyi/constant/DictConstants.java b/ruoyi-admin/src/main/java/com/ruoyi/constant/DictConstants.java index e53b92d..fc9472a 100644 --- a/ruoyi-admin/src/main/java/com/ruoyi/constant/DictConstants.java +++ b/ruoyi-admin/src/main/java/com/ruoyi/constant/DictConstants.java @@ -11,6 +11,10 @@ import java.util.Locale; */ public class DictConstants { + /** + * 博主类型字典key + */ + public static final String BLOGGER_TYPES_KEY ="dl_blogger_type"; /** * 权益类型字典--是否支持 */ diff --git a/ruoyi-admin/src/main/resources/mapper/busi/BusiNoticeMapper.xml b/ruoyi-admin/src/main/resources/mapper/busi/BusiNoticeMapper.xml index 654df6a..cc77cb1 100644 --- a/ruoyi-admin/src/main/resources/mapper/busi/BusiNoticeMapper.xml +++ b/ruoyi-admin/src/main/resources/mapper/busi/BusiNoticeMapper.xml @@ -56,5 +56,66 @@ WHERE dbns.user_id = #{userId} + diff --git a/ruoyi-admin/src/main/resources/mapper/busi/BusiNoticeSignMapper.xml b/ruoyi-admin/src/main/resources/mapper/busi/BusiNoticeSignMapper.xml index a8df361..c6f1f23 100644 --- a/ruoyi-admin/src/main/resources/mapper/busi/BusiNoticeSignMapper.xml +++ b/ruoyi-admin/src/main/resources/mapper/busi/BusiNoticeSignMapper.xml @@ -39,4 +39,19 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" and status = #{entity.status} + \ No newline at end of file From 5995aa9e6aeb64a7895ee3109713e221e9b49b37 Mon Sep 17 00:00:00 2001 From: 13405411873 <1994398261@qq.com> Date: Wed, 26 Mar 2025 10:18:46 +0800 Subject: [PATCH 2/3] =?UTF-8?q?=E9=80=9A=E5=91=8A=E4=BB=A3=E7=A0=81?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../java/com/ruoyi/busi/controller/BusiNoticeController.java | 2 +- .../src/main/java/com/ruoyi/busi/mapper/BusiNoticeMapper.java | 2 +- .../main/java/com/ruoyi/busi/service/IBusiNoticeService.java | 2 +- .../java/com/ruoyi/busi/service/impl/BusiNoticeServiceImpl.java | 2 +- 4 files changed, 4 insertions(+), 4 deletions(-) diff --git a/ruoyi-admin/src/main/java/com/ruoyi/busi/controller/BusiNoticeController.java b/ruoyi-admin/src/main/java/com/ruoyi/busi/controller/BusiNoticeController.java index 8e990a8..f746464 100644 --- a/ruoyi-admin/src/main/java/com/ruoyi/busi/controller/BusiNoticeController.java +++ b/ruoyi-admin/src/main/java/com/ruoyi/busi/controller/BusiNoticeController.java @@ -51,7 +51,7 @@ public class BusiNoticeController extends BaseController @RequestParam(name = "pageSize", defaultValue = "10") Integer pageSize) { Page page = new Page<>(pageNum, pageSize); - IPage list = busiNoticeService.queryListPage(query,page); + IPage list = busiNoticeService.queryListPage(query,page); return success(list); } diff --git a/ruoyi-admin/src/main/java/com/ruoyi/busi/mapper/BusiNoticeMapper.java b/ruoyi-admin/src/main/java/com/ruoyi/busi/mapper/BusiNoticeMapper.java index d1c38bd..ea0fa9b 100644 --- a/ruoyi-admin/src/main/java/com/ruoyi/busi/mapper/BusiNoticeMapper.java +++ b/ruoyi-admin/src/main/java/com/ruoyi/busi/mapper/BusiNoticeMapper.java @@ -20,7 +20,7 @@ import org.apache.ibatis.annotations.Mapper; */ @Mapper public interface BusiNoticeMapper extends BaseMapper { - IPage queryListPage(@Param("entity") BusiNoticeQuery query, Page page); + IPage queryListPage(@Param("entity") BusiNoticeQuery query, Page page); /** * 查询博主报名的通告 diff --git a/ruoyi-admin/src/main/java/com/ruoyi/busi/service/IBusiNoticeService.java b/ruoyi-admin/src/main/java/com/ruoyi/busi/service/IBusiNoticeService.java index 4b7e1bf..5e357c6 100644 --- a/ruoyi-admin/src/main/java/com/ruoyi/busi/service/IBusiNoticeService.java +++ b/ruoyi-admin/src/main/java/com/ruoyi/busi/service/IBusiNoticeService.java @@ -42,7 +42,7 @@ public interface IBusiNoticeService extends IService * @param query 查询参数 * @param page 分页参数 */ - IPage queryListPage(BusiNoticeQuery query, Page page); + IPage queryListPage(BusiNoticeQuery query, Page page); /** * 保存 * @param data 保存参数 diff --git a/ruoyi-admin/src/main/java/com/ruoyi/busi/service/impl/BusiNoticeServiceImpl.java b/ruoyi-admin/src/main/java/com/ruoyi/busi/service/impl/BusiNoticeServiceImpl.java index 89c81df..265d5da 100644 --- a/ruoyi-admin/src/main/java/com/ruoyi/busi/service/impl/BusiNoticeServiceImpl.java +++ b/ruoyi-admin/src/main/java/com/ruoyi/busi/service/impl/BusiNoticeServiceImpl.java @@ -47,7 +47,7 @@ public class BusiNoticeServiceImpl extends ServiceImpl queryListPage(BusiNoticeQuery query, Page page) { + public IPage queryListPage(BusiNoticeQuery query, Page page) { return busiNoticeMapper.queryListPage(query, page); } From 253469328437719dcc2519a901e1cca2a0675e90 Mon Sep 17 00:00:00 2001 From: Vinjor Date: Thu, 27 Mar 2025 09:49:52 +0800 Subject: [PATCH 3/3] 1 --- .../controller/BaseCategoryController.java | 2 + .../busi/controller/BusiNoticeController.java | 2 + .../com/ruoyi/constant/DictConstants.java | 19 ++++- .../java/com/ruoyi/constant/StrConstants.java | 13 +++ .../com/ruoyi/member/domain/MemberUser.java | 17 ++++ .../ruoyi/member/mapper/MemberCardMapper.java | 11 ++- .../member/mapper/MemberRightsMapper.java | 10 +++ .../member/service/IMemberCardService.java | 13 +++ .../member/service/IMemberUserService.java | 9 +++ .../service/impl/MemberCardServiceImpl.java | 80 ++++++++++++++++++- .../service/impl/MemberUserServiceImpl.java | 79 ++++++++++++++++++ .../com/ruoyi/member/vo/MemberRightsVO.java | 16 ++++ .../com/ruoyi/member/vo/ViewRightsVO.java | 17 ++++ .../controller/system/SysLoginController.java | 9 ++- .../src/main/resources/application.yml | 8 +- .../mapper/busi/BusiNoticeMapper.xml | 6 +- .../mapper/member/MemberCardMapper.xml | 20 +++++ .../mapper/member/MemberRightsMapper.xml | 12 +++ .../ruoyi/common/config/DlRightsConfig.java | 14 ++++ .../handler/DefaultDBFieldHandler.java | 30 ++++--- .../web/service/SysLoginService.java | 56 ------------- 21 files changed, 366 insertions(+), 77 deletions(-) create mode 100644 ruoyi-admin/src/main/java/com/ruoyi/constant/StrConstants.java create mode 100644 ruoyi-admin/src/main/java/com/ruoyi/member/vo/MemberRightsVO.java create mode 100644 ruoyi-admin/src/main/java/com/ruoyi/member/vo/ViewRightsVO.java create mode 100644 ruoyi-common/src/main/java/com/ruoyi/common/config/DlRightsConfig.java diff --git a/ruoyi-admin/src/main/java/com/ruoyi/base/controller/BaseCategoryController.java b/ruoyi-admin/src/main/java/com/ruoyi/base/controller/BaseCategoryController.java index 4c16c3b..7558cda 100644 --- a/ruoyi-admin/src/main/java/com/ruoyi/base/controller/BaseCategoryController.java +++ b/ruoyi-admin/src/main/java/com/ruoyi/base/controller/BaseCategoryController.java @@ -8,6 +8,7 @@ import javax.servlet.http.HttpServletResponse; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.ruoyi.common.annotation.Anonymous; import com.ruoyi.common.exception.ServiceException; import org.apache.commons.lang3.StringUtils; import org.springframework.security.access.prepost.PreAuthorize; @@ -132,6 +133,7 @@ public class BaseCategoryController extends BaseController * @return com.ruoyi.common.core.domain.AjaxResult **/ @GetMapping("/listByCode") + @Anonymous public AjaxResult listByCode(@RequestParam(value = "code") String code, @RequestParam(value = "isSystem",required = false) Integer isSystem) { diff --git a/ruoyi-admin/src/main/java/com/ruoyi/busi/controller/BusiNoticeController.java b/ruoyi-admin/src/main/java/com/ruoyi/busi/controller/BusiNoticeController.java index 8e990a8..2c530d7 100644 --- a/ruoyi-admin/src/main/java/com/ruoyi/busi/controller/BusiNoticeController.java +++ b/ruoyi-admin/src/main/java/com/ruoyi/busi/controller/BusiNoticeController.java @@ -9,6 +9,7 @@ import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.ruoyi.busi.query.AppNoticeQuery; import com.ruoyi.busi.query.BusiNoticeQuery; import com.ruoyi.busi.vo.BusiNoticeVo; +import com.ruoyi.common.annotation.Anonymous; import org.springframework.security.access.prepost.PreAuthorize; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.web.bind.annotation.*; @@ -148,6 +149,7 @@ public class BusiNoticeController extends BaseController * @return com.ruoyi.common.core.domain.AjaxResult **/ @GetMapping("/appList") + @Anonymous public AjaxResult appList(AppNoticeQuery query, @RequestParam(name = "pageNum", defaultValue = "1") Integer pageNum, @RequestParam(name = "pageSize", defaultValue = "10") Integer pageSize) diff --git a/ruoyi-admin/src/main/java/com/ruoyi/constant/DictConstants.java b/ruoyi-admin/src/main/java/com/ruoyi/constant/DictConstants.java index fc9472a..4e3c7db 100644 --- a/ruoyi-admin/src/main/java/com/ruoyi/constant/DictConstants.java +++ b/ruoyi-admin/src/main/java/com/ruoyi/constant/DictConstants.java @@ -5,7 +5,7 @@ import io.jsonwebtoken.Claims; import java.util.Locale; /** - * 通用常量信息 + * 通用字典常量信息 * * @author ruoyi */ @@ -24,6 +24,21 @@ public class DictConstants */ public static final String RIGHTS_TYPE_NUMBER = "02"; + /** + * 用户类型字典--通告主 + */ + public static final String USER_TYPE_TGZ = "01"; + /** + * 用户类型字典--博主 + */ + public static final String USER_TYPE_BZ = "02"; - + /** + * 是否字典--是 + */ + public static final String YES_NO_YES = "1"; + /** + * 是否字典--否 + */ + public static final String YES_NO_NO = "0"; } diff --git a/ruoyi-admin/src/main/java/com/ruoyi/constant/StrConstants.java b/ruoyi-admin/src/main/java/com/ruoyi/constant/StrConstants.java new file mode 100644 index 0000000..f525007 --- /dev/null +++ b/ruoyi-admin/src/main/java/com/ruoyi/constant/StrConstants.java @@ -0,0 +1,13 @@ +package com.ruoyi.constant; + +/** + * 通用常量信息 + * + * @author ruoyi + */ +public class StrConstants +{ + + + +} diff --git a/ruoyi-admin/src/main/java/com/ruoyi/member/domain/MemberUser.java b/ruoyi-admin/src/main/java/com/ruoyi/member/domain/MemberUser.java index 9d94f67..0b15225 100644 --- a/ruoyi-admin/src/main/java/com/ruoyi/member/domain/MemberUser.java +++ b/ruoyi-admin/src/main/java/com/ruoyi/member/domain/MemberUser.java @@ -4,6 +4,8 @@ import com.ruoyi.common.annotation.Excel; import com.baomidou.mybatisplus.annotation.IdType; import com.baomidou.mybatisplus.annotation.TableId; import com.baomidou.mybatisplus.annotation.TableName; +import com.ruoyi.common.core.domain.entity.SysUser; +import com.ruoyi.constant.DictConstants; import lombok.*; import com.ruoyi.common.core.domain.DlBaseEntity; @@ -71,4 +73,19 @@ public class MemberUser extends DlBaseEntity @Excel(name = "博主-剩余积分") private Long bPoints; + public MemberUser (String userType, SysUser user,Integer addNotice){ + this.userType = userType; + this.userId = user.getUserId(); + this.tel = user.getPhonenumber(); + if(DictConstants.USER_TYPE_BZ.equals(userType)){ + //博主 + this.bPoints=0L; + }else{ + //通告主 + this.tRemaining = addNotice; + this.tTotalNum = 0L; + this.tFansNum = 0; + this.tOpenDisturb = DictConstants.YES_NO_NO; + } + } } diff --git a/ruoyi-admin/src/main/java/com/ruoyi/member/mapper/MemberCardMapper.java b/ruoyi-admin/src/main/java/com/ruoyi/member/mapper/MemberCardMapper.java index 3101540..ff9b40d 100644 --- a/ruoyi-admin/src/main/java/com/ruoyi/member/mapper/MemberCardMapper.java +++ b/ruoyi-admin/src/main/java/com/ruoyi/member/mapper/MemberCardMapper.java @@ -4,6 +4,7 @@ import java.util.List; import com.ruoyi.member.domain.MemberCard; import com.baomidou.mybatisplus.core.mapper.BaseMapper; import org.apache.ibatis.annotations.Mapper; +import org.apache.ibatis.annotations.Param; /** * 会员开卡记录Mapper接口 @@ -14,5 +15,13 @@ import org.apache.ibatis.annotations.Mapper; @Mapper public interface MemberCardMapper extends BaseMapper { - + /** + * 查询某会员当前生效的所有会员卡id + * @author vinjor-M + * @date 11:32 2025/3/26 + * @param userId TODO + * @param userType TODO + * @return java.util.List + **/ + List selectCardIdByUserId(@Param("userId")Long userId,@Param("userType")String userType,@Param("nowDate")String nowDate); } diff --git a/ruoyi-admin/src/main/java/com/ruoyi/member/mapper/MemberRightsMapper.java b/ruoyi-admin/src/main/java/com/ruoyi/member/mapper/MemberRightsMapper.java index bd82298..d0688ff 100644 --- a/ruoyi-admin/src/main/java/com/ruoyi/member/mapper/MemberRightsMapper.java +++ b/ruoyi-admin/src/main/java/com/ruoyi/member/mapper/MemberRightsMapper.java @@ -4,6 +4,7 @@ import java.util.List; import com.ruoyi.member.domain.MemberRights; import com.baomidou.mybatisplus.core.mapper.BaseMapper; import org.apache.ibatis.annotations.Mapper; +import org.apache.ibatis.annotations.Param; /** * 会员权益(定时任务重置剩余值),用户id、会员卡id、权益对应1Mapper接口 @@ -15,4 +16,13 @@ import org.apache.ibatis.annotations.Mapper; public interface MemberRightsMapper extends BaseMapper { + /** + * 查某用户某些会员卡的权益明细 + * @author vinjor-M + * @date 13:52 2025/3/26 + * @param cardIdList 会员卡id集和 + * @param userId 用户id + * @return java.util.List + **/ + List selectUserRightsByCardIds(@Param("list")List cardIdList,@Param("userId")Long userId); } diff --git a/ruoyi-admin/src/main/java/com/ruoyi/member/service/IMemberCardService.java b/ruoyi-admin/src/main/java/com/ruoyi/member/service/IMemberCardService.java index 8f34d36..066382b 100644 --- a/ruoyi-admin/src/main/java/com/ruoyi/member/service/IMemberCardService.java +++ b/ruoyi-admin/src/main/java/com/ruoyi/member/service/IMemberCardService.java @@ -2,8 +2,12 @@ package com.ruoyi.member.service; import com.baomidou.mybatisplus.extension.service.IService; import com.ruoyi.member.domain.MemberCard; +import com.ruoyi.member.domain.MemberRights; +import com.ruoyi.member.vo.MemberRightsVO; +import com.ruoyi.member.vo.ViewRightsVO; import java.util.List; +import java.util.Map; /** * 会员开卡记录Service接口 @@ -23,4 +27,13 @@ public interface IMemberCardService extends IService { **/ List listByUserId(Long userId,String userType); + /** + * 查当前会员权益列表 + * @author vinjor-M + * @date 11:26 2025/3/26 + * @param userType 用户类型 + * @param userId 用户id + **/ + Map> selectMemberRights(Long userId, String userType); + } diff --git a/ruoyi-admin/src/main/java/com/ruoyi/member/service/IMemberUserService.java b/ruoyi-admin/src/main/java/com/ruoyi/member/service/IMemberUserService.java index 8f8be3c..89807d9 100644 --- a/ruoyi-admin/src/main/java/com/ruoyi/member/service/IMemberUserService.java +++ b/ruoyi-admin/src/main/java/com/ruoyi/member/service/IMemberUserService.java @@ -47,4 +47,13 @@ public interface IMemberUserService extends IService { **/ MemberUserVO bloggerDetail(Long userId); + /** + * 微信授权登陆 + * @author vinjor-M + * @date 15:55 2025/3/26 + * @param openid TODO + * @param decryptResult TODO + * @return java.lang.String + **/ + String wxLogin(String openid,String decryptResult); } diff --git a/ruoyi-admin/src/main/java/com/ruoyi/member/service/impl/MemberCardServiceImpl.java b/ruoyi-admin/src/main/java/com/ruoyi/member/service/impl/MemberCardServiceImpl.java index f2de537..faf665e 100644 --- a/ruoyi-admin/src/main/java/com/ruoyi/member/service/impl/MemberCardServiceImpl.java +++ b/ruoyi-admin/src/main/java/com/ruoyi/member/service/impl/MemberCardServiceImpl.java @@ -1,15 +1,24 @@ package com.ruoyi.member.service.impl; +import cn.hutool.core.date.DateUtil; import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.ruoyi.common.core.domain.DlBaseEntity; +import com.ruoyi.common.utils.SecurityUtils; +import com.ruoyi.constant.DictConstants; import com.ruoyi.member.domain.MemberCard; +import com.ruoyi.member.domain.MemberRights; import com.ruoyi.member.mapper.MemberCardMapper; +import com.ruoyi.member.mapper.MemberRightsMapper; import com.ruoyi.member.service.IMemberCardService; +import com.ruoyi.member.vo.MemberRightsVO; +import com.ruoyi.member.vo.ViewRightsVO; +import org.springframework.beans.BeanUtils; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; -import java.util.List; +import java.util.*; +import java.util.stream.Collectors; /** * 会员开卡记录Service业务层处理 @@ -22,6 +31,8 @@ public class MemberCardServiceImpl extends ServiceImpl> selectMemberRights(Long userId, String userType) { + Map> rtnMap = new HashMap<>(); + //当前时间 + String nowDate = DateUtil.formatDate(new Date()); + if(null==userId){ + userId = SecurityUtils.getUserId(); + } + List cardList = memberCardMapper.selectCardIdByUserId(userId,userType,nowDate); + if(cardList.isEmpty()){ + //未开通任何会员卡 + rtnMap.put("tgz",new HashMap<>()); + rtnMap.put("bz",new HashMap<>()); + }else{ + //开通会员卡了,根据会员卡id,查询出所有权益 + List memberRightsList = memberRightsMapper.selectUserRightsByCardIds(cardList.stream().map(MemberCard::getCardId).collect(Collectors.toList()), userId); + //通告主权益 + Map tgzRightsMap = new HashMap<>(); + //博主权益 + Map bzRightsMap = new HashMap<>(); + memberRightsList.forEach(item -> { + if (DictConstants.USER_TYPE_TGZ.equals(item.getUserType())) { + //通告主 + this.checkRights(tgzRightsMap,item); + } else if (DictConstants.USER_TYPE_BZ.equals(item.getUserType())) { + //博主 + this.checkRights(bzRightsMap,item); + } + }); + rtnMap.put("tgz",tgzRightsMap); + rtnMap.put("bz",bzRightsMap); + } + return rtnMap; + } + + /** + * + * @author vinjor-M + * @date 14:19 2025/3/26 + * @param memberRightsMap 会员权益map + * @param item 这个权益 + **/ + private void checkRights(Map memberRightsMap, MemberRights item){ + ViewRightsVO newRights = new ViewRightsVO(); + BeanUtils.copyProperties(item,newRights); + if (memberRightsMap.containsKey(item.getRightsCode())) { + //有这个权益了 + ViewRightsVO oldRights = memberRightsMap.get(item.getRightsCode()); + if (DictConstants.RIGHTS_TYPE_NUMBER.equals(item.getRightsType()) && + oldRights.getRemaining() < item.getRemaining()) { + //权益类型是数量限制的,且新的权益剩余值比原来的大,取新的 + memberRightsMap.put(item.getRightsCode(), newRights); + } + } else { + //没有这个权益,直接加 + memberRightsMap.put(item.getRightsCode(), newRights); + } + } } diff --git a/ruoyi-admin/src/main/java/com/ruoyi/member/service/impl/MemberUserServiceImpl.java b/ruoyi-admin/src/main/java/com/ruoyi/member/service/impl/MemberUserServiceImpl.java index a6107c8..dc9e43d 100644 --- a/ruoyi-admin/src/main/java/com/ruoyi/member/service/impl/MemberUserServiceImpl.java +++ b/ruoyi-admin/src/main/java/com/ruoyi/member/service/impl/MemberUserServiceImpl.java @@ -1,18 +1,29 @@ package com.ruoyi.member.service.impl; +import com.alibaba.fastjson2.JSONObject; import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.ruoyi.busi.service.IBusiEvaluateService; import com.ruoyi.busi.service.IBusiNoticeService; +import com.ruoyi.common.config.DlRightsConfig; +import com.ruoyi.common.config.WxAppConfig; +import com.ruoyi.common.core.domain.entity.SysUser; +import com.ruoyi.common.core.domain.model.LoginUser; +import com.ruoyi.common.exception.ServiceException; +import com.ruoyi.common.utils.DateUtils; +import com.ruoyi.constant.DictConstants; +import com.ruoyi.framework.web.service.TokenService; import com.ruoyi.member.domain.MemberUser; import com.ruoyi.member.mapper.MemberUserMapper; import com.ruoyi.member.service.IMemberBusiCardService; import com.ruoyi.member.service.IMemberCardService; import com.ruoyi.member.service.IMemberUserService; import com.ruoyi.member.vo.MemberUserVO; +import com.ruoyi.system.mapper.SysUserMapper; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; +import org.springframework.transaction.annotation.Transactional; import javax.annotation.Resource; @@ -34,6 +45,12 @@ public class MemberUserServiceImpl extends ServiceImpl - AND ( dbn.gift_detail != NULL AND dbn.gift_detail != '' ) + AND ( dbn.gift_detail IS NOT NULL AND dbn.gift_detail != '' ) AND ( dbn.platform_code =#{entity.platformCode} ) @@ -83,10 +83,10 @@ dbn.detail LIKE CONCAT('%',#{entity.searchValue},'%') ) - AND ( dbn.fee_down!=null OR dbn.fee_up!= null ) + AND ( dbn.fee_down IS NOT NULL OR dbn.fee_up IS NOT NULL ) - AND ( dbn.gift_detail!=null AND dbn.gift_detail!='' ) + AND ( dbn.gift_detail IS NOT NULL AND dbn.gift_detail!='' ) AND ( dbn.fans_up <=#{entity.fansUp} ) diff --git a/ruoyi-admin/src/main/resources/mapper/member/MemberCardMapper.xml b/ruoyi-admin/src/main/resources/mapper/member/MemberCardMapper.xml index d5f0e0b..ba8d231 100644 --- a/ruoyi-admin/src/main/resources/mapper/member/MemberCardMapper.xml +++ b/ruoyi-admin/src/main/resources/mapper/member/MemberCardMapper.xml @@ -22,6 +22,26 @@ select id, user_id, user_type, card_id, start_date, end_date, order_id, creator, create_time, updater, update_time, del_flag from dl_member_card + \ No newline at end of file diff --git a/ruoyi-admin/src/main/resources/mapper/member/MemberRightsMapper.xml b/ruoyi-admin/src/main/resources/mapper/member/MemberRightsMapper.xml index c34e377..98c0650 100644 --- a/ruoyi-admin/src/main/resources/mapper/member/MemberRightsMapper.xml +++ b/ruoyi-admin/src/main/resources/mapper/member/MemberRightsMapper.xml @@ -21,6 +21,18 @@ select id, user_id, user_type, card_id, rights_code, rights_type, rights_cycle, rights_value, remaining, create_time, update_time from dl_member_rights + \ No newline at end of file diff --git a/ruoyi-common/src/main/java/com/ruoyi/common/config/DlRightsConfig.java b/ruoyi-common/src/main/java/com/ruoyi/common/config/DlRightsConfig.java new file mode 100644 index 0000000..b959425 --- /dev/null +++ b/ruoyi-common/src/main/java/com/ruoyi/common/config/DlRightsConfig.java @@ -0,0 +1,14 @@ +package com.ruoyi.common.config; + +import lombok.Data; +import org.springframework.boot.context.properties.ConfigurationProperties; +import org.springframework.stereotype.Component; + +@Component +@ConfigurationProperties(prefix = "dl-rights") +@Data +public class DlRightsConfig { + /** 每月发布通告额度 */ + private Integer addNotice; + +} diff --git a/ruoyi-framework/src/main/java/com/ruoyi/framework/handler/DefaultDBFieldHandler.java b/ruoyi-framework/src/main/java/com/ruoyi/framework/handler/DefaultDBFieldHandler.java index cb3b241..49bc02e 100644 --- a/ruoyi-framework/src/main/java/com/ruoyi/framework/handler/DefaultDBFieldHandler.java +++ b/ruoyi-framework/src/main/java/com/ruoyi/framework/handler/DefaultDBFieldHandler.java @@ -34,14 +34,18 @@ public class DefaultDBFieldHandler implements MetaObjectHandler { baseDO.setUpdateTime(current); } // 获取当前的用户 - Long userId = SecurityUtils.getUserId(); - // 当前登录用户不为空,创建人为空,则当前登录用户为创建人 - if (Objects.nonNull(userId) && Objects.isNull(baseDO.getCreator())) { - baseDO.setCreator(userId.toString()); - } - // 当前登录用户不为空,更新人为空,则当前登录用户为更新人 - if (Objects.nonNull(userId) && Objects.isNull(baseDO.getUpdater())) { - baseDO.setUpdater(userId.toString()); + try { + Long userId = SecurityUtils.getUserId(); + // 当前登录用户不为空,创建人为空,则当前登录用户为创建人 + if (Objects.nonNull(userId) && Objects.isNull(baseDO.getCreator())) { + baseDO.setCreator(userId.toString()); + } + // 当前登录用户不为空,更新人为空,则当前登录用户为更新人 + if (Objects.nonNull(userId) && Objects.isNull(baseDO.getUpdater())) { + baseDO.setUpdater(userId.toString()); + } + }catch (Exception e){ + //拦截异常,不抛出 } } } @@ -62,9 +66,13 @@ public class DefaultDBFieldHandler implements MetaObjectHandler { // } //更新数据时,强制更新数据的更新时间和更新人 setFieldValByName("updateTime", new Date(), metaObject); - Long userId = SecurityUtils.getUserId(); - if (Objects.nonNull(userId)) { - setFieldValByName("updater", userId.toString(), metaObject); + try { + Long userId = SecurityUtils.getUserId(); + if (Objects.nonNull(userId)) { + setFieldValByName("updater", userId.toString(), metaObject); + } + }catch (Exception e){ + //拦截异常,不抛出 } } } diff --git a/ruoyi-framework/src/main/java/com/ruoyi/framework/web/service/SysLoginService.java b/ruoyi-framework/src/main/java/com/ruoyi/framework/web/service/SysLoginService.java index 7e6382d..7ecbc5a 100644 --- a/ruoyi-framework/src/main/java/com/ruoyi/framework/web/service/SysLoginService.java +++ b/ruoyi-framework/src/main/java/com/ruoyi/framework/web/service/SysLoginService.java @@ -106,62 +106,6 @@ public class SysLoginService return tokenService.createToken(loginUser); } - /** - * 微信登录 - * - * @param decryptResult 登录凭证 只能用一次 - * @return - */ - public String wxLogin(String openid,String decryptResult){ - //字符串转json - JSONObject jsonObject = JSONObject.parseObject(decryptResult); - //手机号 - String phone = jsonObject.getString("phoneNumber"); - //根据openid判断数据库中是否有该用户 - //根据openid查询用户信息 - SysUser wxUser = userMapper.selectWxUserByOpenIdOrPhone(openid,null); - if(null==wxUser){ - //根据openId没查到,再根据手机号查 - wxUser = userMapper.selectWxUserByOpenIdOrPhone(null,phone); - } - //如果查不到,则新增,查到了,则更新 - SysUser user = new SysUser(); - if (wxUser == null) { - // 新增 - // 设置姓名 ,默认使用昵称+随机数,防止重复姓名的发生 数据库中把username的长度修改的长一点 - user.setUserName(phone); - user.setNickName("微信用户"); - user.setOpenId(openid); - user.setPhonenumber(phone); - user.setSex("2"); - user.setCreateTime(DateUtils.getNowDate()); - //新增 用户 - userMapper.insertUser(user); - }else { - //,查到了 - if(!"0".equals(wxUser.getStatus())){ - //非正常状态,无法登录 - throw new ServiceException("账号状态异常"); - } - // 更新 - user = wxUser; - if(!openid.equals(user.getOpenId())){ - user.setOpenId(openid); - user.setUpdateTime(DateUtils.getNowDate()); - userMapper.updateUser(user); - } - } - - //组装token信息 - LoginUser loginUser = new LoginUser(); - loginUser.setOpenId(openid); - loginUser.setUser(user); - loginUser.setUserId(user.getUserId()); - - // 生成token - return tokenService.createToken(loginUser); - } - /** * 校验验证码 *