Browse Source

'开发官网_客户信息反馈表相关四个接口(新增、列表、反馈、导出)'

james 1 year ago
parent
commit
6c97493a4f

+ 3 - 3
service-website/service-website-biz/src/main/java/com/usky/website/MybatisGenerator.java

@@ -33,7 +33,7 @@ public class MybatisGenerator {
         projectPath+="/"+model;
         gc.setOutputDir(projectPath+ "/src/main/java");  //生成路径(一般都是生成在此项目的src/main/java下面)
         //修改为自己的名字
-        gc.setAuthor("ya"); //设置作者
+        gc.setAuthor("zyj"); //设置作者
         gc.setOpen(false);
         gc.setFileOverride(true); //第二次生成会把第一次生成的覆盖掉
         gc.setServiceName("%sService"); //生成的service接口名字首字母是否为I,这样设置就没有
@@ -43,7 +43,7 @@ public class MybatisGenerator {
         //2、数据源配置
         //修改数据源
         DataSourceConfig dsc = new DataSourceConfig();
-        dsc.setUrl("jdbc:mysql://101.133.214.75:3306/usky_website?useUnicode=true&serverTimezone=GMT&useSSL=false&characterEncoding=utf8");
+        dsc.setUrl("jdbc:mysql://172.16.120.165:3306/usky-website?useUnicode=true&serverTimezone=GMT&useSSL=false&characterEncoding=utf8");
         dsc.setDriverName("com.mysql.jdbc.Driver");
         dsc.setUsername("usky");
         dsc.setPassword("Yt#75Usky");
@@ -71,7 +71,7 @@ public class MybatisGenerator {
         // strategy.setTablePrefix("t_"); // 表名前缀
         strategy.setEntityLombokModel(true); //使用lombok
         //修改自己想要生成的表
-        strategy.setInclude(new String[]{"site_article","site_category"});  // 逆向工程使用的表   如果要生成多个,这里可以传入String[]
+        strategy.setInclude(new String[]{"site_review"});  // 逆向工程使用的表   如果要生成多个,这里可以传入String[]
         mpg.setStrategy(strategy);
 
         // 关闭默认 xml 生成,调整生成 至 根目录

+ 79 - 0
service-website/service-website-biz/src/main/java/com/usky/website/controller/web/SiteReviewController.java

@@ -0,0 +1,79 @@
+package com.usky.website.controller.web;
+
+
+import com.usky.common.core.bean.ApiResult;
+import com.usky.common.core.bean.CommonPage;
+import com.usky.common.core.utils.poi.ExcelUtil;
+import com.usky.website.domain.SiteReview;
+import com.usky.website.service.SiteReviewService;
+import com.usky.website.service.vo.SiteReviewExportVO;
+import com.usky.website.service.vo.SiteReviewRequestVO;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.*;
+
+import org.springframework.stereotype.Controller;
+import retrofit2.http.POST;
+
+import javax.servlet.http.HttpServletResponse;
+import java.io.IOException;
+import java.util.List;
+
+/**
+ * <p>
+ * 官网_客户信息反馈表 前端控制器
+ * </p>
+ *
+ * @author zyj
+ * @since 2024-01-12
+ */
+@RestController
+@RequestMapping("/siteReview")
+public class SiteReviewController {
+    @Autowired
+    private SiteReviewService siteReviewService;
+
+    /**
+     * 新增
+     *
+     * @param siteReview
+     * @return
+     */
+    @PostMapping
+    public ApiResult<Void> add(@RequestBody SiteReview siteReview){
+        siteReviewService.add(siteReview);
+        return ApiResult.success();
+    }
+
+    /**
+     * 分页
+     *
+     * @param requestVO
+     * @return
+     */
+    @PostMapping("page")
+    public ApiResult<CommonPage<SiteReview>> page(@RequestBody SiteReviewRequestVO requestVO){
+        return ApiResult.success(siteReviewService.page(requestVO));
+    }
+
+    /**
+     * 反馈填报
+     *
+     * @param siteReview
+     * @return
+     */
+    @PutMapping
+    public ApiResult<Void> edit(@RequestBody SiteReview siteReview){
+        siteReviewService.edit(siteReview);
+        return ApiResult.success();
+    }
+
+    @PostMapping("export")
+    public void export(@RequestBody SiteReviewRequestVO requestVO, HttpServletResponse response) throws IOException{
+        List<SiteReviewExportVO> list = siteReviewService.recordListExport(requestVO);
+        ExcelUtil<SiteReviewExportVO> util = new ExcelUtil<SiteReviewExportVO>(SiteReviewExportVO.class);
+        util.exportExcel(response,list,"客户信息反馈表","客户信息反馈");
+
+    }
+
+}
+

+ 96 - 0
service-website/service-website-biz/src/main/java/com/usky/website/domain/SiteReview.java

@@ -0,0 +1,96 @@
+package com.usky.website.domain;
+
+import com.baomidou.mybatisplus.annotation.IdType;
+import com.baomidou.mybatisplus.annotation.TableId;
+import java.time.LocalDateTime;
+import java.io.Serializable;
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+
+/**
+ * <p>
+ * 官网_客户信息反馈表
+ * </p>
+ *
+ * @author zyj
+ * @since 2024-01-12
+ */
+@Data
+@EqualsAndHashCode(callSuper = false)
+public class SiteReview implements Serializable {
+
+    private static final long serialVersionUID = 1L;
+
+    /**
+     * 主键id
+     */
+    @TableId(value = "id", type = IdType.AUTO)
+    private Integer id;
+
+    /**
+     * 平台名称
+     */
+    private String platName;
+
+    /**
+     * 咨询人
+     */
+    private String consultName;
+
+    /**
+     * 咨询人电话
+     */
+    private String consultPhone;
+
+    /**
+     * 邮箱
+     */
+    private String mail;
+
+    /**
+     * 公司
+     */
+    private String company;
+
+    /**
+     * 咨询内容
+     */
+    private String consultContent;
+
+    /**
+     * 状态;1:待反馈,2:已反馈
+     */
+    private Integer status;
+
+    /**
+     * 提交时间
+     */
+    private LocalDateTime createTime;
+
+    /**
+     * 处理人
+     */
+    private String handleName;
+
+    /**
+     * 处理内容
+     */
+    private String handleContent;
+
+    /**
+     * 处理时间
+     */
+    private LocalDateTime handleTime;
+
+    /**
+     * 组织结构ID
+     */
+    private Integer deptId;
+
+    /**
+     * 租户ID
+     */
+    private Integer tenantId;
+
+
+}

+ 16 - 0
service-website/service-website-biz/src/main/java/com/usky/website/mapper/SiteReviewMapper.java

@@ -0,0 +1,16 @@
+package com.usky.website.mapper;
+
+import com.usky.website.domain.SiteReview;
+import com.usky.common.mybatis.core.CrudMapper;
+
+/**
+ * <p>
+ * 官网_客户信息反馈表 Mapper 接口
+ * </p>
+ *
+ * @author zyj
+ * @since 2024-01-12
+ */
+public interface SiteReviewMapper extends CrudMapper<SiteReview> {
+
+}

+ 29 - 0
service-website/service-website-biz/src/main/java/com/usky/website/service/SiteReviewService.java

@@ -0,0 +1,29 @@
+package com.usky.website.service;
+
+import com.usky.common.core.bean.CommonPage;
+import com.usky.website.domain.SiteReview;
+import com.usky.common.mybatis.core.CrudService;
+import com.usky.website.service.vo.SiteReviewExportVO;
+import com.usky.website.service.vo.SiteReviewRequestVO;
+import org.springframework.web.bind.annotation.RequestBody;
+
+import java.util.List;
+
+/**
+ * <p>
+ * 官网_客户信息反馈表 服务类
+ * </p>
+ *
+ * @author zyj
+ * @since 2024-01-12
+ */
+public interface SiteReviewService extends CrudService<SiteReview> {
+    void add(SiteReview siteReview);
+
+    CommonPage<SiteReview> page(SiteReviewRequestVO requestVO);
+
+    void edit(SiteReview siteReview);
+
+    List<SiteReviewExportVO> recordListExport(SiteReviewRequestVO requestVO);
+
+}

+ 118 - 0
service-website/service-website-biz/src/main/java/com/usky/website/service/impl/SiteReviewServiceImpl.java

@@ -0,0 +1,118 @@
+package com.usky.website.service.impl;
+
+import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
+import com.baomidou.mybatisplus.core.metadata.IPage;
+import com.baomidou.mybatisplus.core.toolkit.CollectionUtils;
+import com.baomidou.mybatisplus.core.toolkit.StringUtils;
+import com.baomidou.mybatisplus.core.toolkit.Wrappers;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.usky.common.core.bean.CommonPage;
+import com.usky.common.security.utils.SecurityUtils;
+import com.usky.website.domain.SiteReview;
+import com.usky.website.mapper.SiteReviewMapper;
+import com.usky.website.service.SiteReviewService;
+import com.usky.common.mybatis.core.AbstractCrudService;
+import com.usky.website.service.vo.SiteReviewExportVO;
+import com.usky.website.service.vo.SiteReviewRequestVO;
+import jdk.nashorn.internal.runtime.options.Option;
+import org.apache.el.stream.Optional;
+import org.apache.tomcat.jni.Local;
+import org.checkerframework.checker.units.qual.C;
+import org.springframework.stereotype.Service;
+import retrofit2.http.OPTIONS;
+
+import java.time.LocalDateTime;
+import java.util.ArrayList;
+import java.util.List;
+import java.util.Objects;
+
+/**
+ * <p>
+ * 官网_客户信息反馈表 服务实现类
+ * </p>
+ *
+ * @author zyj
+ * @since 2024-01-12
+ */
+@Service
+public class SiteReviewServiceImpl extends AbstractCrudService<SiteReviewMapper, SiteReview> implements SiteReviewService {
+
+    @Override
+    public void add(SiteReview siteReview){
+        siteReview.setCreateTime(LocalDateTime.now());
+        siteReview.setStatus(1);
+        this.save(siteReview);
+    }
+
+    @Override
+    public CommonPage<SiteReview> page(SiteReviewRequestVO requestVO){
+        Integer current = requestVO.getCurrent();
+        Integer size = requestVO.getSize();
+        Integer id = requestVO.getId();
+        String platName = requestVO.getPlatName();
+        String startTime = requestVO.getStartTime();
+        String endTime = requestVO.getEndTime();
+
+        IPage<SiteReview> page = new Page<>(current,size);
+        LambdaQueryWrapper<SiteReview> queryWrapper = Wrappers.lambdaQuery();
+        queryWrapper.eq(id != null,SiteReview::getId,id)
+                .like(StringUtils.isNotBlank(platName),SiteReview::getPlatName,platName)
+                .between(StringUtils.isNotBlank(startTime)&&StringUtils.isNotBlank(endTime),SiteReview::getCreateTime,startTime,endTime)
+                .orderByDesc(SiteReview::getId);
+        page = this.page(page,queryWrapper);
+
+        return new CommonPage<>(page.getRecords(),page.getTotal(),size,current);
+    }
+
+    @Override
+    public void edit(SiteReview siteReview){
+        siteReview.setHandleName(SecurityUtils.getLoginUser().getSysUser().getNickName());
+        siteReview.setHandleTime(LocalDateTime.now());
+        this.updateById(siteReview);
+
+    }
+
+    @Override
+    public List<SiteReviewExportVO> recordListExport(SiteReviewRequestVO requestVO){
+        List<SiteReviewExportVO> list = new ArrayList<>();
+
+        String platName = requestVO.getPlatName();
+        String startTime = requestVO.getStartTime();
+        String endTime = requestVO.getEndTime();
+        LambdaQueryWrapper<SiteReview> queryWrapper = Wrappers.lambdaQuery();
+        queryWrapper.like(StringUtils.isNotBlank(platName),SiteReview::getPlatName,platName)
+                .between(StringUtils.isNotBlank(startTime)&&StringUtils.isNotBlank(endTime),SiteReview::getCreateTime,startTime,endTime)
+                .orderByDesc(SiteReview::getId);
+        List<SiteReview> list1 = this.list(queryWrapper);
+        if(CollectionUtils.isNotEmpty(list1)){
+            for (int i = 0; i < list1.size(); i++) {
+                SiteReviewExportVO exportVO = new SiteReviewExportVO();
+
+                exportVO.setPlatName(list1.get(i).getPlatName());
+                exportVO.setConsultName(list1.get(i).getConsultName());
+                exportVO.setConsultPhone(list1.get(i).getConsultPhone());
+                exportVO.setMail(list1.get(i).getMail());
+                exportVO.setCompany(list1.get(i).getCompany());
+                exportVO.setConsultContent(list1.get(i).getConsultContent());
+                exportVO.setStatus(list1.get(i).getStatus());
+                exportVO.setCreateTime(list1.get(i).getCreateTime());
+                if(Objects.nonNull(list1.get(i).getHandleName())){
+                    exportVO.setHandleName(list1.get(i).getHandleName());
+                }
+                if(Objects.nonNull(list1.get(i).getHandleContent())){
+                    exportVO.setHandleContent(list1.get(i).getHandleContent());
+                }
+                if(Objects.nonNull(list1.get(i).getHandleTime())){
+                    exportVO.setHandleTime(list1.get(i).getHandleTime());
+                }
+                list.add(exportVO);
+            }
+        }
+        return list;
+
+    }
+}
+
+
+
+

+ 81 - 0
service-website/service-website-biz/src/main/java/com/usky/website/service/vo/SiteReviewExportVO.java

@@ -0,0 +1,81 @@
+package com.usky.website.service.vo;
+
+import com.usky.common.core.annotation.Excel;
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+import lombok.experimental.Accessors;
+
+import java.io.Serializable;
+import java.time.LocalDateTime;
+
+@Data
+@EqualsAndHashCode(callSuper = false)
+@Accessors(chain = true)
+public class SiteReviewExportVO implements Serializable {
+    /**
+     * 平台名称
+     */
+    @Excel(name = "平台")
+    private String platName;
+
+    /**
+     * 咨询人
+     */
+    @Excel(name = "姓名")
+    private String consultName;
+
+    /**
+     * 咨询人电话
+     */
+    @Excel(name = "电话")
+    private String consultPhone;
+
+    /**
+     * 邮箱
+     */
+    @Excel(name = "邮箱")
+    private String mail;
+
+    /**
+     * 公司
+     */
+    @Excel(name = "公司")
+    private String company;
+
+    /**
+     * 咨询内容
+     */
+    @Excel(name = "备注")
+    private String consultContent;
+
+    /**
+     * 状态;1:待反馈,2:已反馈
+     */
+    @Excel(name = "状态", readConverterExp = "1=待反馈,2=已反馈")
+    private Integer status;
+
+    /**
+     * 提交时间
+     */
+    @Excel(name = "提交时间")
+    private LocalDateTime createTime;
+
+    /**
+     * 处理人
+     */
+    @Excel(name = "处理人")
+    private String handleName;
+
+    /**
+     * 处理内容
+     */
+    @Excel(name = "处理内容")
+    private String handleContent;
+
+    /**
+     * 处理时间
+     */
+    @Excel(name = "处理时间")
+    private LocalDateTime handleTime;
+
+}

+ 38 - 0
service-website/service-website-biz/src/main/java/com/usky/website/service/vo/SiteReviewRequestVO.java

@@ -0,0 +1,38 @@
+package com.usky.website.service.vo;
+
+import lombok.Data;
+
+import java.io.Serializable;
+
+@Data
+public class SiteReviewRequestVO implements Serializable {
+    /**
+     * id
+     */
+    private Integer id;
+
+    /**
+     * 平台名称
+     */
+    private String platName;
+
+    /**
+     * 开始时间
+     */
+    private String startTime;
+
+    /**
+     * 结束时间
+     */
+    private String endTime;
+
+    /**
+     * 页数
+     */
+    private Integer current;
+
+    /**
+     * 条数
+     */
+    private Integer size;
+}

+ 23 - 0
service-website/service-website-biz/src/main/resources/mapper/website/SiteReviewMapper.xml

@@ -0,0 +1,23 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
+<mapper namespace="com.usky.website.mapper.SiteReviewMapper">
+
+    <!-- 通用查询映射结果 -->
+    <resultMap id="BaseResultMap" type="com.usky.website.domain.SiteReview">
+        <id column="id" property="id" />
+        <result column="plat_name" property="platName" />
+        <result column="consult_name" property="consultName" />
+        <result column="consult_phone" property="consultPhone" />
+        <result column="mail" property="mail" />
+        <result column="company" property="company" />
+        <result column="consult_content" property="consultContent" />
+        <result column="status" property="status" />
+        <result column="create_time" property="createTime" />
+        <result column="handle_name" property="handleName" />
+        <result column="handle_content" property="handleContent" />
+        <result column="handle_time" property="handleTime" />
+        <result column="dept_id" property="deptId" />
+        <result column="tenant_id" property="tenantId" />
+    </resultMap>
+
+</mapper>