yangdamao il y a 5 mois
Parent
commit
775b3caade

+ 83 - 0
zhichen-admin/src/main/java/com/zhichen/controller/activity/ConsultationController.java

@@ -0,0 +1,83 @@
+package com.zhichen.controller.activity;
+
+import com.zhichen.common.core.controller.BaseController;
+import com.zhichen.common.core.domain.AjaxResult;
+import com.zhichen.common.core.page.TableDataInfo;
+import com.zhichen.modules.activity.bo.ConsultationAddBo;
+import com.zhichen.modules.activity.bo.ConsultationDelBo;
+import com.zhichen.modules.activity.bo.ConsultationQueryBo;
+import com.zhichen.modules.activity.bo.ConsultationUpdateBo;
+import com.zhichen.modules.activity.service.IConsultationService;
+import com.zhichen.modules.activity.vo.ConsultationVo;
+import io.swagger.annotations.Api;
+import io.swagger.annotations.ApiOperation;
+import lombok.RequiredArgsConstructor;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.*;
+
+import java.util.List;
+
+/**
+ * 新聞公告Controller
+ *
+ * @author hjl
+ * @date 2022-04-13
+ */
+@Api(value = "新聞公告控制器", tags = {"新聞公告管理"})
+@RequiredArgsConstructor(onConstructor_ = @Autowired)
+@RestController
+@RequestMapping("/consultation")
+public class ConsultationController extends BaseController {
+
+    private final IConsultationService consultationService;
+
+    /**
+     * 新增新聞公告
+     */
+    @ApiOperation("新增新聞公告")
+    @PostMapping("/save")
+    public AjaxResult<Void> add(@RequestBody ConsultationAddBo bo) {
+        return toAjax(consultationService.insertByAddBo(bo) ? 1 : 0);
+    }
+
+    /**
+     * 刪除新聞公告
+     */
+    @ApiOperation("刪除新聞公告")
+    @PostMapping("/batch/del")
+    public AjaxResult<Void> batchDel(@RequestBody ConsultationDelBo bo) {
+        return toAjax(consultationService.batchDel(bo) ? 1 : 0);
+    }
+
+    /**
+     * 查看新聞列表
+     */
+    @ApiOperation("查看新聞列表")
+    @GetMapping("/list")
+    public TableDataInfo<ConsultationVo> list(ConsultationQueryBo bo) {
+        startPage();
+        List<ConsultationVo> list = consultationService.getConsultationlist(bo);
+        return getDataTable(list);
+    }
+
+    /**
+     * 查看新聞詳情
+     */
+    @ApiOperation("查看新聞列表")
+    @GetMapping("/details/{id}")
+    public AjaxResult<ConsultationVo> details(@PathVariable("id") Long id) {
+        ConsultationVo vo = consultationService.getDetails(id);
+        return AjaxResult.success(vo);
+    }
+
+    /**
+     * 修改新聞公告
+     */
+    @ApiOperation("修改新聞公告")
+    @PostMapping("/update")
+    public AjaxResult<Void> updateByBo(@RequestBody ConsultationUpdateBo bo) {
+        return toAjax(consultationService.updateByBo(bo) ? 1 : 0);
+    }
+
+
+}

+ 55 - 0
zhichen-api/src/main/java/com/zhichen/controller/collect/ConsultationController.java

@@ -0,0 +1,55 @@
+package com.zhichen.controller.collect;
+
+import com.zhichen.common.core.controller.BaseController;
+import com.zhichen.common.core.domain.AjaxResult;
+import com.zhichen.common.core.page.TableDataInfo;
+import com.zhichen.modules.activity.bo.ConsultationAddBo;
+import com.zhichen.modules.activity.bo.ConsultationDelBo;
+import com.zhichen.modules.activity.bo.ConsultationQueryBo;
+import com.zhichen.modules.activity.service.IConsultationService;
+import com.zhichen.modules.activity.vo.ConsultationVo;
+import io.swagger.annotations.Api;
+import io.swagger.annotations.ApiOperation;
+import lombok.RequiredArgsConstructor;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.*;
+
+import java.util.List;
+
+/**
+ * 新聞公告Controller
+ *
+ * @author hjl
+ * @date 2022-04-13
+ */
+@Api(value = "新聞公告控制器", tags = {"新聞公告管理"})
+@RequiredArgsConstructor(onConstructor_ = @Autowired)
+@RestController
+@RequestMapping("/app/consultation")
+public class ConsultationController extends BaseController {
+
+    private final IConsultationService consultationService;
+
+    /**
+     * 查看新聞列表
+     */
+    @ApiOperation("查看新聞列表")
+    @GetMapping("/list")
+    public TableDataInfo<ConsultationVo> list(ConsultationQueryBo bo) {
+        startPage();
+        List<ConsultationVo> list = consultationService.getConsultationlist(bo);
+        return getDataTable(list);
+    }
+
+
+    /**
+     * 查看新聞詳情
+     */
+    @ApiOperation("查看新聞列表")
+    @GetMapping("/details/{id}")
+    public AjaxResult<ConsultationVo> details(@PathVariable("id") Long id) {
+        ConsultationVo vo = consultationService.getDetails(id);
+        return AjaxResult.success(vo);
+    }
+
+}

+ 1 - 0
zhichen-framework/src/main/java/com/zhichen/framework/config/SecurityConfig.java

@@ -129,6 +129,7 @@ public class SecurityConfig extends WebSecurityConfigurerAdapter
                         "/**/*.js"
                 ).permitAll()
                 .antMatchers("/app/common/**").anonymous() //小程序非验证接口
+                .antMatchers("/app/consultation/**").anonymous()
                 .antMatchers("/tengxun/cos/**").anonymous()
                 .antMatchers("/sys/common/**").anonymous()
                 .antMatchers("/refreshToken/**").anonymous()

+ 33 - 0
zhichen-system/src/main/java/com/zhichen/modules/activity/bo/ConsultationAddBo.java

@@ -0,0 +1,33 @@
+package com.zhichen.modules.activity.bo;
+
+import com.baomidou.mybatisplus.annotation.TableId;
+import lombok.Data;
+
+import java.io.Serializable;
+
+/**
+ * 【活动商品价格】对象 top_certificate
+ *
+ * @author ruoyi
+ * @date 2023-03-15
+ */
+@Data
+public class ConsultationAddBo implements Serializable {
+
+    /** 新闻标题 */
+    private String title;
+    /** 新闻内容 */
+    private String titleContent;
+    /** 类型: 1 新闻 2公告 */
+    private Integer type;
+    /** 排序字段 */
+    private Integer sort;
+    /**  状态 1正常 0关闭 */
+    private Integer status;
+    /** 创建时间 */
+    private Long createTime;
+    /** 更新时间 */
+    private Long updateTime;
+    private Long tenantId;
+
+}

+ 22 - 0
zhichen-system/src/main/java/com/zhichen/modules/activity/bo/ConsultationDelBo.java

@@ -0,0 +1,22 @@
+package com.zhichen.modules.activity.bo;
+
+import lombok.Data;
+
+import java.io.Serializable;
+import java.util.List;
+
+/**
+ *
+ *
+ * @author ruoyi
+ * @date 2023-03-15
+ */
+@Data
+public class ConsultationDelBo implements Serializable {
+
+    /** 新闻标题IDs */
+    private List<Long> ids;
+
+    private Integer status;
+
+}

+ 24 - 0
zhichen-system/src/main/java/com/zhichen/modules/activity/bo/ConsultationQueryBo.java

@@ -0,0 +1,24 @@
+package com.zhichen.modules.activity.bo;
+
+import lombok.Data;
+
+import java.io.Serializable;
+
+/**
+ * 【活动商品价格】对象 top_certificate
+ *
+ * @author ruoyi
+ * @date 2023-03-15
+ */
+@Data
+public class ConsultationQueryBo implements Serializable {
+
+    /** 新闻标题 */
+    private String title;
+    /** 类型: 1 新闻 2公告 */
+    private Integer type;
+    /**  状态 1正常 0关闭 */
+    private Integer status;
+
+
+}

+ 32 - 0
zhichen-system/src/main/java/com/zhichen/modules/activity/bo/ConsultationUpdateBo.java

@@ -0,0 +1,32 @@
+package com.zhichen.modules.activity.bo;
+
+import lombok.Data;
+
+import java.io.Serializable;
+
+/**
+ * 【活动商品价格】对象 top_certificate
+ *
+ * @author ruoyi
+ * @date 2023-03-15
+ */
+@Data
+public class ConsultationUpdateBo implements Serializable {
+
+    private Long id;
+    /** 新闻标题 */
+    private String title;
+    /** 新闻内容 */
+    private String titleContent;
+    /** 类型: 1 新闻 2公告 */
+    private Integer type;
+    /** 排序字段 */
+    private Integer sort;
+    /**  状态 1正常 0关闭 */
+    private Integer status;
+    /** 创建时间 */
+    private Long createTime;
+    /** 更新时间 */
+    private Long updateTime;
+
+}

+ 47 - 0
zhichen-system/src/main/java/com/zhichen/modules/activity/domain/Consultation.java

@@ -0,0 +1,47 @@
+package com.zhichen.modules.activity.domain;
+
+import com.baomidou.mybatisplus.annotation.FieldFill;
+import com.baomidou.mybatisplus.annotation.TableField;
+import com.baomidou.mybatisplus.annotation.TableId;
+import com.baomidou.mybatisplus.annotation.TableName;
+import lombok.Data;
+import lombok.NoArgsConstructor;
+import lombok.experimental.Accessors;
+
+import java.io.Serializable;
+import java.math.BigDecimal;
+
+/**
+ * 【活动商品价格】对象 top_certificate
+ *
+ * @author ruoyi
+ * @date 2023-03-15
+ */
+@Data
+@NoArgsConstructor
+@Accessors(chain = true)
+@TableName("consultation")
+public class Consultation implements Serializable {
+
+private static final long serialVersionUID=1L;
+
+    /** $column.columnComment */
+    @TableId(value = "id")
+    private Long id;
+    /** 新闻标题 */
+    private String title;
+    /** 新闻内容 */
+    private String titleContent;
+    /** 类型: 1 新闻 2公告 */
+    private Integer type;
+    /** 排序字段 */
+    private Integer sort;
+    /**  状态 1正常 0关闭 */
+    private Integer status;
+    /** 创建时间 */
+    private Long createTime;
+    /** 更新时间 */
+    private Long updateTime;
+    private Long tenantId;
+
+}

+ 13 - 0
zhichen-system/src/main/java/com/zhichen/modules/activity/mapper/ConsultationMapper.java

@@ -0,0 +1,13 @@
+package com.zhichen.modules.activity.mapper;
+
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.zhichen.modules.activity.domain.Consultation;
+
+/**
+ * 商品推荐Mapper接口
+ *
+ * @author hjl
+ * @date 2022-04-13
+ */
+public interface ConsultationMapper extends BaseMapper<Consultation> {
+}

+ 30 - 0
zhichen-system/src/main/java/com/zhichen/modules/activity/service/IConsultationService.java

@@ -0,0 +1,30 @@
+package com.zhichen.modules.activity.service;
+
+import com.baomidou.mybatisplus.extension.service.IService;
+import com.zhichen.modules.activity.bo.ConsultationAddBo;
+import com.zhichen.modules.activity.bo.ConsultationDelBo;
+import com.zhichen.modules.activity.bo.ConsultationQueryBo;
+import com.zhichen.modules.activity.bo.ConsultationUpdateBo;
+import com.zhichen.modules.activity.domain.Consultation;
+import com.zhichen.modules.activity.vo.ConsultationVo;
+
+import java.util.List;
+
+/**
+ * 商品推荐Service接口
+ *
+ * @author hjl
+ * @date 2022-04-13
+ */
+public interface IConsultationService extends IService<Consultation> {
+
+    boolean insertByAddBo(ConsultationAddBo bo);
+
+    boolean batchDel(ConsultationDelBo bo);
+
+    List<ConsultationVo> getConsultationlist(ConsultationQueryBo bo);
+
+    ConsultationVo getDetails(Long id);
+
+    boolean updateByBo(ConsultationUpdateBo bo);
+}

+ 76 - 0
zhichen-system/src/main/java/com/zhichen/modules/activity/service/impl/ConsultationServiceImpl.java

@@ -0,0 +1,76 @@
+package com.zhichen.modules.activity.service.impl;
+
+import cn.hutool.core.bean.BeanUtil;
+import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
+import com.baomidou.mybatisplus.core.toolkit.ObjectUtils;
+import com.baomidou.mybatisplus.core.toolkit.StringUtils;
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.zhichen.common.utils.DateUtils;
+import com.zhichen.modules.activity.bo.ConsultationAddBo;
+import com.zhichen.modules.activity.bo.ConsultationDelBo;
+import com.zhichen.modules.activity.bo.ConsultationQueryBo;
+import com.zhichen.modules.activity.bo.ConsultationUpdateBo;
+import com.zhichen.modules.activity.domain.Consultation;
+import com.zhichen.modules.activity.mapper.ConsultationMapper;
+import com.zhichen.modules.activity.service.IConsultationService;
+import com.zhichen.modules.activity.vo.ConsultationVo;
+import org.springframework.stereotype.Service;
+import org.springframework.util.CollectionUtils;
+
+import java.util.Arrays;
+import java.util.Collections;
+import java.util.List;
+import java.util.stream.Collectors;
+
+/**
+ * 商品推荐Service业务层处理
+ *
+ * @author hjl
+ * @date 2022-04-13
+ */
+@Service
+public class ConsultationServiceImpl extends ServiceImpl<ConsultationMapper, Consultation> implements IConsultationService {
+
+
+    @Override
+    public boolean insertByAddBo(ConsultationAddBo bo) {
+        bo.setCreateTime(DateUtils.getNowTime());
+        bo.setUpdateTime(DateUtils.getNowTime());
+        bo.setStatus(1);
+        Consultation bean = BeanUtil.toBean(bo, Consultation.class);
+        return save(bean);
+    }
+
+    @Override
+    public boolean batchDel(ConsultationDelBo bo) {
+        if (CollectionUtils.isEmpty(bo.getIds())){
+            throw new ClassCastException("清線勾選選擇");
+        }
+        List<Consultation> consultations = listByIds(bo.getIds());
+        consultations.forEach(item -> item.setStatus(bo.getStatus()));
+        return updateBatchById(consultations);
+    }
+
+    @Override
+    public List<ConsultationVo> getConsultationlist(ConsultationQueryBo bo) {
+        List<Consultation> list = list(new LambdaQueryWrapper<Consultation>()
+                .in(ObjectUtils.isNull(bo.getStatus()),Consultation::getStatus, Arrays.asList(0,1))
+                .eq(ObjectUtils.isNotNull(bo.getStatus()), Consultation::getStatus, bo.getStatus())
+                .eq(ObjectUtils.isNotNull(bo.getType()), Consultation::getType, bo.getType())
+                .like(StringUtils.isNotBlank(bo.getTitle()), Consultation::getTitle, bo.getTitle())
+                .orderByDesc(Consultation::getSort));
+        return list.stream().map(x -> BeanUtil.toBean(x,ConsultationVo.class)).collect(Collectors.toList());
+    }
+
+    @Override
+    public ConsultationVo getDetails(Long id) {
+        Consultation consultation = getById(id);
+        return BeanUtil.toBean(consultation,ConsultationVo.class);
+    }
+
+    @Override
+    public boolean updateByBo(ConsultationUpdateBo bo) {
+        Consultation consultation = BeanUtil.toBean(bo, Consultation.class);
+        return updateById(consultation);
+    }
+}

+ 31 - 0
zhichen-system/src/main/java/com/zhichen/modules/activity/vo/ConsultationVo.java

@@ -0,0 +1,31 @@
+package com.zhichen.modules.activity.vo;
+
+import lombok.Data;
+
+import java.io.Serializable;
+
+/**
+ * 【活动商品价格】对象 top_certificate
+ *
+ * @author ruoyi
+ * @date 2023-03-15
+ */
+@Data
+public class ConsultationVo implements Serializable {
+
+    private Long id;
+    /** 新闻标题 */
+    private String title;
+    /** 新闻内容 */
+    private String titleContent;
+    /** 类型: 1 新闻 2公告 */
+    private Integer type;
+    /** 排序字段 */
+    private Integer sort;
+    /**  状态 1正常 0关闭 */
+    private Integer status;
+    /** 创建时间 */
+    private Long createTime;
+    /** 更新时间 */
+    private Long updateTime;
+}