app反馈功能

This commit is contained in:
huangzj
2023-04-07 10:48:03 +08:00
parent b06916b5ea
commit 613a8a8505
52 changed files with 1679 additions and 88 deletions

View File

@@ -0,0 +1,39 @@
package com.njcn.algorithm.pojo.param;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import javax.validation.constraints.NotBlank;
/**
*
* Description:
* 接口文档访问地址http://serverIP:port/swagger-ui.html
* Date: 2023/4/3 19:17【需求编号】
*
* @author clam
* @version V1.0.0
*/
/**
* app基础信息表
*/
@Data
public class AppBaseInformationAddParm {
/**
* 内容
*/
@ApiModelProperty(value = "内容")
@NotBlank(message="内容不能为空!")
private String content;
/**
* 类型(字典数据)
*/
@ApiModelProperty(value = "类型")
@NotBlank(message="类型不能为空!")
private String type;
}

View File

@@ -0,0 +1,69 @@
package com.njcn.algorithm.pojo.param;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import javax.validation.constraints.NotBlank;
/**
*
* Description:
* 接口文档访问地址http://serverIP:port/swagger-ui.html
* Date: 2023/4/3 19:17【需求编号】
*
* @author clam
* @version V1.0.0
*/
/**
* app个人中心-设置信息
*/
@Data
public class AppPersonSetAddParm {
/**
* 用户协议(基础信息id)
*/
@ApiModelProperty(value = "用户协议(基础信息id)")
@NotBlank(message="用户协议不能为空!")
private String userAgreement;
/**
* 系统介绍(基础信息id)
*/
@ApiModelProperty(value = "系统介绍(基础信息id)")
@NotBlank(message="系统介绍不能为空!")
private String systemIntroduction;
/**
* 使用手册(基础信息id)
*/
@ApiModelProperty(value = "使用手册(基础信息id)")
@NotBlank(message="使用手册不能为空!")
private String userManual;
/**
* 资料库(基础信息id)
*/
@ApiModelProperty(value = "资料库(基础信息id)")
@NotBlank(message="资料库不能为空!")
private String dataBase;
/**
* 公司介绍(基础信息id)
*/
@ApiModelProperty(value = "公司介绍(基础信息id)")
@NotBlank(message="公司介绍不能为空!")
private String companyProfile;
/**
* 关于我们(基础信息id)
*/
@ApiModelProperty(value = "关于我们(基础信息id)")
@NotBlank(message="关于我们id不能为空")
private String aboutUs;
}

View File

@@ -26,14 +26,9 @@ public class AppProjectAddParm {
@NotBlank(message="项目名称不能为空!")
private String name;
@NotBlank(message="项目类型不能为空!")
private String projectType;
/**
* 关联用户Id
*/
@ApiModelProperty(value="关联用户Id")
@NotBlank(message="关联用户Id不能为空")
private String userId;
@NotBlank(message="工程id不能为空!")
private String engineeringId;
/**
* 地市Id

View File

@@ -4,7 +4,6 @@ import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import javax.validation.constraints.NotNull;
import java.math.BigDecimal;
/**
* Description:
@@ -23,11 +22,7 @@ public class AppProjectAuditParm {
@ApiModelProperty(value="项目名称")
private String name;
/**
* 关联用户Id
*/
@ApiModelProperty(value="关联用户Id")
private String userId;
/**
* 地市Id
@@ -35,18 +30,6 @@ public class AppProjectAuditParm {
@ApiModelProperty(value="地市")
private String area;
/**
* 中心点经度
*/
@ApiModelProperty(value="中心点经度")
private BigDecimal lng;
/**
* 中心点纬度
*/
@ApiModelProperty(value="中心点纬度")
private BigDecimal lat;
@ApiModelProperty(value="0删除 1正常")
private String status;

View File

@@ -0,0 +1,55 @@
package com.njcn.algorithm.pojo.param;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import org.springframework.web.multipart.MultipartFile;
import javax.validation.constraints.NotNull;
/**
*
* Description:
* 接口文档访问地址http://serverIP:port/swagger-ui.html
* Date: 2023/4/6 11:39【需求编号】
*
* @author clam
* @version V1.0.0
*/
@Data
public class CsFeedbackAddParm {
/**
* 标题
*/
@ApiModelProperty(value = "标题")
@NotNull(message="标题不能为空!")
private String title;
/**
* 描述
*/
@ApiModelProperty(value = "描述")
@NotNull(message="描述不能为空!")
private String description;
/**
* 用户id
*/
@ApiModelProperty(value = "用户id")
@NotNull(message="用户id不能为空")
private String userId;
/**
* 问题类型(字典数据)
*/
@ApiModelProperty(value = "问题类型")
@NotNull(message="问题类型不能为空!")
private String type;
@ApiModelProperty(value = "拓扑图文件")
@NotNull(message="拓扑图文件不能为空!")
private MultipartFile[] files;
}

View File

@@ -0,0 +1,34 @@
package com.njcn.algorithm.pojo.param;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import javax.validation.constraints.NotNull;
/**
*
* Description:
* 接口文档访问地址http://serverIP:port/swagger-ui.html
* Date: 2023/4/6 15:28【需求编号】
*
* @author clam
* @version V1.0.0
*/
@Data
public class CsFeedbackChatAddParm {
@ApiModelProperty(value = "反馈id")
@NotNull(message="反馈id不能为空")
private String id;
@ApiModelProperty(value = "用户id")
@NotNull(message="用户id不能为空")
private String userId;
/**
* 消息内容
*/
@ApiModelProperty(value = "消息内容")
@NotNull(message="消息内容不能为空!")
private String chatContent;
}

View File

@@ -0,0 +1,32 @@
package com.njcn.algorithm.pojo.param;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import javax.validation.constraints.NotNull;
/**
*
* Description:
* 接口文档访问地址http://serverIP:port/swagger-ui.html
* Date: 2023/4/6 15:28【需求编号】
*
* @author clam
* @version V1.0.0
*/
@Data
public class CsFeedbackChatCheckParm {
@ApiModelProperty(value = "反馈")
@NotNull(message="反馈不能为空!")
private String id;
@ApiModelProperty(value = "用户id")
@NotNull(message="用户id不能为空")
private String userId;
}

View File

@@ -0,0 +1,51 @@
package com.njcn.algorithm.pojo.param;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import javax.validation.constraints.Min;
import javax.validation.constraints.NotNull;
/**
*
* Description:
* 接口文档访问地址http://serverIP:port/swagger-ui.html
* Date: 2023/4/6 11:39【需求编号】
*
* @author clam
* @version V1.0.0
*/
/**
* 信息反馈表
*/
@Data
public class CsFeedbackQueryParm {
@NotNull(message="当前页不能为空!")
@Min(value = 1, message = "当前页不能为0")
@ApiModelProperty(value = "当前页",name = "currentPage",dataType ="Integer",required = true)
private Integer currentPage;
/**显示条数*/
@NotNull(message="显示条数不能为空!")
@ApiModelProperty(value = "显示条数",name = "pageSize",dataType ="Integer",required = true)
private Integer pageSize;
/**
* 用户id
*/
@ApiModelProperty(value = "用户id")
@NotNull(message="用户id不能为空")
private String userId;
/**
* 问题类型(字典数据)
*/
@ApiModelProperty(value = "问题类型")
private String type;
/**
* 问题状态(字典数据)
*/
@ApiModelProperty(value = "问题状态")
private String status;
}

View File

@@ -0,0 +1,44 @@
package com.njcn.algorithm.pojo.po;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import com.njcn.db.bo.BaseEntity;
import lombok.Data;
/**
*
* Description:
* 接口文档访问地址http://serverIP:port/swagger-ui.html
* Date: 2023/4/3 19:17【需求编号】
*
* @author clam
* @version V1.0.0
*/
/**
* app基础信息表
*/
@Data
@TableName(value = "app_base_information")
public class AppBaseInformationPO extends BaseEntity {
/**
* id
*/
@TableId(value = "id", type = IdType.ASSIGN_UUID)
private String id;
/**
* 内容
*/
@TableField(value = "content")
private String content;
/**
* 类型(字典数据)
*/
@TableField(value = "type")
private String type;
}

View File

@@ -0,0 +1,72 @@
package com.njcn.algorithm.pojo.po;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableName;
import com.njcn.db.bo.BaseEntity;
import lombok.Data;
/**
*
* Description:
* 接口文档访问地址http://serverIP:port/swagger-ui.html
* Date: 2023/4/3 19:17【需求编号】
*
* @author clam
* @version V1.0.0
*/
/**
* app个人中心-设置信息
*/
@Data
@TableName(value = "app_person_set")
public class AppPersonSetPO extends BaseEntity {
/**
* id
*/
@TableField(value = "id")
private String id;
/**
* 用户协议(基础信息id)
*/
@TableField(value = "user_agreement")
private String userAgreement;
/**
* 系统介绍(基础信息id)
*/
@TableField(value = "system_introduction")
private String systemIntroduction;
/**
* 使用手册(基础信息id)
*/
@TableField(value = "user_manual")
private String userManual;
/**
* 资料库(基础信息id)
*/
@TableField(value = "data_base")
private String dataBase;
/**
* 公司介绍(基础信息id)
*/
@TableField(value = "company_profile")
private String companyProfile;
/**
* 关于我们(基础信息id)
*/
@TableField(value = "about_us")
private String aboutUs;
/**
* 状态(0删除 1正常)
*/
@TableField(value = "status")
private String status;
}

View File

@@ -6,8 +6,6 @@ import com.github.jeffreyning.mybatisplus.anno.MppMultiId;
import com.njcn.db.bo.BaseEntity;
import lombok.Data;
import java.math.BigDecimal;
/**
*
* Description:
@@ -28,11 +26,7 @@ public class AppProjectPO extends BaseEntity {
*/
@MppMultiId(value = "id")
private String id;
/**
* 项目类型
*/
@TableField(value = "project_type")
private String projectType;
/**
* 项目名称
@@ -40,11 +34,10 @@ public class AppProjectPO extends BaseEntity {
@TableField(value = "name")
private String name;
/**
* 关联用户Id
*/
@TableField(value = "user_id")
private String userId;
@TableField(value = "engineering_id")
private String engineeringId;
/**
* 地市Id
@@ -52,17 +45,7 @@ public class AppProjectPO extends BaseEntity {
@TableField(value = "area")
private String area;
/**
* 中心点经度
*/
@TableField(value = "lng")
private BigDecimal lng;
/**
* 中心点纬度
*/
@TableField(value = "lat")
private BigDecimal lat;
/**
* 0删除 1正常

View File

@@ -33,11 +33,6 @@ public class AppTopologyDiagramPO extends BaseEntity {
@TableField(value = "name")
private String name;
/**
* 文件大小(kb)
*/
@TableField(value = "file_size")
private Integer fileSize;
/**
* 项目Id

View File

@@ -0,0 +1,80 @@
package com.njcn.algorithm.pojo.po;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableName;
import com.njcn.db.bo.BaseEntity;
import lombok.Data;
import java.util.Date;
/**
*
* Description:
* 接口文档访问地址http://serverIP:port/swagger-ui.html
* Date: 2023/4/3 19:12【需求编号】
*
* @author clam
* @version V1.0.0
*/
/**
* 程序版本表
*/
@Data
@TableName(value = "cs_ed_data")
public class CsEdDataPO extends BaseEntity {
/**
* id
*/
@TableField(value = "id")
private String id;
/**
* 装置型号(字典数据)
*/
@TableField(value = "dev_type")
private String devType;
/**
* 版本号
*/
@TableField(value = "version_no")
private String versionNo;
/**
* 版本协议
*/
@TableField(value = "version_agree")
private String versionAgree;
/**
* 版本日期
*/
@TableField(value = "version_date")
private Date versionDate;
/**
* 描述
*/
@TableField(value = "describe")
private String describe;
/**
* 版本类型(字典数据)
*/
@TableField(value = "version_type")
private String versionType;
/**
* 状态(0删除 1正常)
*/
@TableField(value = "status")
private String status;
/**
* 程序版本文件路径
*/
@TableField(value = "file_path")
private String filePath;
}

View File

@@ -0,0 +1,43 @@
package com.njcn.algorithm.pojo.po;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import com.njcn.db.bo.BaseEntity;
import lombok.Data;
/**
*
* Description:
* 接口文档访问地址http://serverIP:port/swagger-ui.html
* Date: 2023/4/6 15:28【需求编号】
*
* @author clam
* @version V1.0.0
*/
@Data
@TableName(value = "cs_feedback_chat")
public class CsFeedbackChatPO extends BaseEntity {
@TableId(value = "id", type = IdType.INPUT)
private String id;
@TableField(value = "user_id")
private String userId;
/**
* 消息内容
*/
@TableField(value = "chat_content")
private String chatContent;
/**
* 消息状态消息状态0-未读1-已读)
*/
@TableField(value = "chat_status")
private String chatStatus;
/**
* 状态(0删除 1正常)
*/
@TableField(value = "status")
private String status;
}

View File

@@ -0,0 +1,60 @@
package com.njcn.algorithm.pojo.po;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import com.njcn.db.bo.BaseEntity;
import lombok.Data;
/**
*
* Description:
* 接口文档访问地址http://serverIP:port/swagger-ui.html
* Date: 2023/4/6 11:39【需求编号】
*
* @author clam
* @version V1.0.0
*/
/**
* 信息反馈表
*/
@Data
@TableName(value = "cs_feedback")
public class CsFeedbackPO extends BaseEntity {
/**
* id
*/
@TableId(value = "id", type = IdType.ASSIGN_UUID)
private String id;
/**
* 标题
*/
@TableField(value = "title")
private String title;
/**
* 描述
*/
@TableField(value = "description")
private String description;
/**
* 用户id
*/
@TableField(value = "user_id")
private String userId;
/**
* 问题类型(字典数据)
*/
@TableField(value = "type")
private String type;
/**
* 问题状态(字典数据)
*/
@TableField(value = "status")
private String status;
}

View File

@@ -0,0 +1,43 @@
package com.njcn.algorithm.pojo.po;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableName;
import lombok.Data;
/**
*
* Description:
* 接口文档访问地址http://serverIP:port/swagger-ui.html
* Date: 2023/4/6 11:40【需求编号】
*
* @author clam
* @version V1.0.0
*/
/**
* 文件路径表
*/
@Data
@TableName(value = "cs_file_path")
public class CsFilePathPO {
/**
* 关联数据id
*/
@TableField(value = "id")
private String id;
/**
* 文件名
*/
@TableField(value = "file_name")
private String fileName;
/**
* 文件路径
*/
@TableField(value = "file_path")
private String filePath;
/**
* 状态(0删除 1正常)
*/
@TableField(value = "status")
private String status;
}

View File

@@ -0,0 +1,41 @@
package com.njcn.algorithm.pojo.vo;
import com.njcn.db.bo.BaseEntity;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
/**
*
* Description:
* 接口文档访问地址http://serverIP:port/swagger-ui.html
* Date: 2023/4/3 19:17【需求编号】
*
* @author clam
* @version V1.0.0
*/
/**
* app基础信息表
*/
@Data
public class AppBaseInformationVO extends BaseEntity {
/**
* id
*/
@ApiModelProperty(value = "id")
private String id;
/**
* 内容
*/
@ApiModelProperty(value = "内容")
private String content;
/**
* 类型(字典数据)
*/
@ApiModelProperty(value = "类型")
private String type;
}

View File

@@ -23,16 +23,15 @@ public class AppProjectVO {
* 项目Id
*/
private String id;
private String projectType;
/**
* 项目名称
*/
private String name;
/**
* 关联用户Id
*/
private String userId;
private String engineeringId;
private String engineeringName;
/**
* 用户名称
*/

View File

@@ -31,11 +31,7 @@ public class AppTopologyDiagramVO extends BaseEntity {
@ApiModelProperty(value = "拓扑图名称")
private String name;
/**
* 文件大小(kb)
*/
@ApiModelProperty(value = "文件大小")
private Integer fileSize;
/**
* 项目Id

View File

@@ -0,0 +1,74 @@
package com.njcn.algorithm.pojo.vo;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.njcn.algorithm.pojo.po.CsFeedbackChatPO;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import java.time.LocalDateTime;
import java.util.List;
/**
*
* Description:
* 接口文档访问地址http://serverIP:port/swagger-ui.html
* Date: 2023/4/6 11:39【需求编号】
*
* @author clam
* @version V1.0.0
*/
/**
* 信息反馈列表
*/
@Data
public class CsFeedbackDetailVO {
/**
* id
*/
@ApiModelProperty(value = "id")
private String id;
/**
* 标题
*/
@ApiModelProperty(value = "标题")
private String title;
/**
* 描述
*/
@ApiModelProperty(value = "描述")
private String description;
/**
* 用户id
*/
@ApiModelProperty(value = "用户id")
private String userId;
/**
* 问题类型(字典数据)
*/
@ApiModelProperty(value = "问题类型")
private String type;
/**
* 问题状态(字典数据)
*/
@ApiModelProperty(value = "问题状态")
private String status;
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
private LocalDateTime createTime;
private List<String> imageUrls;
private List<CsFeedbackChatPO> csFeedbackChatPOList;
}

View File

@@ -0,0 +1,68 @@
package com.njcn.algorithm.pojo.vo;
import com.fasterxml.jackson.annotation.JsonFormat;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import java.time.LocalDateTime;
/**
*
* Description:
* 接口文档访问地址http://serverIP:port/swagger-ui.html
* Date: 2023/4/6 11:39【需求编号】
*
* @author clam
* @version V1.0.0
*/
/**
* 信息反馈列表
*/
@Data
public class CsFeedbackVO {
/**
* id
*/
@ApiModelProperty(value = "id")
private String id;
/**
* 标题
*/
@ApiModelProperty(value = "标题")
private String title;
/**
* 描述
*/
@ApiModelProperty(value = "描述")
private String description;
/**
* 用户id
*/
@ApiModelProperty(value = "用户id")
private String userId;
/**
* 问题类型(字典数据)
*/
@ApiModelProperty(value = "问题类型")
private String type;
/**
* 问题状态(字典数据)
*/
@ApiModelProperty(value = "问题状态")
private String status;
@ApiModelProperty(value = "未读消息条数")
private int chatCount;
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
private LocalDateTime createTime;
}

View File

@@ -0,0 +1,65 @@
package com.njcn.algorithm.controller.feedback;
import com.njcn.algorithm.pojo.param.CsFeedbackChatAddParm;
import com.njcn.algorithm.pojo.param.CsFeedbackChatCheckParm;
import com.njcn.algorithm.service.CsFeedbackChatService;
import com.njcn.common.pojo.annotation.OperateInfo;
import com.njcn.common.pojo.enums.common.LogEnum;
import com.njcn.common.pojo.enums.response.CommonResponseEnum;
import com.njcn.common.pojo.response.HttpResult;
import com.njcn.common.utils.HttpResultUtil;
import com.njcn.web.controller.BaseController;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiImplicitParam;
import io.swagger.annotations.ApiOperation;
import lombok.AllArgsConstructor;
import lombok.extern.slf4j.Slf4j;
import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
/**
* Description:
* 接口文档访问地址http://serverIP:port/swagger-ui.html
* Date: 2023/3/27 10:54【需求编号】
*
* @author clam
* @version V1.0.0
*/
@Slf4j
@RestController
@RequestMapping("/feedbackChat")
@Api(tags = "问题反馈聊天")
@AllArgsConstructor
public class FeedBackChatController extends BaseController {
private final CsFeedbackChatService csFeedbackChatService;
@OperateInfo(info = LogEnum.BUSINESS_COMMON)
@PostMapping("/AddFeedbackChat")
@ApiOperation("新增反馈聊天")
@ApiImplicitParam(name = "csFeedbackAddParm", value = "新增反馈聊天参数", required = true)
public HttpResult<Boolean> AddFeedbackChat(@RequestBody @Validated CsFeedbackChatAddParm csFeedbackAddParm){
String methodDescribe = getMethodDescribe("AddFeedbackChat");
Boolean flag = csFeedbackChatService.AddFeedbackChat(csFeedbackAddParm);
return HttpResultUtil.assembleCommonResponseResult(CommonResponseEnum.SUCCESS, flag, methodDescribe);
}
@OperateInfo(info = LogEnum.BUSINESS_COMMON)
@PostMapping("/updateChatStatus")
@ApiOperation("更新反馈聊天状态")
@ApiImplicitParam(name = "CsFeedbackChatCheckParm", value = "新增反馈聊天参数", required = true)
public HttpResult<Boolean> updateChatStatus(@RequestBody@Validated CsFeedbackChatCheckParm CsFeedbackChatCheckParm){
String methodDescribe = getMethodDescribe("updateChatStatus");
Boolean flag = csFeedbackChatService.updateChatStatus(CsFeedbackChatCheckParm);
return HttpResultUtil.assembleCommonResponseResult(CommonResponseEnum.SUCCESS, flag, methodDescribe);
}
}

View File

@@ -0,0 +1,73 @@
package com.njcn.algorithm.controller.feedback;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.njcn.algorithm.pojo.param.CsFeedbackAddParm;
import com.njcn.algorithm.pojo.param.CsFeedbackQueryParm;
import com.njcn.algorithm.pojo.vo.CsFeedbackDetailVO;
import com.njcn.algorithm.pojo.vo.CsFeedbackVO;
import com.njcn.algorithm.service.CsFeedbackService;
import com.njcn.common.pojo.annotation.OperateInfo;
import com.njcn.common.pojo.enums.common.LogEnum;
import com.njcn.common.pojo.enums.response.CommonResponseEnum;
import com.njcn.common.pojo.response.HttpResult;
import com.njcn.common.utils.HttpResultUtil;
import com.njcn.web.controller.BaseController;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiImplicitParam;
import io.swagger.annotations.ApiOperation;
import lombok.AllArgsConstructor;
import lombok.extern.slf4j.Slf4j;
import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.*;
/**
* Description:
* 接口文档访问地址http://serverIP:port/swagger-ui.html
* Date: 2023/3/27 10:54【需求编号】
*
* @author clam
* @version V1.0.0
*/
@Slf4j
@RestController
@RequestMapping("/feedback")
@Api(tags = "问题反馈")
@AllArgsConstructor
public class FeedBackController extends BaseController {
private final CsFeedbackService csFeedbackService;
@OperateInfo(info = LogEnum.BUSINESS_COMMON)
@PostMapping("/addFeedBack")
@ApiOperation("新增反馈")
public HttpResult<Boolean> addFeedBack(@Validated CsFeedbackAddParm csFeedbackAddParm){
String methodDescribe = getMethodDescribe("addFeedBack");
Boolean flag = csFeedbackService.addFeedBack(csFeedbackAddParm);
return HttpResultUtil.assembleCommonResponseResult(CommonResponseEnum.SUCCESS, flag, methodDescribe);
}
@OperateInfo(info = LogEnum.BUSINESS_COMMON)
@PostMapping("/queryFeedBackPage")
@ApiOperation("查询反馈列表")
@ApiImplicitParam(name = "csFeedbackQueryParm", value = "新增反馈聊天参数", required = true)
public HttpResult<IPage<CsFeedbackVO>> queryFeedBackPage(@Validated @RequestBody CsFeedbackQueryParm csFeedbackQueryParm){
String methodDescribe = getMethodDescribe("queryFeedBackPage");
IPage<CsFeedbackVO> csFeedbackVOIPage = csFeedbackService.queryFeedBackPage(csFeedbackQueryParm);
return HttpResultUtil.assembleCommonResponseResult(CommonResponseEnum.SUCCESS, csFeedbackVOIPage, methodDescribe);
}
@OperateInfo(info = LogEnum.BUSINESS_COMMON)
@PostMapping("/queryFeedBackDetail")
@ApiOperation("查询反馈详情")
public HttpResult<CsFeedbackDetailVO> queryFeedBackDetail(@RequestParam("id")String id){
String methodDescribe = getMethodDescribe("queryFeedBackDetail");
CsFeedbackDetailVO csFeedbackDetailVO = csFeedbackService.queryFeedBackDetail(id);
return HttpResultUtil.assembleCommonResponseResult(CommonResponseEnum.SUCCESS, csFeedbackDetailVO, methodDescribe);
}
}

View File

@@ -0,0 +1,92 @@
package com.njcn.algorithm.controller.project;
import com.njcn.algorithm.pojo.param.AppBaseInformationAddParm;
import com.njcn.algorithm.pojo.param.AppPersonSetAddParm;
import com.njcn.algorithm.pojo.po.AppBaseInformationPO;
import com.njcn.algorithm.pojo.po.AppPersonSetPO;
import com.njcn.algorithm.pojo.vo.AppBaseInformationVO;
import com.njcn.algorithm.service.AppBaseInformationService;
import com.njcn.algorithm.service.AppPersonSetService;
import com.njcn.common.pojo.annotation.OperateInfo;
import com.njcn.common.pojo.enums.common.LogEnum;
import com.njcn.common.pojo.enums.response.CommonResponseEnum;
import com.njcn.common.pojo.response.HttpResult;
import com.njcn.common.utils.HttpResultUtil;
import com.njcn.web.controller.BaseController;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiImplicitParam;
import io.swagger.annotations.ApiOperation;
import lombok.AllArgsConstructor;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.BeanUtils;
import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.*;
import java.util.List;
import java.util.Objects;
import java.util.stream.Collectors;
/**
* Description:
* 接口文档访问地址http://serverIP:port/swagger-ui.html
* Date: 2023/4/4 9:02【需求编号】
*
* @author clam
* @version V1.0.0
*/
@Slf4j
@RestController
@RequestMapping("/appinfo")
@Api(tags = "app信息")
@AllArgsConstructor
public class AppInfoController extends BaseController {
private final AppBaseInformationService appBaseInformationService;
private final AppPersonSetService appPersonSetService;
@OperateInfo(info = LogEnum.BUSINESS_COMMON)
@PostMapping("/addAppInfo")
@ApiOperation("新增app基础信息")
@ApiImplicitParam(name = "AppBaseInformationAddParm", value = "新增app基础信息参数", required = true)
public HttpResult<Boolean> addAppInfo(@RequestBody @Validated AppBaseInformationAddParm AppBaseInformationAddParm){
String methodDescribe = getMethodDescribe("addAppInfo");
AppBaseInformationPO appBaseInformationPO = new AppBaseInformationPO ();
BeanUtils.copyProperties (AppBaseInformationAddParm, appBaseInformationPO);
boolean save = appBaseInformationService.save (appBaseInformationPO);
return HttpResultUtil.assembleCommonResponseResult(CommonResponseEnum.SUCCESS, save, methodDescribe);
}
@OperateInfo(info = LogEnum.BUSINESS_COMMON)
@PostMapping("/addPersonSet")
@ApiOperation("新增app个人中心信息")
@ApiImplicitParam(name = "appPersonSetAddParm", value = "新增apppp个人中心信参数", required = true)
public HttpResult<Boolean> addPersonSet(@RequestBody @Validated AppPersonSetAddParm appPersonSetAddParm){
String methodDescribe = getMethodDescribe("addPersonSet");
AppPersonSetPO appPersonSetPO = new AppPersonSetPO ();
BeanUtils.copyProperties (appPersonSetAddParm, appPersonSetPO);
appPersonSetPO.setStatus ("1");
boolean save = appPersonSetService.save (appPersonSetPO);
return HttpResultUtil.assembleCommonResponseResult(CommonResponseEnum.SUCCESS, save, methodDescribe);
}
@OperateInfo(info = LogEnum.BUSINESS_COMMON)
@PostMapping("/queryPersonSet")
@ApiOperation("查询app个人中心信息")
public HttpResult<AppPersonSetPO> queryPersonSet(){
String methodDescribe = getMethodDescribe("queryPersonSet");
List<AppPersonSetPO> list = appPersonSetService.list ( );
AppPersonSetPO appPersonSetPO = list.stream ( ).filter (temp -> Objects.equals ("1", temp.getStatus ( ))).collect (Collectors.toList ( )).get (0);
return HttpResultUtil.assembleCommonResponseResult(CommonResponseEnum.SUCCESS, appPersonSetPO, methodDescribe);
}
@OperateInfo(info = LogEnum.BUSINESS_COMMON)
@PostMapping("/queryAppInfo")
@ApiOperation("查询app个人中心信息详情")
public HttpResult<AppBaseInformationVO> queryPersonSet(@RequestParam("id")String id ){
String methodDescribe = getMethodDescribe("queryPersonSet");
AppBaseInformationVO appBaseInformationVO = new AppBaseInformationVO();
AppBaseInformationPO byId = appBaseInformationService.getById (id);
BeanUtils.copyProperties (byId,appBaseInformationVO);
return HttpResultUtil.assembleCommonResponseResult(CommonResponseEnum.SUCCESS, appBaseInformationVO, methodDescribe);
}
}

View File

@@ -0,0 +1,16 @@
package com.njcn.algorithm.mapper;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.njcn.algorithm.pojo.po.AppBaseInformationPO;
/**
*
* Description:
* 接口文档访问地址http://serverIP:port/swagger-ui.html
* Date: 2023/4/3 19:17【需求编号】
*
* @author clam
* @version V1.0.0
*/
public interface AppBaseInformationMapper extends BaseMapper<AppBaseInformationPO> {
}

View File

@@ -0,0 +1,16 @@
package com.njcn.algorithm.mapper;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.njcn.algorithm.pojo.po.AppPersonSetPO;
/**
*
* Description:
* 接口文档访问地址http://serverIP:port/swagger-ui.html
* Date: 2023/4/3 19:17【需求编号】
*
* @author clam
* @version V1.0.0
*/
public interface AppPersonSetMapper extends BaseMapper<AppPersonSetPO> {
}

View File

@@ -23,12 +23,12 @@ public interface AppProjectMapper extends MppBaseMapper<AppProjectPO> {
"SELECT\n" +
"\ta.id id,\n" +
"\ta.`name` name,\n" +
"\ta.user_id user_id,\n" +
"\t\"username\" user_name,\n" +
// "\ta.user_id user_id,\n" +
// "\t\"username\" user_name,\n" +
"\ta.area area,\n" +
// "\tb.file_path topologyDiagramPath,\n" +
"\ta.lng lng,\n" +
"\ta.lat lat,\n" +
// "\ta.lng lng,\n" +
// "\ta.lat lat,\n" +
"\ta.`status` STATUS,\n" +
"\ta.create_by create_by,\n" +
"\ta.create_time create_time,\n" +

View File

@@ -0,0 +1,16 @@
package com.njcn.algorithm.mapper;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.njcn.algorithm.pojo.po.CsEdDataPO;
/**
*
* Description:
* 接口文档访问地址http://serverIP:port/swagger-ui.html
* Date: 2023/4/3 19:12【需求编号】
*
* @author clam
* @version V1.0.0
*/
public interface CsEdDataMapper extends BaseMapper<CsEdDataPO> {
}

View File

@@ -0,0 +1,16 @@
package com.njcn.algorithm.mapper;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.njcn.algorithm.pojo.po.CsFeedbackChatPO;
/**
*
* Description:
* 接口文档访问地址http://serverIP:port/swagger-ui.html
* Date: 2023/4/6 15:28【需求编号】
*
* @author clam
* @version V1.0.0
*/
public interface CsFeedbackChatMapper extends BaseMapper<CsFeedbackChatPO> {
}

View File

@@ -0,0 +1,16 @@
package com.njcn.algorithm.mapper;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.njcn.algorithm.pojo.po.CsFeedbackPO;
/**
*
* Description:
* 接口文档访问地址http://serverIP:port/swagger-ui.html
* Date: 2023/4/6 11:39【需求编号】
*
* @author clam
* @version V1.0.0
*/
public interface CsFeedbackMapper extends BaseMapper<CsFeedbackPO> {
}

View File

@@ -0,0 +1,16 @@
package com.njcn.algorithm.mapper;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.njcn.algorithm.pojo.po.CsFilePathPO;
/**
*
* Description:
* 接口文档访问地址http://serverIP:port/swagger-ui.html
* Date: 2023/4/6 11:40【需求编号】
*
* @author clam
* @version V1.0.0
*/
public interface CsFilePathMapper extends BaseMapper<CsFilePathPO> {
}

View File

@@ -0,0 +1,19 @@
<?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.njcn.algorithm.mapper.AppBaseInformationMapper">
<resultMap id="BaseResultMap" type="com.njcn.algorithm.pojo.po.AppBaseInformationPO">
<!--@mbg.generated-->
<!--@Table app_base_information-->
<id column="id" jdbcType="VARCHAR" property="id" />
<result column="content" jdbcType="LONGVARCHAR" property="content" />
<result column="type" jdbcType="VARCHAR" property="type" />
<result column="create_by" jdbcType="VARCHAR" property="createBy" />
<result column="create_time" jdbcType="TIMESTAMP" property="createTime" />
<result column="update_by" jdbcType="VARCHAR" property="updateBy" />
<result column="update_time" jdbcType="TIMESTAMP" property="updateTime" />
</resultMap>
<sql id="Base_Column_List">
<!--@mbg.generated-->
id, content, `type`, create_by, create_time, update_by, update_time
</sql>
</mapper>

View File

@@ -0,0 +1,25 @@
<?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.njcn.algorithm.mapper.AppPersonSetMapper">
<resultMap id="BaseResultMap" type="com.njcn.algorithm.pojo.po.AppPersonSetPO">
<!--@mbg.generated-->
<!--@Table app_person_set-->
<result column="id" jdbcType="VARCHAR" property="id" />
<result column="user_agreement" jdbcType="TINYINT" property="userAgreement" />
<result column="system_introduction" jdbcType="TINYINT" property="systemIntroduction" />
<result column="user_manual" jdbcType="TINYINT" property="userManual" />
<result column="data_base" jdbcType="TINYINT" property="dataBase" />
<result column="company_profile" jdbcType="TINYINT" property="companyProfile" />
<result column="about_us" jdbcType="TINYINT" property="aboutUs" />
<result column="status" jdbcType="BOOLEAN" property="status" />
<result column="create_by" jdbcType="VARCHAR" property="createBy" />
<result column="create_time" jdbcType="TIMESTAMP" property="createTime" />
<result column="update_by" jdbcType="VARCHAR" property="updateBy" />
<result column="update_time" jdbcType="TIMESTAMP" property="updateTime" />
</resultMap>
<sql id="Base_Column_List">
<!--@mbg.generated-->
id, user_agreement, system_introduction, user_manual, data_base, company_profile,
about_us, `status`, create_by, create_time, update_by, update_time
</sql>
</mapper>

View File

@@ -0,0 +1,26 @@
<?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.njcn.algorithm.mapper.CsEdDataMapper">
<resultMap id="BaseResultMap" type="com.njcn.algorithm.pojo.po.CsEdDataPO">
<!--@mbg.generated-->
<!--@Table cs_ed_data-->
<result column="id" jdbcType="VARCHAR" property="id" />
<result column="dev_type" jdbcType="VARCHAR" property="devType" />
<result column="version_no" jdbcType="VARCHAR" property="versionNo" />
<result column="version_agree" jdbcType="VARCHAR" property="versionAgree" />
<result column="version_date" jdbcType="TIMESTAMP" property="versionDate" />
<result column="describe" jdbcType="VARCHAR" property="describe" />
<result column="version_type" jdbcType="VARCHAR" property="versionType" />
<result column="status" jdbcType="INTEGER" property="status" />
<result column="file_path" jdbcType="VARCHAR" property="filePath" />
<result column="create_by" jdbcType="VARCHAR" property="createBy" />
<result column="create_time" jdbcType="TIMESTAMP" property="createTime" />
<result column="update_by" jdbcType="VARCHAR" property="updateBy" />
<result column="update_time" jdbcType="TIMESTAMP" property="updateTime" />
</resultMap>
<sql id="Base_Column_List">
<!--@mbg.generated-->
id, dev_type, version_no, version_agree, version_date, `describe`, version_type,
`status`, file_path, create_by, create_time, update_by, update_time
</sql>
</mapper>

View File

@@ -34,7 +34,6 @@
SELECT
a.id projectId,
a.name projectName,
a.project_type projectType,
b.id equipmentId,
b.name equipmentName
FROM cs_project a,

View File

@@ -0,0 +1,19 @@
<?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.njcn.algorithm.mapper.CsFeedbackChatMapper">
<resultMap id="BaseResultMap" type="com.njcn.algorithm.pojo.po.CsFeedbackChatPO">
<!--@mbg.generated-->
<!--@Table cs_feedback_chat-->
<id column="id" jdbcType="VARCHAR" property="id" />
<result column="user_id" jdbcType="VARCHAR" property="userId" />
<result column="chat_content" jdbcType="VARCHAR" property="chatContent" />
<result column="create_by" jdbcType="VARCHAR" property="createBy" />
<result column="create_time" jdbcType="TIMESTAMP" property="createTime" />
<result column="update_by" jdbcType="VARCHAR" property="updateBy" />
<result column="update_time" jdbcType="TIMESTAMP" property="updateTime" />
</resultMap>
<sql id="Base_Column_List">
<!--@mbg.generated-->
id, user_id, chat_content, create_by, create_time, update_by, update_time
</sql>
</mapper>

View File

@@ -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.njcn.algorithm.mapper.CsFeedbackMapper">
<resultMap id="BaseResultMap" type="com.njcn.algorithm.pojo.po.CsFeedbackPO">
<!--@mbg.generated-->
<!--@Table cs_feedback-->
<id column="id" jdbcType="VARCHAR" property="id" />
<result column="title" jdbcType="VARCHAR" property="title" />
<result column="describe" jdbcType="VARCHAR" property="describe" />
<result column="user_id" jdbcType="VARCHAR" property="userId" />
<result column="create_by" jdbcType="VARCHAR" property="createBy" />
<result column="create_time" jdbcType="TIMESTAMP" property="createTime" />
<result column="update_by" jdbcType="VARCHAR" property="updateBy" />
<result column="update_time" jdbcType="TIMESTAMP" property="updateTime" />
<result column="type" jdbcType="VARCHAR" property="type" />
<result column="status" jdbcType="VARCHAR" property="status" />
</resultMap>
<sql id="Base_Column_List">
<!--@mbg.generated-->
id, title, `describe`, user_id, create_by, create_time, update_by, update_time, `type`,
`status`
</sql>
</mapper>

View File

@@ -0,0 +1,15 @@
<?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.njcn.algorithm.mapper.CsFilePathMapper">
<resultMap id="BaseResultMap" type="com.njcn.algorithm.pojo.po.CsFilePathPO">
<!--@mbg.generated-->
<!--@Table cs_file_path-->
<result column="id" jdbcType="VARCHAR" property="id" />
<result column="file_path" jdbcType="VARCHAR" property="filePath" />
<result column="status" jdbcType="BOOLEAN" property="status" />
</resultMap>
<sql id="Base_Column_List">
<!--@mbg.generated-->
id, file_path, `status`
</sql>
</mapper>

View File

@@ -0,0 +1,17 @@
package com.njcn.algorithm.service;
import com.njcn.algorithm.pojo.po.AppBaseInformationPO;
import com.baomidou.mybatisplus.extension.service.IService;
/**
*
* Description:
* 接口文档访问地址http://serverIP:port/swagger-ui.html
* Date: 2023/4/3 19:17【需求编号】
*
* @author clam
* @version V1.0.0
*/
public interface AppBaseInformationService extends IService<AppBaseInformationPO>{
}

View File

@@ -0,0 +1,17 @@
package com.njcn.algorithm.service;
import com.njcn.algorithm.pojo.po.AppPersonSetPO;
import com.baomidou.mybatisplus.extension.service.IService;
/**
*
* Description:
* 接口文档访问地址http://serverIP:port/swagger-ui.html
* Date: 2023/4/3 19:17【需求编号】
*
* @author clam
* @version V1.0.0
*/
public interface AppPersonSetService extends IService<AppPersonSetPO>{
}

View File

@@ -0,0 +1,17 @@
package com.njcn.algorithm.service;
import com.njcn.algorithm.pojo.po.CsEdDataPO;
import com.baomidou.mybatisplus.extension.service.IService;
/**
*
* Description:
* 接口文档访问地址http://serverIP:port/swagger-ui.html
* Date: 2023/4/3 19:12【需求编号】
*
* @author clam
* @version V1.0.0
*/
public interface CsEdDataService extends IService<CsEdDataPO>{
}

View File

@@ -0,0 +1,28 @@
package com.njcn.algorithm.service;
import com.njcn.algorithm.pojo.param.CsFeedbackChatAddParm;
import com.njcn.algorithm.pojo.param.CsFeedbackChatCheckParm;
import com.njcn.algorithm.pojo.po.CsFeedbackChatPO;
import com.baomidou.mybatisplus.extension.service.IService;
/**
*
* Description:
* 接口文档访问地址http://serverIP:port/swagger-ui.html
* Date: 2023/4/6 15:28【需求编号】
*
* @author clam
* @version V1.0.0
*/
public interface CsFeedbackChatService extends IService<CsFeedbackChatPO>{
/**
* @Description: AddFeedbackChat
* @Param: [csFeedbackAddParm]
* @return: java.lang.Boolean
* @Author: clam
* @Date: 2023/4/6
*/
Boolean AddFeedbackChat(CsFeedbackChatAddParm csFeedbackAddParm);
Boolean updateChatStatus(CsFeedbackChatCheckParm csFeedbackChatCheckParm);
}

View File

@@ -0,0 +1,46 @@
package com.njcn.algorithm.service;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.njcn.algorithm.pojo.param.CsFeedbackAddParm;
import com.njcn.algorithm.pojo.param.CsFeedbackQueryParm;
import com.njcn.algorithm.pojo.po.CsFeedbackPO;
import com.baomidou.mybatisplus.extension.service.IService;
import com.njcn.algorithm.pojo.vo.CsFeedbackDetailVO;
import com.njcn.algorithm.pojo.vo.CsFeedbackVO;
/**
*
* Description:
* 接口文档访问地址http://serverIP:port/swagger-ui.html
* Date: 2023/4/6 11:39【需求编号】
*
* @author clam
* @version V1.0.0
*/
public interface CsFeedbackService extends IService<CsFeedbackPO>{
/**
* @Description: 新增反馈
* @Param: [csFeedbackAddParm]
* @return: java.lang.Boolean
* @Author: clam
* @Date: 2023/4/6
*/
Boolean addFeedBack(CsFeedbackAddParm csFeedbackAddParm);
/**
* @Description: queryFeedBackPage
* @Param: [csFeedbackQueryParm]
* @return: com.baomidou.mybatisplus.core.metadata.IPage<com.njcn.algorithm.pojo.vo.CsFeedbackVO>
* @Author: clam
* @Date: 2023/4/6
*/
IPage<CsFeedbackVO> queryFeedBackPage(CsFeedbackQueryParm csFeedbackQueryParm);
/**
* @Description: queryFeedBackDetail
* @Param: [id]
* @return: com.njcn.algorithm.pojo.vo.CsFeedbackDetailVO
* @Author: clam
* @Date: 2023/4/7
*/
CsFeedbackDetailVO queryFeedBackDetail(String id);
}

View File

@@ -0,0 +1,17 @@
package com.njcn.algorithm.service;
import com.njcn.algorithm.pojo.po.CsFilePathPO;
import com.baomidou.mybatisplus.extension.service.IService;
/**
*
* Description:
* 接口文档访问地址http://serverIP:port/swagger-ui.html
* Date: 2023/4/6 11:40【需求编号】
*
* @author clam
* @version V1.0.0
*/
public interface CsFilePathService extends IService<CsFilePathPO>{
}

View File

@@ -0,0 +1,22 @@
package com.njcn.algorithm.service.impl;
import org.springframework.stereotype.Service;
import javax.annotation.Resource;
import java.util.List;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.njcn.algorithm.pojo.po.AppBaseInformationPO;
import com.njcn.algorithm.mapper.AppBaseInformationMapper;
import com.njcn.algorithm.service.AppBaseInformationService;
/**
*
* Description:
* 接口文档访问地址http://serverIP:port/swagger-ui.html
* Date: 2023/4/3 19:17【需求编号】
*
* @author clam
* @version V1.0.0
*/
@Service
public class AppBaseInformationServiceImpl extends ServiceImpl<AppBaseInformationMapper, AppBaseInformationPO> implements AppBaseInformationService{
}

View File

@@ -0,0 +1,22 @@
package com.njcn.algorithm.service.impl;
import org.springframework.stereotype.Service;
import javax.annotation.Resource;
import java.util.List;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.njcn.algorithm.mapper.AppPersonSetMapper;
import com.njcn.algorithm.pojo.po.AppPersonSetPO;
import com.njcn.algorithm.service.AppPersonSetService;
/**
*
* Description:
* 接口文档访问地址http://serverIP:port/swagger-ui.html
* Date: 2023/4/3 19:17【需求编号】
*
* @author clam
* @version V1.0.0
*/
@Service
public class AppPersonSetServiceImpl extends ServiceImpl<AppPersonSetMapper, AppPersonSetPO> implements AppPersonSetService{
}

View File

@@ -5,7 +5,6 @@ import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.github.jeffreyning.mybatisplus.service.MppServiceImpl;
import com.njcn.algorithm.enums.AlgorithmResponseEnum;
import com.njcn.algorithm.mapper.AppProjectMapper;
import com.njcn.algorithm.pojo.param.*;
import com.njcn.algorithm.pojo.po.AppProjectPO;
@@ -13,7 +12,6 @@ import com.njcn.algorithm.pojo.vo.AppProjectVO;
import com.njcn.algorithm.pojo.vo.AppTopologyDiagramVO;
import com.njcn.algorithm.service.AppProjectService;
import com.njcn.algorithm.service.AppTopologyDiagramService;
import com.njcn.common.pojo.exception.BusinessException;
import com.njcn.oss.utils.FileStorageUtil;
import lombok.RequiredArgsConstructor;
import org.apache.commons.lang.StringUtils;
@@ -45,10 +43,10 @@ public class AppProjectServiceImpl extends MppServiceImpl<AppProjectMapper, AppP
@Transactional(rollbackFor = Exception.class)
public Boolean addAppProject(AppProjectAddParm appProjectAddOrAuditParm) {
AppProjectPO appProjectPO = new AppProjectPO ( );
Boolean result = checkName (appProjectAddOrAuditParm.getUserId ( ), appProjectAddOrAuditParm.getName ( ));
if (result) {
throw new BusinessException (AlgorithmResponseEnum.PROJECT_COMMON_ERROR);
}
// Boolean result = checkName (appProjectAddOrAuditParm.getUserId ( ), appProjectAddOrAuditParm.getName ( ));
// if (result) {
// throw new BusinessException (AlgorithmResponseEnum.PROJECT_COMMON_ERROR);
// }
BeanUtils.copyProperties (appProjectAddOrAuditParm, appProjectPO);
appProjectPO.setStatus ("1");
boolean save = this.save (appProjectPO);
@@ -81,23 +79,23 @@ public class AppProjectServiceImpl extends MppServiceImpl<AppProjectMapper, AppP
QueryWrapper<AppProjectPO> queryWrapper = new QueryWrapper ( );
queryWrapper.eq ("id", appProjectAuditParm.getId ( ));
AppProjectPO appProjectPO1 = appProjectMapper.selectOne (queryWrapper);
if (appProjectAuditParm.getUserId ( ) != null || appProjectAuditParm.getName ( ) != null) {
Boolean result = checkName (appProjectAuditParm.getUserId ( ) != null ? appProjectAuditParm.getUserId ( ) : appProjectPO1.getUserId ( ),
appProjectAuditParm.getName ( ) != null ? appProjectAuditParm.getName ( ) : appProjectPO1.getName ( ));
if (result) {
throw new BusinessException (AlgorithmResponseEnum.PROJECT_COMMON_ERROR);
}
}
// if (appProjectAuditParm.getUserId ( ) != null || appProjectAuditParm.getName ( ) != null) {
// Boolean result = checkName (appProjectAuditParm.getUserId ( ) != null ? appProjectAuditParm.getUserId ( ) : appProjectPO1.getUserId ( ),
// appProjectAuditParm.getName ( ) != null ? appProjectAuditParm.getName ( ) : appProjectPO1.getName ( ));
// if (result) {
// throw new BusinessException (AlgorithmResponseEnum.PROJECT_COMMON_ERROR);
// }
// }
BeanUtils.copyProperties (appProjectAuditParm, appProjectPO);
UpdateWrapper<AppProjectPO> updateWrapper = new UpdateWrapper ( );
updateWrapper.eq ("id", appProjectAuditParm.getId ( ));
int i = appProjectMapper.update (appProjectPO, updateWrapper);
Boolean result = checkName (appProjectPO.getUserId ( ), appProjectPO.getName ( ));
if (result) {
throw new BusinessException (AlgorithmResponseEnum.PROJECT_COMMON_ERROR);
}
// Boolean result = checkName (appProjectPO.getUserId ( ), appProjectPO.getName ( ));
// if (result) {
// throw new BusinessException (AlgorithmResponseEnum.PROJECT_COMMON_ERROR);
// }
return i == 1 ? true : false;
}

View File

@@ -49,12 +49,10 @@ public class AppTopologyDiagramServiceImpl extends MppServiceImpl<AppTopologyDia
AppTopologyDiagramPO appTopologyDiagramPO = new AppTopologyDiagramPO();
MultipartFile file = appTopologyDiagramAddParm.getFile ( );
long size = file.getSize ( );
String filePath = fileStorageUtil.uploadMultipart (file, OssPath.TOPOLOGY);
appTopologyDiagramPO.setFilePath (filePath);
appTopologyDiagramPO.setProjectId (appTopologyDiagramAddParm.getProjectId ()==null?"":appTopologyDiagramAddParm.getProjectId ());
appTopologyDiagramPO.setName (appTopologyDiagramAddParm.getTopologyDiagramName ());
appTopologyDiagramPO.setFileSize (Integer.valueOf (size+""));
appTopologyDiagramPO.setStatus ("1");
boolean save = this.save (appTopologyDiagramPO);
return save;
@@ -68,7 +66,6 @@ public class AppTopologyDiagramServiceImpl extends MppServiceImpl<AppTopologyDia
long size = file.getSize ( );
String filePath = fileStorageUtil.uploadMultipart (file, OssPath.TOPOLOGY);
appTopologyDiagramPO.setFilePath (filePath);
appTopologyDiagramPO.setFileSize (Integer.valueOf (size+""));
}
if(appTopologyDiagramAuditParm.getProjectId ()!=null&&appTopologyDiagramAuditParm.getProjectId ()!=""){
appTopologyDiagramPO.setProjectId (appTopologyDiagramAuditParm.getProjectId ());

View File

@@ -0,0 +1,20 @@
package com.njcn.algorithm.service.impl;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.njcn.algorithm.mapper.CsEdDataMapper;
import com.njcn.algorithm.pojo.po.CsEdDataPO;
import com.njcn.algorithm.service.CsEdDataService;
import org.springframework.stereotype.Service;
/**
*
* Description:
* 接口文档访问地址http://serverIP:port/swagger-ui.html
* Date: 2023/4/3 19:12【需求编号】
*
* @author clam
* @version V1.0.0
*/
@Service
public class CsEdDataServiceImpl extends ServiceImpl<CsEdDataMapper, CsEdDataPO> implements CsEdDataService{
}

View File

@@ -0,0 +1,50 @@
package com.njcn.algorithm.service.impl;
import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.njcn.algorithm.mapper.CsFeedbackChatMapper;
import com.njcn.algorithm.pojo.param.CsFeedbackChatAddParm;
import com.njcn.algorithm.pojo.param.CsFeedbackChatCheckParm;
import com.njcn.algorithm.pojo.po.CsFeedbackChatPO;
import com.njcn.algorithm.service.CsFeedbackChatService;
import org.springframework.beans.BeanUtils;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
/**
*
* Description:
* 接口文档访问地址http://serverIP:port/swagger-ui.html
* Date: 2023/4/6 15:28【需求编号】
*
* @author clam
* @version V1.0.0
*/
@Service
public class CsFeedbackChatServiceImpl extends ServiceImpl<CsFeedbackChatMapper, CsFeedbackChatPO> implements CsFeedbackChatService{
@Override
@Transactional(rollbackFor = {Exception.class})
public Boolean AddFeedbackChat(CsFeedbackChatAddParm csFeedbackAddParm) {
CsFeedbackChatPO csFeedbackChatPO = new CsFeedbackChatPO ();
BeanUtils.copyProperties (csFeedbackAddParm, csFeedbackChatPO);
csFeedbackChatPO.setChatStatus ("0");
csFeedbackChatPO.setStatus ("1");
boolean save = this.save (csFeedbackChatPO);
return save;
}
@Override
public Boolean updateChatStatus(CsFeedbackChatCheckParm csFeedbackChatCheckParm) {
UpdateWrapper<CsFeedbackChatPO> updateWrapper = new UpdateWrapper<> ();
updateWrapper.clear ();
updateWrapper.eq ("id",csFeedbackChatCheckParm.getId ()).
ne ("user_id",csFeedbackChatCheckParm.getUserId ()).
set ("chat_status","1").
eq ("status", "1");
boolean update = this.update (updateWrapper);
return update;
}
}

View File

@@ -0,0 +1,112 @@
package com.njcn.algorithm.service.impl;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
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.njcn.algorithm.mapper.CsFeedbackMapper;
import com.njcn.algorithm.pojo.param.CsFeedbackAddParm;
import com.njcn.algorithm.pojo.param.CsFeedbackQueryParm;
import com.njcn.algorithm.pojo.po.CsFeedbackChatPO;
import com.njcn.algorithm.pojo.po.CsFeedbackPO;
import com.njcn.algorithm.pojo.po.CsFilePathPO;
import com.njcn.algorithm.pojo.vo.CsFeedbackDetailVO;
import com.njcn.algorithm.pojo.vo.CsFeedbackVO;
import com.njcn.algorithm.service.CsFeedbackChatService;
import com.njcn.algorithm.service.CsFeedbackService;
import com.njcn.algorithm.service.CsFilePathService;
import com.njcn.oss.constant.OssPath;
import com.njcn.oss.utils.FileStorageUtil;
import lombok.RequiredArgsConstructor;
import org.apache.commons.lang.StringUtils;
import org.springframework.beans.BeanUtils;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import java.util.ArrayList;
import java.util.List;
import java.util.stream.Collectors;
/**
*
* Description:
* 接口文档访问地址http://serverIP:port/swagger-ui.html
* Date: 2023/4/6 11:39【需求编号】
*
* @author clam
* @version V1.0.0
*/
@Service
@RequiredArgsConstructor
public class CsFeedbackServiceImpl extends ServiceImpl<CsFeedbackMapper, CsFeedbackPO> implements CsFeedbackService{
private final FileStorageUtil fileStorageUtil;
private final CsFilePathService csFilePathService;
private final CsFeedbackChatService csFeedbackChatService;
@Override
@Transactional(rollbackFor = Exception.class)
public Boolean addFeedBack(CsFeedbackAddParm csFeedbackAddParm) {
CsFeedbackPO csFeedbackPO = new CsFeedbackPO ();
BeanUtils.copyProperties (csFeedbackAddParm, csFeedbackPO);
csFeedbackPO.setStatus ("1");
boolean save = this.save (csFeedbackPO);
List<CsFilePathPO> csFilePathPOS= new ArrayList<> ();
for (int i = 0; i < csFeedbackAddParm.getFiles ( ).length; i++) {
CsFilePathPO csFilePathPO = new CsFilePathPO ( );
csFilePathPO.setId (csFeedbackPO.getId ());
String filePath = fileStorageUtil.uploadMultipart (csFeedbackAddParm.getFiles ( )[i], OssPath.FEEDBACK);
csFilePathPO.setFileName (csFeedbackAddParm.getFiles ( )[i].getOriginalFilename ( ));
csFilePathPO.setFilePath (filePath);
csFilePathPO.setStatus ("1");
csFilePathPOS.add (csFilePathPO);
}
boolean b = csFilePathService.saveBatch (csFilePathPOS);
return save&&b;
}
@Override
public IPage<CsFeedbackVO> queryFeedBackPage(CsFeedbackQueryParm csFeedbackQueryParm) {
Page<CsFeedbackPO> page = new Page<> (csFeedbackQueryParm.getCurrentPage ( ), csFeedbackQueryParm.getPageSize ( ));
Page<CsFeedbackVO> returnpage = new Page<> (csFeedbackQueryParm.getCurrentPage ( ), csFeedbackQueryParm.getPageSize ( ));
QueryWrapper<CsFeedbackPO> queryWrapper = new QueryWrapper<> ();
queryWrapper.eq ("user_id",csFeedbackQueryParm.getUserId ()).
eq (StringUtils.isNotBlank (csFeedbackQueryParm.getType ()),"type",csFeedbackQueryParm.getType ()).
eq (StringUtils.isNotBlank (csFeedbackQueryParm.getStatus ()),"status",csFeedbackQueryParm.getStatus ());
Page<CsFeedbackPO> csFeedbackPOPage = this.getBaseMapper ( ).selectPage (page, queryWrapper);
QueryWrapper<CsFeedbackChatPO> csFeedbackChatPOQueryWrapper = new QueryWrapper<> ();
List<CsFeedbackVO> collect = csFeedbackPOPage.getRecords ( ).stream ( ).map (temp -> {
CsFeedbackVO csFeedbackVO = new CsFeedbackVO ( );
BeanUtils.copyProperties (temp, csFeedbackVO);
csFeedbackChatPOQueryWrapper.clear ();
csFeedbackChatPOQueryWrapper.eq ("id",temp.getId ()).
ne ("user_id",temp.getUserId ()).
eq ("chat_status","0").
eq ("status", "1");
int count = csFeedbackChatService.count ( );
csFeedbackVO.setChatCount (count);
return csFeedbackVO;
}).collect (Collectors.toList ( ));
returnpage.setRecords (collect);
return returnpage;
}
@Override
public CsFeedbackDetailVO queryFeedBackDetail(String id) {
CsFeedbackDetailVO csFeedbackDetailVO = new CsFeedbackDetailVO();
CsFeedbackPO byId = this.getById (id);
BeanUtils.copyProperties (byId, csFeedbackDetailVO);
QueryWrapper<CsFilePathPO> queryWrapper = new QueryWrapper();
queryWrapper.eq ("id", id).eq ("status", "1");
List<CsFilePathPO> list = csFilePathService.list (queryWrapper);
List<String> collect = list.stream ( ).map (CsFilePathPO::getFilePath).collect (Collectors.toList ( ));
csFeedbackDetailVO.setImageUrls (collect);
QueryWrapper<CsFeedbackChatPO> csFeedbackChatPOQueryWrapper = new QueryWrapper();
csFeedbackChatPOQueryWrapper.eq ("id", id).eq ("status", "1").orderByAsc ("create_time");
List<CsFeedbackChatPO> list1 = csFeedbackChatService.list (csFeedbackChatPOQueryWrapper);
csFeedbackDetailVO.setCsFeedbackChatPOList (list1);
return csFeedbackDetailVO;
}
}

View File

@@ -0,0 +1,20 @@
package com.njcn.algorithm.service.impl;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.njcn.algorithm.mapper.CsFilePathMapper;
import com.njcn.algorithm.pojo.po.CsFilePathPO;
import com.njcn.algorithm.service.CsFilePathService;
import org.springframework.stereotype.Service;
/**
*
* Description:
* 接口文档访问地址http://serverIP:port/swagger-ui.html
* Date: 2023/4/6 11:40【需求编号】
*
* @author clam
* @version V1.0.0
*/
@Service
public class CsFilePathServiceImpl extends ServiceImpl<CsFilePathMapper, CsFilePathPO> implements CsFilePathService{
}