Browse Source

feat(cms): 添加根据code查询文章功能

- 在CmsArticleController中新增getByCode接口,支持通过文章编号查询文章- 在CmsArticle实体类中添加code字段,用于存储文章编号
- 在CmsArticleMapper.xml中添加code字段的查询条件支持
- 在CmsArticleParam参数类中添加code字段及查询注解
- 在CmsArticleService接口及实现类中添加getByIdCode方法
- 优化CmsAdServiceImpl中的默认排序规则,优先按sort_number排序
dev
科技小王子 3 days ago
parent
commit
221874425f
  1. 7
      src/main/java/com/gxwebsoft/cms/controller/CmsArticleController.java
  2. 3
      src/main/java/com/gxwebsoft/cms/entity/CmsArticle.java
  3. 3
      src/main/java/com/gxwebsoft/cms/mapper/xml/CmsArticleMapper.xml
  4. 4
      src/main/java/com/gxwebsoft/cms/param/CmsArticleParam.java
  5. 2
      src/main/java/com/gxwebsoft/cms/service/CmsArticleService.java
  6. 4
      src/main/java/com/gxwebsoft/cms/service/impl/CmsAdServiceImpl.java
  7. 12
      src/main/java/com/gxwebsoft/cms/service/impl/CmsArticleServiceImpl.java

7
src/main/java/com/gxwebsoft/cms/controller/CmsArticleController.java

@ -88,6 +88,13 @@ public class CmsArticleController extends BaseController {
return fail("文章ID不存在",null); return fail("文章ID不存在",null);
} }
@Operation(summary = "根据code查询文章")
@GetMapping("/getByCode/{code}")
public ApiResult<CmsArticle> getByCode(@PathVariable("code") String code) {
final CmsArticle article = cmsArticleService.getByIdCode(code);
return success(article);
}
@PreAuthorize("hasAuthority('cms:cmsArticle:save')") @PreAuthorize("hasAuthority('cms:cmsArticle:save')")
@Operation(summary = "添加文章") @Operation(summary = "添加文章")
@PostMapping() @PostMapping()

3
src/main/java/com/gxwebsoft/cms/entity/CmsArticle.java

@ -40,6 +40,9 @@ public class CmsArticle implements Serializable {
@Schema(description = "文章模型") @Schema(description = "文章模型")
private String model; private String model;
@Schema(description = "文章编号")
private String code;
@Schema(description = "内容模板页面") @Schema(description = "内容模板页面")
private String detail; private String detail;

3
src/main/java/com/gxwebsoft/cms/mapper/xml/CmsArticleMapper.xml

@ -25,6 +25,9 @@
<if test="param.model != null"> <if test="param.model != null">
AND a.model = #{param.model} AND a.model = #{param.model}
</if> </if>
<if test="param.code != null">
AND a.code = #{param.code}
</if>
<if test="param.detail != null"> <if test="param.detail != null">
AND a.detail = #{param.detail} AND a.detail = #{param.detail}
</if> </if>

4
src/main/java/com/gxwebsoft/cms/param/CmsArticleParam.java

@ -45,6 +45,10 @@ public class CmsArticleParam extends BaseParam {
@QueryField(type = QueryType.EQ) @QueryField(type = QueryType.EQ)
private String model; private String model;
@Schema(description = "文章编号")
@QueryField(type = QueryType.EQ)
private String code;
@Schema(description = "详情页标识") @Schema(description = "详情页标识")
@QueryField(type = QueryType.EQ) @QueryField(type = QueryType.EQ)
private String detail; private String detail;

2
src/main/java/com/gxwebsoft/cms/service/CmsArticleService.java

@ -45,4 +45,6 @@ public interface CmsArticleService extends IService<CmsArticle> {
boolean saveRel(@Valid CmsArticle article); boolean saveRel(@Valid CmsArticle article);
boolean updateByIdRel(CmsArticle article); boolean updateByIdRel(CmsArticle article);
CmsArticle getByIdCode(String code);
} }

4
src/main/java/com/gxwebsoft/cms/service/impl/CmsAdServiceImpl.java

@ -26,7 +26,7 @@ public class CmsAdServiceImpl extends ServiceImpl<CmsAdMapper, CmsAd> implements
@Override @Override
public PageResult<CmsAd> pageRel(CmsAdParam param) { public PageResult<CmsAd> pageRel(CmsAdParam param) {
PageParam<CmsAd, CmsAdParam> page = new PageParam<>(param); PageParam<CmsAd, CmsAdParam> page = new PageParam<>(param);
page.setDefaultOrder("create_time asc");
page.setDefaultOrder("sort_number asc, create_time asc");
List<CmsAd> list = baseMapper.selectPageRel(page, param); List<CmsAd> list = baseMapper.selectPageRel(page, param);
return new PageResult<>(list, page.getTotal()); return new PageResult<>(list, page.getTotal());
} }
@ -36,7 +36,7 @@ public class CmsAdServiceImpl extends ServiceImpl<CmsAdMapper, CmsAd> implements
List<CmsAd> list = baseMapper.selectListRel(param); List<CmsAd> list = baseMapper.selectListRel(param);
// 排序 // 排序
PageParam<CmsAd, CmsAdParam> page = new PageParam<>(); PageParam<CmsAd, CmsAdParam> page = new PageParam<>();
page.setDefaultOrder("create_time asc");
page.setDefaultOrder("sort_number asc, create_time asc");
return page.sortRecords(list); return page.sortRecords(list);
} }

12
src/main/java/com/gxwebsoft/cms/service/impl/CmsArticleServiceImpl.java

@ -5,13 +5,11 @@ import cn.hutool.core.util.StrUtil;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper; import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.gxwebsoft.cms.entity.CmsArticleContent;
import com.gxwebsoft.cms.entity.CmsModel;
import com.gxwebsoft.cms.entity.CmsNavigation;
import com.gxwebsoft.cms.entity.*;
import com.gxwebsoft.cms.mapper.CmsArticleMapper; import com.gxwebsoft.cms.mapper.CmsArticleMapper;
import com.gxwebsoft.cms.param.CmsAdParam;
import com.gxwebsoft.cms.service.CmsArticleContentService; import com.gxwebsoft.cms.service.CmsArticleContentService;
import com.gxwebsoft.cms.service.CmsArticleService; import com.gxwebsoft.cms.service.CmsArticleService;
import com.gxwebsoft.cms.entity.CmsArticle;
import com.gxwebsoft.cms.param.CmsArticleParam; import com.gxwebsoft.cms.param.CmsArticleParam;
import com.gxwebsoft.cms.service.CmsModelService; import com.gxwebsoft.cms.service.CmsModelService;
import com.gxwebsoft.cms.service.CmsNavigationService; import com.gxwebsoft.cms.service.CmsNavigationService;
@ -243,4 +241,10 @@ public class CmsArticleServiceImpl extends ServiceImpl<CmsArticleMapper, CmsArti
return false; return false;
} }
@Override
public CmsArticle getByIdCode(String code) {
CmsArticleParam param = new CmsArticleParam();
param.setCode(code);
return param.getOne(baseMapper.selectListRel(param));
}
} }

Loading…
Cancel
Save