diff --git a/ruoyi-cai/src/main/java/com/ruoyi/cai/controller/app/CaiCurrentUserAppController.java b/ruoyi-cai/src/main/java/com/ruoyi/cai/controller/app/CaiCurrentUserAppController.java index e866800e..d161fb70 100644 --- a/ruoyi-cai/src/main/java/com/ruoyi/cai/controller/app/CaiCurrentUserAppController.java +++ b/ruoyi-cai/src/main/java/com/ruoyi/cai/controller/app/CaiCurrentUserAppController.java @@ -8,10 +8,7 @@ import com.ruoyi.cai.domain.CaiAccountRecharge; import com.ruoyi.cai.dto.app.query.*; import com.ruoyi.cai.dto.app.vo.*; import com.ruoyi.cai.manager.CurrentUserManager; -import com.ruoyi.cai.service.CaiAccountBankcardService; -import com.ruoyi.cai.service.CaiAccountCashService; -import com.ruoyi.cai.service.CaiAccountRechargeService; -import com.ruoyi.cai.service.CaiUserAlbumService; +import com.ruoyi.cai.service.*; import com.ruoyi.common.core.domain.PageQuery; import com.ruoyi.common.core.domain.R; import com.ruoyi.common.core.page.TableDataInfo; @@ -35,6 +32,8 @@ public class CaiCurrentUserAppController { private CaiAccountCashService accountCashService; @Autowired private CaiUserAlbumService userAlbumService; + @Autowired + private CaiReportService reportService; @GetMapping("/user/aliInfo") public R aliInfo(){ @@ -113,4 +112,12 @@ public class CaiCurrentUserAppController { .orderByDesc(CaiAccountCash::getCreateTime)); return TableDataInfo.build(page,AccountCashVo::new); } + + @PostMapping("/user/report") + public R report(UserReportRes reportRes){ + Long userId = LoginHelper.getUserId(); + reportRes.setUserId(userId); + reportService.report(reportRes); + return R.ok(); + } } diff --git a/ruoyi-cai/src/main/java/com/ruoyi/cai/controller/app/CaiSettingAppController.java b/ruoyi-cai/src/main/java/com/ruoyi/cai/controller/app/CaiSettingAppController.java index 2db5e482..445225fd 100644 --- a/ruoyi-cai/src/main/java/com/ruoyi/cai/controller/app/CaiSettingAppController.java +++ b/ruoyi-cai/src/main/java/com/ruoyi/cai/controller/app/CaiSettingAppController.java @@ -2,8 +2,10 @@ package com.ruoyi.cai.controller.app; import com.baomidou.mybatisplus.core.toolkit.Wrappers; import com.ruoyi.cai.domain.CaiGoods; +import com.ruoyi.cai.domain.CaiReportCate; import com.ruoyi.cai.domain.CaiWithdrawExchange; import com.ruoyi.cai.service.CaiGoodsService; +import com.ruoyi.cai.service.CaiReportCateService; import com.ruoyi.cai.service.CaiWithdrawExchangeService; import com.ruoyi.common.core.domain.R; import org.springframework.beans.factory.annotation.Autowired; @@ -21,6 +23,8 @@ public class CaiSettingAppController { private CaiGoodsService goodsService; @Autowired private CaiWithdrawExchangeService withdrawExchangeService; + @Autowired + private CaiReportCateService reportCateService; @GetMapping("/goods") public R> goods(){ @@ -36,4 +40,10 @@ public class CaiSettingAppController { .orderByAsc(CaiWithdrawExchange::getMoney)); return R.ok(list); } + + @GetMapping("/report") + public R> report(){ + List list = reportCateService.list(Wrappers.lambdaQuery(CaiReportCate.class)); + return R.ok(list); + } } diff --git a/ruoyi-cai/src/main/java/com/ruoyi/cai/controller/app/CaiUserDynamicAppController.java b/ruoyi-cai/src/main/java/com/ruoyi/cai/controller/app/CaiUserDynamicAppController.java new file mode 100644 index 00000000..52526e43 --- /dev/null +++ b/ruoyi-cai/src/main/java/com/ruoyi/cai/controller/app/CaiUserDynamicAppController.java @@ -0,0 +1,56 @@ +package com.ruoyi.cai.controller.app; + +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.ruoyi.cai.dto.app.query.DynamicAddRes; +import com.ruoyi.cai.dto.app.query.DynamicQuery; +import com.ruoyi.cai.dto.app.query.DynamicStarRes; +import com.ruoyi.cai.dto.app.vo.DynamicListVo; +import com.ruoyi.cai.service.CaiDynamicService; +import com.ruoyi.cai.service.CaiUserFollowDynamicService; +import com.ruoyi.common.core.domain.PageQuery; +import com.ruoyi.common.core.domain.R; +import com.ruoyi.common.core.page.TableDataInfo; +import com.ruoyi.common.helper.LoginHelper; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.GetMapping; +import org.springframework.web.bind.annotation.PostMapping; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; + +@RestController +@RequestMapping("/api/dynamic") +public class CaiUserDynamicAppController { + + @Autowired + private CaiDynamicService dynamicService; + @Autowired + private CaiUserFollowDynamicService userFollowDynamicService; + + @GetMapping("/page") + public TableDataInfo page(PageQuery pageQuery, DynamicQuery query){ + Page resp = dynamicService.pageApp(pageQuery,query); + return TableDataInfo.build(resp); + } + + @PostMapping("/star") + public R star(DynamicStarRes query){ + query.setUserId(LoginHelper.getUserId()); + userFollowDynamicService.star(query); + return R.ok(); + } + + @PostMapping("/unstar") + public R unStar(DynamicStarRes query){ + query.setUserId(LoginHelper.getUserId()); + userFollowDynamicService.unStar(query); + return R.ok(); + } + + @PostMapping("/save") + public R save(DynamicAddRes res){ + res.setUserId(LoginHelper.getUserId()); + dynamicService.saveDynamic(res); + return R.ok(); + } + +} diff --git a/ruoyi-cai/src/main/java/com/ruoyi/cai/domain/CaiDynamic.java b/ruoyi-cai/src/main/java/com/ruoyi/cai/domain/CaiDynamic.java index 4fc9dc4d..d72138fd 100644 --- a/ruoyi-cai/src/main/java/com/ruoyi/cai/domain/CaiDynamic.java +++ b/ruoyi-cai/src/main/java/com/ruoyi/cai/domain/CaiDynamic.java @@ -27,7 +27,7 @@ public class CaiDynamic implements Serializable { /** * 用户ID */ - private Integer userId; + private Long userId; /** * 内容 */ diff --git a/ruoyi-cai/src/main/java/com/ruoyi/cai/dto/app/query/DynamicAddRes.java b/ruoyi-cai/src/main/java/com/ruoyi/cai/dto/app/query/DynamicAddRes.java new file mode 100644 index 00000000..fd8df4ad --- /dev/null +++ b/ruoyi-cai/src/main/java/com/ruoyi/cai/dto/app/query/DynamicAddRes.java @@ -0,0 +1,39 @@ +package com.ruoyi.cai.dto.app.query; + +import com.ruoyi.cai.dto.app.vo.DynamicImageVo; +import lombok.Data; + +import java.time.LocalDateTime; +import java.util.List; + +@Data +public class DynamicAddRes { + /** + * 用户ID + */ + private Long userId; + /** + * 内容 + */ + private String content; + /** + * 城市ID + */ + private Integer cityId; + /** + * 是否有附件 0 没有 1 有 + */ + private Integer isAttach; + /** + * 状态 0 审核中 1可用 2 不可用 + */ + private Integer status; + /** + * 排序字段 + */ + private Long sort; + + private LocalDateTime createTime; + + private List imageList; +} diff --git a/ruoyi-cai/src/main/java/com/ruoyi/cai/dto/app/query/DynamicQuery.java b/ruoyi-cai/src/main/java/com/ruoyi/cai/dto/app/query/DynamicQuery.java new file mode 100644 index 00000000..8638405b --- /dev/null +++ b/ruoyi-cai/src/main/java/com/ruoyi/cai/dto/app/query/DynamicQuery.java @@ -0,0 +1,16 @@ +package com.ruoyi.cai.dto.app.query; + +import lombok.Data; + +@Data +public class DynamicQuery { + + // 1=最新(默认) 2=关注 3=同城 + private Integer type = 1; + + private Long userId; + + private Long currentUserId; + + private Integer cityId; +} diff --git a/ruoyi-cai/src/main/java/com/ruoyi/cai/dto/app/query/DynamicStarRes.java b/ruoyi-cai/src/main/java/com/ruoyi/cai/dto/app/query/DynamicStarRes.java new file mode 100644 index 00000000..1061b091 --- /dev/null +++ b/ruoyi-cai/src/main/java/com/ruoyi/cai/dto/app/query/DynamicStarRes.java @@ -0,0 +1,9 @@ +package com.ruoyi.cai.dto.app.query; + +import lombok.Data; + +@Data +public class DynamicStarRes { + private Long dynamicId; + private Long userId; +} diff --git a/ruoyi-cai/src/main/java/com/ruoyi/cai/dto/app/query/UserReportRes.java b/ruoyi-cai/src/main/java/com/ruoyi/cai/dto/app/query/UserReportRes.java new file mode 100644 index 00000000..d35ae09d --- /dev/null +++ b/ruoyi-cai/src/main/java/com/ruoyi/cai/dto/app/query/UserReportRes.java @@ -0,0 +1,28 @@ +package com.ruoyi.cai.dto.app.query; + +import lombok.Data; + +@Data +public class UserReportRes { + + /** + * 举报类型 1 个人详情页 2 视频结束 3 动态 4.IM页面 + */ + private Integer type; + /** + * 举报分类 + */ + private Long cateId; + /** + * 举报人 + */ + private Long userId; + /** + * 举报对象 + */ + private Long reportUid; + /** + * 举报内容 + */ + private String content; +} diff --git a/ruoyi-cai/src/main/java/com/ruoyi/cai/dto/app/vo/DynamicImageVo.java b/ruoyi-cai/src/main/java/com/ruoyi/cai/dto/app/vo/DynamicImageVo.java index 7b8be320..1a3f54cd 100644 --- a/ruoyi-cai/src/main/java/com/ruoyi/cai/dto/app/vo/DynamicImageVo.java +++ b/ruoyi-cai/src/main/java/com/ruoyi/cai/dto/app/vo/DynamicImageVo.java @@ -7,11 +7,11 @@ import java.time.LocalDateTime; @Data public class DynamicImageVo { - private Integer id; + private Long id; /** * 用户ID */ - private Integer userId; + private Long userId; /** * 动态ID */ diff --git a/ruoyi-cai/src/main/java/com/ruoyi/cai/dto/app/vo/DynamicListVo.java b/ruoyi-cai/src/main/java/com/ruoyi/cai/dto/app/vo/DynamicListVo.java new file mode 100644 index 00000000..20522f9c --- /dev/null +++ b/ruoyi-cai/src/main/java/com/ruoyi/cai/dto/app/vo/DynamicListVo.java @@ -0,0 +1,19 @@ +package com.ruoyi.cai.dto.app.vo; + +import lombok.Data; + +import java.time.LocalDateTime; +import java.util.List; + +@Data +public class DynamicListVo extends DynamicVo{ + + private Integer age; + /** + * 性别 0 未知 1 女 2 男 + */ + private Integer gender; + private String avatar; + private String nickname; + private boolean star; +} diff --git a/ruoyi-cai/src/main/java/com/ruoyi/cai/dto/app/vo/DynamicVo.java b/ruoyi-cai/src/main/java/com/ruoyi/cai/dto/app/vo/DynamicVo.java index 2f9f0dee..1f7eac3e 100644 --- a/ruoyi-cai/src/main/java/com/ruoyi/cai/dto/app/vo/DynamicVo.java +++ b/ruoyi-cai/src/main/java/com/ruoyi/cai/dto/app/vo/DynamicVo.java @@ -14,7 +14,7 @@ public class DynamicVo { /** * 用户ID */ - private Integer userId; + private Long userId; /** * 内容 */ diff --git a/ruoyi-cai/src/main/java/com/ruoyi/cai/mapper/CaiDynamicMapper.java b/ruoyi-cai/src/main/java/com/ruoyi/cai/mapper/CaiDynamicMapper.java index 23d6b917..66a39de9 100644 --- a/ruoyi-cai/src/main/java/com/ruoyi/cai/mapper/CaiDynamicMapper.java +++ b/ruoyi-cai/src/main/java/com/ruoyi/cai/mapper/CaiDynamicMapper.java @@ -1,7 +1,11 @@ package com.ruoyi.cai.mapper; import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.ruoyi.cai.domain.CaiDynamic; +import com.ruoyi.cai.dto.app.query.DynamicQuery; +import com.ruoyi.cai.dto.app.vo.DynamicListVo; +import org.apache.ibatis.annotations.Param; /** * 主播动态Mapper接口 @@ -11,4 +15,5 @@ import com.ruoyi.cai.domain.CaiDynamic; */ public interface CaiDynamicMapper extends BaseMapper { + Page pageApp(@Param("build") Page build, @Param("query") DynamicQuery query); } diff --git a/ruoyi-cai/src/main/java/com/ruoyi/cai/service/CaiDynamicService.java b/ruoyi-cai/src/main/java/com/ruoyi/cai/service/CaiDynamicService.java index 3fe5c600..6a2eada0 100644 --- a/ruoyi-cai/src/main/java/com/ruoyi/cai/service/CaiDynamicService.java +++ b/ruoyi-cai/src/main/java/com/ruoyi/cai/service/CaiDynamicService.java @@ -1,8 +1,14 @@ package com.ruoyi.cai.service; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.service.IService; import com.ruoyi.cai.domain.CaiDynamic; +import com.ruoyi.cai.dto.app.query.DynamicAddRes; +import com.ruoyi.cai.dto.app.query.DynamicQuery; +import com.ruoyi.cai.dto.app.query.DynamicStarRes; +import com.ruoyi.cai.dto.app.vo.DynamicListVo; import com.ruoyi.cai.dto.app.vo.DynamicVo; +import com.ruoyi.common.core.domain.PageQuery; import java.util.List; @@ -15,4 +21,8 @@ import java.util.List; public interface CaiDynamicService extends IService { List selectDynamicList(Long userId, Integer limit); + + Page pageApp(PageQuery pageQuery, DynamicQuery query); + + void saveDynamic(DynamicAddRes res); } diff --git a/ruoyi-cai/src/main/java/com/ruoyi/cai/service/CaiReportService.java b/ruoyi-cai/src/main/java/com/ruoyi/cai/service/CaiReportService.java index 4e801495..d4057122 100644 --- a/ruoyi-cai/src/main/java/com/ruoyi/cai/service/CaiReportService.java +++ b/ruoyi-cai/src/main/java/com/ruoyi/cai/service/CaiReportService.java @@ -2,6 +2,7 @@ package com.ruoyi.cai.service; import com.baomidou.mybatisplus.extension.service.IService; import com.ruoyi.cai.domain.CaiReport; +import com.ruoyi.cai.dto.app.query.UserReportRes; /** * 举报Service接口 @@ -11,4 +12,5 @@ import com.ruoyi.cai.domain.CaiReport; */ public interface CaiReportService extends IService { + void report(UserReportRes reportRes); } diff --git a/ruoyi-cai/src/main/java/com/ruoyi/cai/service/CaiUserFollowDynamicService.java b/ruoyi-cai/src/main/java/com/ruoyi/cai/service/CaiUserFollowDynamicService.java index 6df1f6d7..6cb1b2de 100644 --- a/ruoyi-cai/src/main/java/com/ruoyi/cai/service/CaiUserFollowDynamicService.java +++ b/ruoyi-cai/src/main/java/com/ruoyi/cai/service/CaiUserFollowDynamicService.java @@ -2,6 +2,7 @@ package com.ruoyi.cai.service; import com.baomidou.mybatisplus.extension.service.IService; import com.ruoyi.cai.domain.CaiUserFollowDynamic; +import com.ruoyi.cai.dto.app.query.DynamicStarRes; /** * 关注动态表Service接口 @@ -11,4 +12,7 @@ import com.ruoyi.cai.domain.CaiUserFollowDynamic; */ public interface CaiUserFollowDynamicService extends IService { + void star(DynamicStarRes query); + + void unStar(DynamicStarRes query); } diff --git a/ruoyi-cai/src/main/java/com/ruoyi/cai/service/impl/CaiDynamicServiceImpl.java b/ruoyi-cai/src/main/java/com/ruoyi/cai/service/impl/CaiDynamicServiceImpl.java index ae475ccd..c1c0c127 100644 --- a/ruoyi-cai/src/main/java/com/ruoyi/cai/service/impl/CaiDynamicServiceImpl.java +++ b/ruoyi-cai/src/main/java/com/ruoyi/cai/service/impl/CaiDynamicServiceImpl.java @@ -2,14 +2,21 @@ package com.ruoyi.cai.service.impl; import cn.hutool.core.collection.CollectionUtil; import com.baomidou.mybatisplus.core.toolkit.Wrappers; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.ruoyi.cai.domain.CaiDynamic; import com.ruoyi.cai.domain.CaiDynamicImages; +import com.ruoyi.cai.dto.app.query.DynamicAddRes; +import com.ruoyi.cai.dto.app.query.DynamicQuery; +import com.ruoyi.cai.dto.app.query.DynamicStarRes; import com.ruoyi.cai.dto.app.vo.DynamicImageVo; +import com.ruoyi.cai.dto.app.vo.DynamicListVo; import com.ruoyi.cai.dto.app.vo.DynamicVo; import com.ruoyi.cai.mapper.CaiDynamicMapper; import com.ruoyi.cai.service.CaiDynamicImagesService; import com.ruoyi.cai.service.CaiDynamicService; +import com.ruoyi.cai.service.CaiUserFollowDynamicService; +import com.ruoyi.common.core.domain.PageQuery; import com.ruoyi.common.utils.BeanConvertUtil; import lombok.RequiredArgsConstructor; import net.bytebuddy.utility.JavaConstant; @@ -18,6 +25,7 @@ import org.springframework.stereotype.Service; import java.util.List; import java.util.Map; +import java.util.Set; import java.util.stream.Collectors; /** @@ -54,4 +62,38 @@ public class CaiDynamicServiceImpl extends ServiceImpl pageApp(PageQuery pageQuery, DynamicQuery query) { + Page page = baseMapper.pageApp(pageQuery.build(),query); + List records = page.getRecords(); + List dynamicIds = records.stream().filter(i -> i.getIsAttach() == 1).map(DynamicVo::getId).collect(Collectors.toList()); + if(CollectionUtil.isNotEmpty(dynamicIds)){ + List dynamicImages = dynamicImagesService.list(Wrappers.lambdaQuery(CaiDynamicImages.class) + .in(CaiDynamicImages::getDynamicId, dynamicIds)); + Map> map = + dynamicImages.stream().collect(Collectors.groupingBy(CaiDynamicImages::getDynamicId)); + for (DynamicVo re : records) { + List images = map.get(re.getId()); + re.setImageList(BeanConvertUtil.convertListTo(images, DynamicImageVo::new)); + } + } + return page; + } + + @Override + public void saveDynamic(DynamicAddRes res) { + CaiDynamic caiDynamic = BeanConvertUtil.convertTo(res, CaiDynamic::new); + this.save(caiDynamic); + List imageList = res.getImageList(); + if(CollectionUtil.isNotEmpty(imageList)){ + for (DynamicImageVo imageVo : imageList) { + imageVo.setDynamicId(caiDynamic.getId()); + imageVo.setUserId(caiDynamic.getUserId()); + imageVo.setId(null); + } + dynamicImagesService.saveBatch(BeanConvertUtil.convertListTo(imageList, CaiDynamicImages::new)); + } + } + } diff --git a/ruoyi-cai/src/main/java/com/ruoyi/cai/service/impl/CaiReportServiceImpl.java b/ruoyi-cai/src/main/java/com/ruoyi/cai/service/impl/CaiReportServiceImpl.java index b4caf274..1b13739e 100644 --- a/ruoyi-cai/src/main/java/com/ruoyi/cai/service/impl/CaiReportServiceImpl.java +++ b/ruoyi-cai/src/main/java/com/ruoyi/cai/service/impl/CaiReportServiceImpl.java @@ -2,9 +2,13 @@ package com.ruoyi.cai.service.impl; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.ruoyi.cai.domain.CaiReport; +import com.ruoyi.cai.domain.CaiReportCate; +import com.ruoyi.cai.dto.app.query.UserReportRes; import com.ruoyi.cai.mapper.CaiReportMapper; +import com.ruoyi.cai.service.CaiReportCateService; import com.ruoyi.cai.service.CaiReportService; import lombok.RequiredArgsConstructor; +import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; /** @@ -16,5 +20,18 @@ import org.springframework.stereotype.Service; @RequiredArgsConstructor @Service public class CaiReportServiceImpl extends ServiceImpl implements CaiReportService { - + @Autowired + private CaiReportCateService reportCateService; + @Override + public void report(UserReportRes reportRes) { + CaiReportCate reportCate = reportCateService.getById(reportRes.getCateId()); + CaiReport report = new CaiReport(); + report.setType(reportRes.getType()); + report.setCateName(reportCate.getName()); + report.setCateId(reportRes.getCateId()); + report.setUserId(reportRes.getUserId()); + report.setReportUid(reportRes.getReportUid()); + report.setContent(reportRes.getContent()); + this.save(report); + } } diff --git a/ruoyi-cai/src/main/java/com/ruoyi/cai/service/impl/CaiUserFollowDynamicServiceImpl.java b/ruoyi-cai/src/main/java/com/ruoyi/cai/service/impl/CaiUserFollowDynamicServiceImpl.java index a3cdc87f..1cacaded 100644 --- a/ruoyi-cai/src/main/java/com/ruoyi/cai/service/impl/CaiUserFollowDynamicServiceImpl.java +++ b/ruoyi-cai/src/main/java/com/ruoyi/cai/service/impl/CaiUserFollowDynamicServiceImpl.java @@ -1,10 +1,15 @@ package com.ruoyi.cai.service.impl; +import com.baomidou.mybatisplus.core.toolkit.Wrappers; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.ruoyi.cai.domain.CaiDynamic; import com.ruoyi.cai.domain.CaiUserFollowDynamic; +import com.ruoyi.cai.dto.app.query.DynamicStarRes; import com.ruoyi.cai.mapper.CaiUserFollowDynamicMapper; +import com.ruoyi.cai.service.CaiDynamicService; import com.ruoyi.cai.service.CaiUserFollowDynamicService; import lombok.RequiredArgsConstructor; +import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; /** @@ -17,4 +22,29 @@ import org.springframework.stereotype.Service; @Service public class CaiUserFollowDynamicServiceImpl extends ServiceImpl implements CaiUserFollowDynamicService { + @Autowired + private CaiDynamicService dynamicService; + + @Override + public void star(DynamicStarRes query) { + CaiDynamic dynamic = dynamicService.getById(query.getDynamicId()); + if(dynamic == null){ + return; + } + this.remove(Wrappers.lambdaQuery(CaiUserFollowDynamic.class) + .eq(CaiUserFollowDynamic::getDynamicId,query.getDynamicId()) + .eq(CaiUserFollowDynamic::getUserId,query.getUserId())); + CaiUserFollowDynamic userFollowDynamic = new CaiUserFollowDynamic(); + userFollowDynamic.setUserId(query.getUserId()); + userFollowDynamic.setFollowUid(dynamic.getUserId()); + userFollowDynamic.setDynamicId(dynamic.getId()); + this.save(userFollowDynamic); + } + + @Override + public void unStar(DynamicStarRes query) { + this.remove(Wrappers.lambdaQuery(CaiUserFollowDynamic.class) + .eq(CaiUserFollowDynamic::getDynamicId,query.getDynamicId()) + .eq(CaiUserFollowDynamic::getUserId,query.getUserId())); + } } diff --git a/ruoyi-cai/src/main/resources/mapper/cai/CaiDynamicMapper.xml b/ruoyi-cai/src/main/resources/mapper/cai/CaiDynamicMapper.xml index 18be0b32..18e80cda 100644 --- a/ruoyi-cai/src/main/resources/mapper/cai/CaiDynamicMapper.xml +++ b/ruoyi-cai/src/main/resources/mapper/cai/CaiDynamicMapper.xml @@ -14,6 +14,25 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" +