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..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,8 @@ 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; import org.springframework.beans.factory.annotation.Autowired; @@ -131,19 +133,14 @@ 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) { - 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/mapper/BaseCardRightsMapper.java b/ruoyi-admin/src/main/java/com/ruoyi/base/mapper/BaseCardRightsMapper.java index 4afe7f7..2cb5dbd 100644 --- a/ruoyi-admin/src/main/java/com/ruoyi/base/mapper/BaseCardRightsMapper.java +++ b/ruoyi-admin/src/main/java/com/ruoyi/base/mapper/BaseCardRightsMapper.java @@ -1,6 +1,7 @@ package com.ruoyi.base.mapper; import java.util.List; + import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.ruoyi.base.domain.BaseCardRights; @@ -11,24 +12,34 @@ import org.apache.ibatis.annotations.Mapper; /** * 会员卡权益Mapper接口 - * + * * @author vinjor-m * @date 2025-03-17 */ @Mapper -public interface BaseCardRightsMapper extends BaseMapper -{ +public interface BaseCardRightsMapper extends BaseMapper { IPage queryListPage(@Param("entity") BaseCardRights entity, Page page); /** * 查询会员卡权益 + * + * @param cardId 会员卡id + * @param userType 用户类型 + * @return java.util.List * @author vinjor-M * @date 15:24 2025/3/18 - * @param cardId 会员卡id - * @param userType 用户类型 - * @return java.util.List - **/ + **/ List getByIdAndType(@Param("cardId") String cardId, @Param("userType") String userType); int removeByCardId(@Param("cardId") String cardId); + + /** + * 通过会员卡id查询会员卡权益 + * + * @param cardId 会员卡id + * @return java.util.List + * @author PQZ + * @date 10:36 2025/3/27 + **/ + List queryByCardId(@Param("cardId") String cardId); } diff --git a/ruoyi-admin/src/main/java/com/ruoyi/base/service/IBaseCardRightsService.java b/ruoyi-admin/src/main/java/com/ruoyi/base/service/IBaseCardRightsService.java index 8df1506..d09e4cd 100644 --- a/ruoyi-admin/src/main/java/com/ruoyi/base/service/IBaseCardRightsService.java +++ b/ruoyi-admin/src/main/java/com/ruoyi/base/service/IBaseCardRightsService.java @@ -42,5 +42,5 @@ public interface IBaseCardRightsService extends IService * @param cardId 会员卡id * @return java.util.List **/ - List queryByCardId(String cardId); + List queryByCardId(String cardId); } 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/BaseCardRightsServiceImpl.java b/ruoyi-admin/src/main/java/com/ruoyi/base/service/impl/BaseCardRightsServiceImpl.java index 4795aea..20c8ddb 100644 --- a/ruoyi-admin/src/main/java/com/ruoyi/base/service/impl/BaseCardRightsServiceImpl.java +++ b/ruoyi-admin/src/main/java/com/ruoyi/base/service/impl/BaseCardRightsServiceImpl.java @@ -89,9 +89,7 @@ public class BaseCardRightsServiceImpl extends ServiceImpl queryByCardId(String cardId) { - LambdaQueryWrapper lambdaQueryWrapper = new LambdaQueryWrapper<>(); - lambdaQueryWrapper.eq(BaseCardRights::getCardId,cardId).eq(DlBaseEntity::getDelFlag,0); - return list(lambdaQueryWrapper); + public List queryByCardId(String cardId) { + return baseCardRightsMapper.queryByCardId(cardId); } } diff --git a/ruoyi-admin/src/main/java/com/ruoyi/base/service/impl/BaseCardServiceImpl.java b/ruoyi-admin/src/main/java/com/ruoyi/base/service/impl/BaseCardServiceImpl.java index 4852b7e..16e3434 100644 --- a/ruoyi-admin/src/main/java/com/ruoyi/base/service/impl/BaseCardServiceImpl.java +++ b/ruoyi-admin/src/main/java/com/ruoyi/base/service/impl/BaseCardServiceImpl.java @@ -10,6 +10,7 @@ import com.ruoyi.base.mapper.BaseCardMapper; import com.ruoyi.base.service.IBaseCardRightsService; import com.ruoyi.base.service.IBaseCardService; import com.ruoyi.base.vo.BaseCardVO; +import com.ruoyi.base.vo.CardRightsVO; import org.springframework.beans.BeanUtils; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; @@ -49,7 +50,7 @@ public class BaseCardServiceImpl extends ServiceImpl i BaseCardVO cardVO = new BaseCardVO(); BaseCard card = getById(cardId); BeanUtils.copyProperties(card,cardVO); - List rights = cardRightsService.queryByCardId(cardId); + List rights = cardRightsService.queryByCardId(cardId); cardVO.setRights(rights); return cardVO; } 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/base/vo/BaseCardVO.java b/ruoyi-admin/src/main/java/com/ruoyi/base/vo/BaseCardVO.java index 8b717d1..e026c15 100644 --- a/ruoyi-admin/src/main/java/com/ruoyi/base/vo/BaseCardVO.java +++ b/ruoyi-admin/src/main/java/com/ruoyi/base/vo/BaseCardVO.java @@ -9,5 +9,5 @@ import java.util.List; @Data public class BaseCardVO extends BaseCard { /**会员卡关联权益*/ - List rights; + List rights; } diff --git a/ruoyi-admin/src/main/java/com/ruoyi/base/vo/CardRightsVO.java b/ruoyi-admin/src/main/java/com/ruoyi/base/vo/CardRightsVO.java index 1c7adda..376ecb9 100644 --- a/ruoyi-admin/src/main/java/com/ruoyi/base/vo/CardRightsVO.java +++ b/ruoyi-admin/src/main/java/com/ruoyi/base/vo/CardRightsVO.java @@ -1,8 +1,6 @@ package com.ruoyi.base.vo; -import com.ruoyi.base.domain.BaseCardRights; import com.ruoyi.base.domain.BaseRights; -import com.ruoyi.common.annotation.Excel; import lombok.Data; import lombok.EqualsAndHashCode; 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..22b4006 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,10 @@ 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 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.*; @@ -49,7 +52,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); } @@ -136,4 +139,24 @@ 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") + @Anonymous + 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..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 @@ -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; @@ -19,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); /** * 查询博主报名的通告 @@ -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..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 @@ -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; @@ -41,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 保存参数 @@ -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..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 @@ -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,11 +37,17 @@ 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) { + public IPage queryListPage(BusiNoticeQuery query, Page page) { return busiNoticeMapper.queryListPage(query, 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..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,12 +5,16 @@ import io.jsonwebtoken.Claims; import java.util.Locale; /** - * 通用常量信息 + * 通用字典常量信息 * * @author ruoyi */ public class DictConstants { + /** + * 博主类型字典key + */ + public static final String BLOGGER_TYPES_KEY ="dl_blogger_type"; /** * 权益类型字典--是否支持 */ @@ -20,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/MemberRights.java b/ruoyi-admin/src/main/java/com/ruoyi/member/domain/MemberRights.java index 80324cf..0efe890 100644 --- a/ruoyi-admin/src/main/java/com/ruoyi/member/domain/MemberRights.java +++ b/ruoyi-admin/src/main/java/com/ruoyi/member/domain/MemberRights.java @@ -30,7 +30,7 @@ public class MemberRights extends DlBaseEntity /** 用户id */ @Excel(name = "用户id") - private String userId; + private Long userId; /** 用户类型(数据字典:dl_user_type) */ @Excel(name = "用户类型", readConverterExp = "数=据字典:dl_user_type") @@ -54,10 +54,10 @@ public class MemberRights extends DlBaseEntity /** 权益值(权益类型为是否时:0代表不支持,1代表支持;权益类型为数量限制时:0代表不限制,其他数字代表具体限制数量) */ @Excel(name = "权益值(权益类型为是否时:0代表不支持,1代表支持;权益类型为数量限制时:0代表不限制,其他数字代表具体限制数量)") - private Long rightsValue; + private Integer rightsValue; /** 剩余值 */ @Excel(name = "剩余值") - private Long remaining; + private Integer remaining; } 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 5782014..3a5d799 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 @@ -3,8 +3,12 @@ package com.ruoyi.member.service; import com.baomidou.mybatisplus.extension.service.IService; import com.ruoyi.member.domain.MemberCard; import com.ruoyi.member.domain.MemberOrder; +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接口 @@ -33,4 +37,13 @@ public interface IMemberCardService extends IService { **/ void dealMemberCard(MemberOrder order); + /** + * 查当前会员权益列表 + * @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/IMemberPointsService.java b/ruoyi-admin/src/main/java/com/ruoyi/member/service/IMemberPointsService.java index 973d8e2..fa4bc37 100644 --- a/ruoyi-admin/src/main/java/com/ruoyi/member/service/IMemberPointsService.java +++ b/ruoyi-admin/src/main/java/com/ruoyi/member/service/IMemberPointsService.java @@ -13,5 +13,5 @@ import java.util.List; */ public interface IMemberPointsService extends IService { - void dealMemberPoints(Long userId, List ); +// void dealMemberPoints(Long userId); } diff --git a/ruoyi-admin/src/main/java/com/ruoyi/member/service/IMemberRightsService.java b/ruoyi-admin/src/main/java/com/ruoyi/member/service/IMemberRightsService.java index dc3d629..462355f 100644 --- a/ruoyi-admin/src/main/java/com/ruoyi/member/service/IMemberRightsService.java +++ b/ruoyi-admin/src/main/java/com/ruoyi/member/service/IMemberRightsService.java @@ -1,16 +1,27 @@ package com.ruoyi.member.service; -import java.util.List; import com.baomidou.mybatisplus.extension.service.IService; +import com.ruoyi.base.vo.CardRightsVO; +import com.ruoyi.member.domain.MemberCard; import com.ruoyi.member.domain.MemberRights; +import java.util.List; + /** * 会员权益(定时任务重置剩余值),用户id、会员卡id、权益对应1Service接口 - * + * * @author pqz * @date 2025-03-17 */ -public interface IMemberRightsService extends IService -{ +public interface IMemberRightsService extends IService { + /** + * 处理会员权益 + * + * @param userId 用户表id + * @param rights 权益 + * @author PQZ + * @date 15:45 2025/3/27 + **/ + void dealRights(Long userId, String userType,List rights); } 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 87bf218..46bbc23 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,25 @@ package com.ruoyi.member.service.impl; +import cn.hutool.core.date.DateUtil; +import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.ruoyi.base.domain.BaseCard; import com.ruoyi.base.service.IBaseCardService; import com.ruoyi.base.vo.BaseCardVO; 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.MemberOrder; +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.service.IMemberRightsService; +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; @@ -17,6 +27,8 @@ import javax.annotation.Resource; import java.util.Calendar; import java.util.Date; import java.util.List; +import java.util.*; +import java.util.stream.Collectors; /** * 会员开卡记录Service业务层处理 @@ -30,6 +42,10 @@ public class MemberCardServiceImpl extends ServiceImpl cardList = checkMemberCard(order.getGoodsId(), order.getUserId()); + + /*2、计算到期时间*/ + Date startTime; + Date endTime; + if (cardList.isEmpty()){ + //计算到期时间 + startTime = new Date(); + endTime = getEndTime(startTime, order.getGoodsCycle()); + //新增时需要处理会员权益 + rightsService.dealRights(order.getUserId(),order.getUserType(),card.getRights()); + } else { + startTime = cardList.get(0).getEndDate(); + endTime = getEndTime(startTime,order.getGoodsCycle()); + } + + /*3、保存会员开卡记录*/ //初始化会员开通记录 MemberCard memberCard = new MemberCard(); memberCard.setUserId(order.getUserId()); @@ -76,10 +107,28 @@ public class MemberCardServiceImpl extends ServiceImpl + * @author PQZ + * @date 16:09 2025/3/27 + **/ + private List checkMemberCard(String cardId, Long userId) { + Date time = new Date(); + LambdaQueryWrapper lambdaQueryWrapper = new LambdaQueryWrapper<>(); + lambdaQueryWrapper + .eq(MemberCard::getCardId, cardId) + .eq(MemberCard::getUserId, userId) + .eq(DlBaseEntity::getDelFlag, 0) + .ge(MemberCard::getStartDate, time) + .lt(MemberCard::getEndDate, time); + return list(lambdaQueryWrapper); } /** @@ -109,4 +158,70 @@ 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; + } + + /** + * @param memberRightsMap 会员权益map + * @param item 这个权益 + * @author vinjor-M + * @date 14:19 2025/3/26 + **/ + 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/MemberOrderServiceImpl.java b/ruoyi-admin/src/main/java/com/ruoyi/member/service/impl/MemberOrderServiceImpl.java index e4df9f9..adb69f0 100644 --- a/ruoyi-admin/src/main/java/com/ruoyi/member/service/impl/MemberOrderServiceImpl.java +++ b/ruoyi-admin/src/main/java/com/ruoyi/member/service/impl/MemberOrderServiceImpl.java @@ -9,6 +9,7 @@ import com.ruoyi.common.utils.StringUtils; import com.ruoyi.member.domain.MemberOrder; import com.ruoyi.member.mapper.MemberOrderMapper; import com.ruoyi.member.service.IMemberCardService; +import com.ruoyi.member.service.IMemberCouponService; import com.ruoyi.member.service.IMemberOrderService; import com.ruoyi.member.vo.MemberOrderVO; import lombok.SneakyThrows; @@ -31,6 +32,8 @@ public class MemberOrderServiceImpl extends ServiceImpl implements IMemberRightsService -{ +public class MemberRightsServiceImpl extends ServiceImpl implements IMemberRightsService { @Autowired private MemberRightsMapper memberRightsMapper; + /** + * 处理会员权益 + * + * @param userId 用户表id + * @param rights 权益 + * @author PQZ + * @date 15:45 2025/3/27 + **/ + @Override + public void dealRights(Long userId, String userType, List rights) { + List saveList = new ArrayList<>(); + rights.forEach(item -> { + MemberRights memberRights = new MemberRights(); + memberRights.setUserId(userId); + memberRights.setUserType(userType); + memberRights.setCardId(item.getCardId()); + memberRights.setRightsCode(item.getCode()); + memberRights.setRightsType(item.getRightsType()); + memberRights.setRightsCycle(item.getRightsCycle()); + memberRights.setRightsValue(item.getRightsValue()); + memberRights.setRemaining(item.getRightsValue()); + saveList.add(memberRights); + }); + saveBatch(saveList); + } } 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 + \ No newline at end of file diff --git a/ruoyi-admin/src/main/resources/mapper/busi/BusiNoticeMapper.xml b/ruoyi-admin/src/main/resources/mapper/busi/BusiNoticeMapper.xml index 654df6a..074e677 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 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); - } - /** * 校验验证码 *