wanghongzhi 1 éve
szülő
commit
266a2df6b3
29 módosított fájl, 1030 hozzáadás és 13 törlés
  1. 0 1
      src/main/java/com/qdport/controller/PolicyCaseController.java
  2. 85 0
      src/main/java/com/qdport/controller/PolicyConditionController.java
  3. 85 0
      src/main/java/com/qdport/controller/PolicyLogController.java
  4. 83 0
      src/main/java/com/qdport/controller/PolicyMessageController.java
  5. 14 6
      src/main/java/com/qdport/controller/PolicyProgressController.java
  6. 8 4
      src/main/java/com/qdport/controller/PolicySystemController.java
  7. 52 0
      src/main/java/com/qdport/entity/PolicyCondition.java
  8. 55 0
      src/main/java/com/qdport/entity/PolicyLog.java
  9. 74 0
      src/main/java/com/qdport/entity/PolicyMessage.java
  10. 14 0
      src/main/java/com/qdport/mapper/PolicyConditionMapper.java
  11. 14 0
      src/main/java/com/qdport/mapper/PolicyLogMapper.java
  12. 14 0
      src/main/java/com/qdport/mapper/PolicyMessageMapper.java
  13. 21 0
      src/main/java/com/qdport/query/PolicyConditionQuery.java
  14. 21 0
      src/main/java/com/qdport/query/PolicyLogQuery.java
  15. 21 0
      src/main/java/com/qdport/query/PolicyMessageQuery.java
  16. 2 0
      src/main/java/com/qdport/query/PolicyProgressQuery.java
  17. 24 0
      src/main/java/com/qdport/service/PolicyConditionService.java
  18. 24 0
      src/main/java/com/qdport/service/PolicyLogService.java
  19. 24 0
      src/main/java/com/qdport/service/PolicyMessageService.java
  20. 64 0
      src/main/java/com/qdport/service/impl/PolicyConditionServiceImpl.java
  21. 63 0
      src/main/java/com/qdport/service/impl/PolicyLogServiceImpl.java
  22. 88 0
      src/main/java/com/qdport/service/impl/PolicyMessageServiceImpl.java
  23. 36 2
      src/main/java/com/qdport/service/impl/PolicySystemService.java
  24. 17 0
      src/main/java/com/qdport/vo/PolicyConditionVO.java
  25. 17 0
      src/main/java/com/qdport/vo/PolicyLogVO.java
  26. 17 0
      src/main/java/com/qdport/vo/PolicyMessageVO.java
  27. 31 0
      src/main/java/com/qdport/wrapper/PolicyConditionWrapper.java
  28. 31 0
      src/main/java/com/qdport/wrapper/PolicyLogWrapper.java
  29. 31 0
      src/main/java/com/qdport/wrapper/PolicyMessageWrapper.java

+ 0 - 1
src/main/java/com/qdport/controller/PolicyCaseController.java

@@ -32,7 +32,6 @@ import com.baomidou.mybatisplus.core.metadata.IPage;
 import javax.annotation.Resource;
 import javax.validation.Valid;
 import java.util.List;
-import java.util.Map;
 import java.util.concurrent.ExecutionException;
 
 /**

+ 85 - 0
src/main/java/com/qdport/controller/PolicyConditionController.java

@@ -0,0 +1,85 @@
+package com.qdport.controller;
+
+import lombok.AllArgsConstructor;
+import com.qdport.entity.PolicyCondition;
+import com.qdport.service.PolicyConditionService;
+import com.qdport.query.PolicyConditionQuery;
+import com.qdport.vo.PolicyConditionVO;
+import com.qdport.wrapper.PolicyConditionWrapper;
+import org.springframework.web.bind.annotation.*;
+import io.swagger.annotations.Api;
+import io.swagger.annotations.ApiOperation;
+import io.swagger.annotations.ApiParam;
+import com.qdport.core.tool.api.R;
+import com.qdport.core.tool.utils.Func;
+import com.qdport.core.boot.ctrl.QdportController;
+import com.baomidou.mybatisplus.core.metadata.IPage;
+
+import javax.annotation.Resource;
+import javax.validation.Valid;
+import java.util.List;
+
+/**
+ * 系统配置
+ *
+ * @author yuheng
+ * @since 1.0.0 2024-10-28
+ */
+@RestController
+@RequestMapping("qdport-zcgx/condition")
+@Api(value = "系统配置", tags = "系统配置")
+public class PolicyConditionController extends QdportController {
+    @Resource
+    private PolicyConditionService policyConditionService;
+
+    /**
+     * 分页
+     */
+    @GetMapping("page")
+    @ApiOperation(value = "分页", notes = "分页")
+    public R<IPage<PolicyConditionVO>> page(@Valid PolicyConditionQuery query) {
+        IPage<PolicyConditionVO> page = policyConditionService.page(query);
+
+        return R.data(page);
+    }
+
+    /**
+     * 详情
+     */
+    @GetMapping("{id}")
+    @ApiOperation(value = "详情", notes = "id")
+    public R<PolicyConditionVO> get(@PathVariable("id") String id) {
+        PolicyCondition entity = policyConditionService.getById(id);
+        return R.data(PolicyConditionWrapper.build().entityVO(entity));
+    }
+
+    /**
+     * 新增
+     */
+    @PostMapping("/save")
+    @ApiOperation(value = "新增", notes = "传入PolicyCondition")
+    public R save(@RequestBody PolicyConditionVO vo) {
+        policyConditionService.save(vo);
+        return R.success("保存成功");
+    }
+
+    /**
+     * 修改
+     */
+    @PostMapping("/update")
+    public R update(@RequestBody @Valid PolicyConditionVO vo) {
+        policyConditionService.update(vo);
+        return R.success("更新成功");
+    }
+
+    /**
+     * 删除
+     */
+    @PostMapping("/remove")
+    @ApiOperation(value = "逻辑删除", notes = "传入ids")
+    public R delete(@ApiParam(value = "主键集合", required = true) @RequestParam(name = "ids") String ids) {
+        List<String> idList = Func.toStrList(ids);
+        policyConditionService.delete(idList);
+        return R.success("删除成功");
+    }
+}

+ 85 - 0
src/main/java/com/qdport/controller/PolicyLogController.java

@@ -0,0 +1,85 @@
+package com.qdport.controller;
+
+import lombok.AllArgsConstructor;
+import com.qdport.entity.PolicyLog;
+import com.qdport.service.PolicyLogService;
+import com.qdport.query.PolicyLogQuery;
+import com.qdport.vo.PolicyLogVO;
+import com.qdport.wrapper.PolicyLogWrapper;
+import org.springframework.web.bind.annotation.*;
+import io.swagger.annotations.Api;
+import io.swagger.annotations.ApiOperation;
+import io.swagger.annotations.ApiParam;
+import com.qdport.core.tool.api.R;
+import com.qdport.core.tool.utils.Func;
+import com.qdport.core.boot.ctrl.QdportController;
+import com.baomidou.mybatisplus.core.metadata.IPage;
+
+import javax.annotation.Resource;
+import javax.validation.Valid;
+import java.util.List;
+
+/**
+ * 日志管理
+ *
+ * @author yuheng
+ * @since 1.0.0 2024-10-28
+ */
+@RestController
+@RequestMapping("qdport-zcgx/log")
+@Api(value = "日志管理", tags = "日志管理")
+public class PolicyLogController extends QdportController {
+    @Resource
+    private PolicyLogService policyLogService;
+
+    /**
+     * 分页
+     */
+    @GetMapping("page")
+    @ApiOperation(value = "分页", notes = "分页")
+    public R<IPage<PolicyLogVO>> page(@Valid PolicyLogQuery query) {
+        IPage<PolicyLogVO> page = policyLogService.page(query);
+
+        return R.data(page);
+    }
+
+    /**
+     * 详情
+     */
+    @GetMapping("{id}")
+    @ApiOperation(value = "详情", notes = "id")
+    public R<PolicyLogVO> get(@PathVariable("id") String id) {
+        PolicyLog entity = policyLogService.getById(id);
+        return R.data(PolicyLogWrapper.build().entityVO(entity));
+    }
+
+    /**
+     * 新增
+     */
+    @PostMapping("/save")
+    @ApiOperation(value = "新增", notes = "传入PolicyLog")
+    public R save(@RequestBody PolicyLogVO vo) {
+        policyLogService.save(vo);
+        return R.success("保存成功");
+    }
+
+    /**
+     * 修改
+     */
+    @PostMapping("/update")
+    public R update(@RequestBody @Valid PolicyLogVO vo) {
+        policyLogService.update(vo);
+        return R.success("更新成功");
+    }
+
+    /**
+     * 删除
+     */
+    @PostMapping("/remove")
+    @ApiOperation(value = "逻辑删除", notes = "传入ids")
+    public R delete(@ApiParam(value = "主键集合", required = true) @RequestParam(name = "ids") String ids) {
+        List<String> idList = Func.toStrList(ids);
+        policyLogService.delete(idList);
+        return R.success("删除成功");
+    }
+}

+ 83 - 0
src/main/java/com/qdport/controller/PolicyMessageController.java

@@ -0,0 +1,83 @@
+package com.qdport.controller;
+
+import com.qdport.entity.PolicyMessage;
+import com.qdport.service.PolicyMessageService;
+import com.qdport.query.PolicyMessageQuery;
+import com.qdport.vo.PolicyMessageVO;
+import com.qdport.wrapper.PolicyMessageWrapper;
+import org.springframework.web.bind.annotation.*;
+import io.swagger.annotations.Api;
+import io.swagger.annotations.ApiOperation;
+import io.swagger.annotations.ApiParam;
+import com.qdport.core.tool.api.R;
+import com.qdport.core.tool.utils.Func;
+import com.qdport.core.boot.ctrl.QdportController;
+import com.baomidou.mybatisplus.core.metadata.IPage;
+
+import javax.annotation.Resource;
+import javax.validation.Valid;
+import java.util.List;
+
+/**
+ * 留言管理
+ *
+ * @author yuheng
+ * @since 1.0.0 2024-10-28
+ */
+@RestController
+@RequestMapping("qdport-zcgx/message")
+@Api(value = "留言管理", tags = "留言管理")
+public class PolicyMessageController extends QdportController {
+    @Resource
+    private PolicyMessageService policyMessageService;
+
+    /**
+     * 分页
+     */
+    @GetMapping("page")
+    @ApiOperation(value = "分页", notes = "分页")
+    public R<IPage<PolicyMessageVO>> page(@Valid PolicyMessageQuery query) {
+        IPage<PolicyMessageVO> page = policyMessageService.page(query);
+        return R.data(page);
+    }
+
+    /**
+     * 详情
+     */
+    @GetMapping("{id}")
+    @ApiOperation(value = "详情", notes = "id")
+    public R<PolicyMessageVO> get(@PathVariable("id") String id) {
+        PolicyMessage entity = policyMessageService.getById(id);
+        return R.data(PolicyMessageWrapper.build().entityVO(entity));
+    }
+
+    /**
+     * 新增
+     */
+    @PostMapping("/save")
+    @ApiOperation(value = "新增", notes = "传入PolicyMessage")
+    public R save(@RequestBody PolicyMessageVO vo) {
+        policyMessageService.save(vo);
+        return R.success("保存成功");
+    }
+
+    /**
+     * 修改
+     */
+    @PostMapping("/update")
+    public R update(@RequestBody @Valid PolicyMessageVO vo) {
+        policyMessageService.update(vo);
+        return R.success("更新成功");
+    }
+
+    /**
+     * 删除
+     */
+    @PostMapping("/remove")
+    @ApiOperation(value = "逻辑删除", notes = "传入ids")
+    public R delete(@ApiParam(value = "主键集合", required = true) @RequestParam(name = "ids") String ids) {
+        List<String> idList = Func.toStrList(ids);
+        policyMessageService.delete(idList);
+        return R.success("删除成功");
+    }
+}

+ 14 - 6
src/main/java/com/qdport/controller/PolicyProgressController.java

@@ -5,6 +5,7 @@ import com.baomidou.mybatisplus.core.metadata.IPage;
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import com.qdport.core.boot.ctrl.QdportController;
 import com.qdport.core.tool.api.R;
+import com.qdport.entity.PolicyShare;
 import com.qdport.modules.system.entity.SysDept;
 import com.qdport.modules.system.service.SysDeptService;
 import com.qdport.query.PolicyProgressQuery;
@@ -44,18 +45,25 @@ public class PolicyProgressController extends QdportController {
             throw new RuntimeException("参数错误");
         }
 
-        if (StringUtil.isNotEmpty(query.getIsCreate())) {
-
-        }
-
-
         page = sysDeptService.page(page, wrapper);
         List<SysDept> records = page.getRecords();
 
         List<PolicyProgressVo> progressVoList = new ArrayList<>();
         for (SysDept model : records) {
-
+            QueryWrapper<PolicyShare> policyShareWrapper = new QueryWrapper<>();
+            policyShareWrapper.eq("COMPANY_ID", model.getId());
+            policyShareWrapper.lt("CREATE_TIME", query.getEndCreateTime());
+            policyShareWrapper.gt("CREATE_TIME", query.getBeginCreateTime());
+            policyShareService.getOne(policyShareWrapper);
         }
         return null;
     }
+
+    @GetMapping("strivePage")
+    @ApiOperation(value = "分页", notes = "分页")
+    public R<IPage> strivePage(@Valid PolicyProgressQuery query) {
+
+
+        return null;
+    }
 }

+ 8 - 4
src/main/java/com/qdport/controller/PolicySystemController.java

@@ -9,13 +9,11 @@ import com.qdport.vo.PolicyProgressVo;
 import io.swagger.annotations.Api;
 import io.swagger.annotations.ApiOperation;
 import lombok.AllArgsConstructor;
-import org.springframework.web.bind.annotation.GetMapping;
-import org.springframework.web.bind.annotation.PathVariable;
-import org.springframework.web.bind.annotation.RequestMapping;
-import org.springframework.web.bind.annotation.RestController;
+import org.springframework.web.bind.annotation.*;
 
 import javax.annotation.Resource;
 import javax.validation.Valid;
+import java.util.List;
 import java.util.Map;
 
 @RestController
@@ -31,4 +29,10 @@ public class PolicySystemController {
         Map<String, String> result = policySystemService.getDeptNameAndCompanyName(deptId);
         return R.data(result);
     }
+
+    @GetMapping("getDeptList")
+    public R getDeptListByType(@Valid SysDept dept) {
+        List<SysDept> list = policySystemService.getDeptListByType(dept.getDeptType());
+        return R.data(list);
+    }
 }

+ 52 - 0
src/main/java/com/qdport/entity/PolicyCondition.java

@@ -0,0 +1,52 @@
+package com.qdport.entity;
+
+import com.fasterxml.jackson.annotation.JsonFormat;
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import com.baomidou.mybatisplus.annotation.*;
+import org.springframework.format.annotation.DateTimeFormat;
+
+import java.io.Serializable;
+import java.util.Date;
+
+/**
+ * 系统配置
+ *
+ * @author yuheng 
+ * @since 1.0.0 2024-10-28
+ */
+
+@Data
+@TableName("POLICY_CONDITION")
+@ApiModel(value = "PolicyCondition对象", description = "系统配置")
+public class PolicyCondition implements Serializable {
+	private static final long serialVersionUID = 1L;
+
+	@ApiModelProperty(value = "id")
+	@TableId(
+			value = "id",
+			type = IdType.ASSIGN_UUID
+	)
+	private String id;
+
+	@ApiModelProperty(value = "关联类型")
+	private String refType;
+
+	@ApiModelProperty(value = "政策等级")
+	private String zcLevel;
+
+	@DateTimeFormat(
+			pattern = "yyyy-MM-dd"
+	)
+	@JsonFormat(
+			pattern = "yyyy-MM-dd"
+	)
+	@ApiModelProperty(value = "应填报日期")
+	private Date ytbDate;
+
+	@ApiModelProperty(value = "备用字段")
+	private String otherCondition;
+
+}

+ 55 - 0
src/main/java/com/qdport/entity/PolicyLog.java

@@ -0,0 +1,55 @@
+package com.qdport.entity;
+
+import com.fasterxml.jackson.annotation.JsonFormat;
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import com.baomidou.mybatisplus.annotation.*;
+import org.springframework.format.annotation.DateTimeFormat;
+
+import java.io.Serializable;
+import java.util.Date;
+
+/**
+ * 日志管理
+ *
+ * @author yuheng 
+ * @since 1.0.0 2024-10-28
+ */
+
+@Data
+@TableName("POLICY_LOG")
+@ApiModel(value = "PolicyLog对象", description = "日志管理")
+public class PolicyLog implements Serializable {
+	private static final long serialVersionUID = 1L;
+
+	@ApiModelProperty(value = "id")
+	@TableId(
+			value = "id",
+			type = IdType.ASSIGN_UUID
+	)
+	private String id;
+
+	@ApiModelProperty(value = "操作人")
+	private String userName;
+
+	@ApiModelProperty(value = "操作名称")
+	private String operateName;
+
+	@ApiModelProperty(value = "创建时间")
+	@DateTimeFormat(
+			pattern = "yyyy-MM-dd HH:mm:ss"
+	)
+	@JsonFormat(
+			pattern = "yyyy-MM-dd HH:mm:ss"
+	)
+	private Date createTime;
+
+	@ApiModelProperty(value = "操作类型")
+	private String operateType;
+
+	@ApiModelProperty(value = "操作登录用户名")
+	private String loginName;
+
+}

+ 74 - 0
src/main/java/com/qdport/entity/PolicyMessage.java

@@ -0,0 +1,74 @@
+package com.qdport.entity;
+
+import com.fasterxml.jackson.annotation.JsonFormat;
+import com.fasterxml.jackson.databind.annotation.JsonSerialize;
+import com.fasterxml.jackson.databind.ser.std.ToStringSerializer;
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import com.baomidou.mybatisplus.annotation.*;
+import org.springframework.format.annotation.DateTimeFormat;
+
+import java.io.Serializable;
+import java.util.Date;
+
+/**
+ * 留言管理
+ *
+ * @author yuheng 
+ * @since 1.0.0 2024-10-28
+ */
+
+@Data
+@TableName("POLICY_MESSAGE")
+@ApiModel(value = "PolicyMessage对象", description = "留言管理")
+public class PolicyMessage implements Serializable {
+	private static final long serialVersionUID = 1L;
+
+	@ApiModelProperty(value = "id")
+	@TableId(
+			value = "id",
+			type = IdType.ASSIGN_UUID
+	)
+	private String id;
+
+	@ApiModelProperty(value = "关联类型")
+	private String refType;
+
+	@ApiModelProperty(value = "关联id")
+	private String refId;
+
+	@JsonSerialize(
+			using = ToStringSerializer.class
+	)
+	@ApiModelProperty(value = "创建人id")
+	private Long createId;
+
+	@ApiModelProperty(value = "创建人")
+	private String createName;
+
+	@JsonSerialize(
+			using = ToStringSerializer.class
+	)
+	@ApiModelProperty(value = "回复人id")
+	private Long replyId;
+
+	@ApiModelProperty(value = "回复人")
+	private String replyName;
+
+	@ApiModelProperty(value = "信息内容")
+	private String messageContent;
+
+	@DateTimeFormat(
+			pattern = "yyyy-MM-dd HH:mm:ss"
+	)
+	@JsonFormat(
+			pattern = "yyyy-MM-dd HH:mm:ss"
+	)
+	@ApiModelProperty(value = "创建时间")
+	private Date createTime;
+
+	@ApiModelProperty(value = "父id")
+	private String parentId;
+}

+ 14 - 0
src/main/java/com/qdport/mapper/PolicyConditionMapper.java

@@ -0,0 +1,14 @@
+package com.qdport.mapper;
+
+import com.qdport.entity.PolicyCondition;
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+
+/**
+* 系统配置
+*
+* @author yuheng 
+* @since 1.0.0 2024-10-28
+*/
+public interface PolicyConditionMapper extends BaseMapper<PolicyCondition> {
+
+}

+ 14 - 0
src/main/java/com/qdport/mapper/PolicyLogMapper.java

@@ -0,0 +1,14 @@
+package com.qdport.mapper;
+
+import com.qdport.entity.PolicyLog;
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+
+/**
+* 日志管理
+*
+* @author yuheng 
+* @since 1.0.0 2024-10-28
+*/
+public interface PolicyLogMapper extends BaseMapper<PolicyLog> {
+
+}

+ 14 - 0
src/main/java/com/qdport/mapper/PolicyMessageMapper.java

@@ -0,0 +1,14 @@
+package com.qdport.mapper;
+
+import com.qdport.entity.PolicyMessage;
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+
+/**
+* 留言管理
+*
+* @author yuheng 
+* @since 1.0.0 2024-10-28
+*/
+public interface PolicyMessageMapper extends BaseMapper<PolicyMessage> {
+
+}

+ 21 - 0
src/main/java/com/qdport/query/PolicyConditionQuery.java

@@ -0,0 +1,21 @@
+package com.qdport.query;
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+import java.io.Serializable;
+
+
+/**
+* 系统配置查询
+*
+* @author yuheng 
+* @since 1.0.0 2024-10-28
+*/
+@Data
+@ApiModel(value = "系统配置查询", description = "系统配置查询")
+public class PolicyConditionQuery implements Serializable {
+    @ApiModelProperty("分页参数当前页")
+    private Integer page=1;
+    @ApiModelProperty("分页参数页码大小")
+    private Integer size=20;
+}

+ 21 - 0
src/main/java/com/qdport/query/PolicyLogQuery.java

@@ -0,0 +1,21 @@
+package com.qdport.query;
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+import java.io.Serializable;
+
+
+/**
+* 日志管理查询
+*
+* @author yuheng 
+* @since 1.0.0 2024-10-28
+*/
+@Data
+@ApiModel(value = "日志管理查询", description = "日志管理查询")
+public class PolicyLogQuery implements Serializable {
+    @ApiModelProperty("分页参数当前页")
+    private Integer page=1;
+    @ApiModelProperty("分页参数页码大小")
+    private Integer size=20;
+}

+ 21 - 0
src/main/java/com/qdport/query/PolicyMessageQuery.java

@@ -0,0 +1,21 @@
+package com.qdport.query;
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+import java.io.Serializable;
+
+
+/**
+* 留言管理查询
+*
+* @author yuheng 
+* @since 1.0.0 2024-10-28
+*/
+@Data
+@ApiModel(value = "留言管理查询", description = "留言管理查询")
+public class PolicyMessageQuery implements Serializable {
+    @ApiModelProperty("分页参数当前页")
+    private Integer page=1;
+    @ApiModelProperty("分页参数页码大小")
+    private Integer size=20;
+}

+ 2 - 0
src/main/java/com/qdport/query/PolicyProgressQuery.java

@@ -36,6 +36,8 @@ public class PolicyProgressQuery implements Serializable {
 
     @Wrapper(value = Comparison.LIKE)
     private String name;
+    @Wrapper
+    private String id;
 
     private Integer isCreate;
     private Integer isDelay;

+ 24 - 0
src/main/java/com/qdport/service/PolicyConditionService.java

@@ -0,0 +1,24 @@
+package com.qdport.service;
+import com.baomidou.mybatisplus.extension.service.IService;
+import com.qdport.vo.PolicyConditionVO;
+import com.qdport.query.PolicyConditionQuery;
+import com.qdport.entity.PolicyCondition;
+import com.baomidou.mybatisplus.core.metadata.IPage;
+import java.util.List;
+
+/**
+ * 系统配置
+ *
+ * @author yuheng 
+ * @since 1.0.0 2024-10-28
+ */
+public interface PolicyConditionService  extends IService<PolicyCondition> {
+
+    IPage<PolicyConditionVO> page(PolicyConditionQuery query);
+
+    void save(PolicyConditionVO vo);
+
+    void update(PolicyConditionVO vo);
+
+    void delete(List<String> idList);
+}

+ 24 - 0
src/main/java/com/qdport/service/PolicyLogService.java

@@ -0,0 +1,24 @@
+package com.qdport.service;
+import com.baomidou.mybatisplus.extension.service.IService;
+import com.qdport.vo.PolicyLogVO;
+import com.qdport.query.PolicyLogQuery;
+import com.qdport.entity.PolicyLog;
+import com.baomidou.mybatisplus.core.metadata.IPage;
+import java.util.List;
+
+/**
+ * 日志管理
+ *
+ * @author yuheng 
+ * @since 1.0.0 2024-10-28
+ */
+public interface PolicyLogService  extends IService<PolicyLog> {
+
+    IPage<PolicyLogVO> page(PolicyLogQuery query);
+
+    void save(PolicyLogVO vo);
+
+    void update(PolicyLogVO vo);
+
+    void delete(List<String> idList);
+}

+ 24 - 0
src/main/java/com/qdport/service/PolicyMessageService.java

@@ -0,0 +1,24 @@
+package com.qdport.service;
+import com.baomidou.mybatisplus.extension.service.IService;
+import com.qdport.vo.PolicyMessageVO;
+import com.qdport.query.PolicyMessageQuery;
+import com.qdport.entity.PolicyMessage;
+import com.baomidou.mybatisplus.core.metadata.IPage;
+import java.util.List;
+
+/**
+ * 留言管理
+ *
+ * @author yuheng 
+ * @since 1.0.0 2024-10-28
+ */
+public interface PolicyMessageService  extends IService<PolicyMessage> {
+
+    IPage<PolicyMessageVO> page(PolicyMessageQuery query);
+
+    void save(PolicyMessageVO vo);
+
+    void update(PolicyMessageVO vo);
+
+    void delete(List<String> idList);
+}

+ 64 - 0
src/main/java/com/qdport/service/impl/PolicyConditionServiceImpl.java

@@ -0,0 +1,64 @@
+package com.qdport.service.impl;
+
+import com.baomidou.mybatisplus.core.toolkit.Wrappers;
+import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
+import com.baomidou.mybatisplus.core.metadata.IPage;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import lombok.AllArgsConstructor;
+import com.qdport.entity.PolicyCondition;
+import com.qdport.query.PolicyConditionQuery;
+import com.qdport.vo.PolicyConditionVO;
+import com.qdport.mapper.PolicyConditionMapper;
+import com.qdport.service.PolicyConditionService;
+import com.qdport.wrapper.PolicyConditionWrapper;
+import com.qdport.core.tool.utils.Func;
+import com.qdport.core.tool.utils.BeanUtil;
+import org.springframework.stereotype.Service;
+import org.springframework.transaction.annotation.Transactional;
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+
+import java.util.List;
+
+/**
+ * 系统配置
+ *
+ * @author yuheng 
+ * @since 1.0.0 2024-10-28
+ */
+@Service
+@AllArgsConstructor
+public class PolicyConditionServiceImpl extends ServiceImpl<PolicyConditionMapper, PolicyCondition> implements PolicyConditionService {
+
+    @Override
+    public IPage<PolicyConditionVO> page(PolicyConditionQuery query) {
+        IPage<PolicyCondition> page = new Page<>(query.getPage(), query.getSize());
+        page = baseMapper.selectPage(page, getWrapper(query));
+        return PolicyConditionWrapper.build().pageVO(page);
+    }
+
+    private LambdaQueryWrapper<PolicyCondition> getWrapper(PolicyConditionQuery query){
+        LambdaQueryWrapper<PolicyCondition> wrapper = Wrappers.lambdaQuery();
+        return wrapper;
+    }
+
+    @Override
+    public void save(PolicyConditionVO vo) {
+        PolicyCondition entity = BeanUtil.copy(vo,PolicyCondition.class);
+
+        baseMapper.insert(entity);
+    }
+
+    @Override
+    public void update(PolicyConditionVO vo) {
+        PolicyCondition entity = BeanUtil.copy(vo,PolicyCondition.class);
+
+        updateById(entity);
+    }
+
+    @Override
+    @Transactional(rollbackFor = Exception.class)
+    public void delete(List<String> idList) {
+        removeByIds(idList);
+    }
+
+}

+ 63 - 0
src/main/java/com/qdport/service/impl/PolicyLogServiceImpl.java

@@ -0,0 +1,63 @@
+package com.qdport.service.impl;
+
+import com.baomidou.mybatisplus.core.toolkit.Wrappers;
+import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
+import com.baomidou.mybatisplus.core.metadata.IPage;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import lombok.AllArgsConstructor;
+import com.qdport.entity.PolicyLog;
+import com.qdport.query.PolicyLogQuery;
+import com.qdport.vo.PolicyLogVO;
+import com.qdport.mapper.PolicyLogMapper;
+import com.qdport.service.PolicyLogService;
+import com.qdport.wrapper.PolicyLogWrapper;
+import com.qdport.core.tool.utils.BeanUtil;
+import org.springframework.stereotype.Service;
+import org.springframework.transaction.annotation.Transactional;
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+
+import java.util.List;
+
+/**
+ * 日志管理
+ *
+ * @author yuheng 
+ * @since 1.0.0 2024-10-28
+ */
+@Service
+@AllArgsConstructor
+public class PolicyLogServiceImpl extends ServiceImpl<PolicyLogMapper, PolicyLog> implements PolicyLogService {
+
+    @Override
+    public IPage<PolicyLogVO> page(PolicyLogQuery query) {
+        IPage<PolicyLog> page = new Page<>(query.getPage(), query.getSize());
+        page = baseMapper.selectPage(page, getWrapper(query));
+        return PolicyLogWrapper.build().pageVO(page);
+    }
+
+    private LambdaQueryWrapper<PolicyLog> getWrapper(PolicyLogQuery query){
+        LambdaQueryWrapper<PolicyLog> wrapper = Wrappers.lambdaQuery();
+        return wrapper;
+    }
+
+    @Override
+    public void save(PolicyLogVO vo) {
+        PolicyLog entity = BeanUtil.copy(vo,PolicyLog.class);
+
+        baseMapper.insert(entity);
+    }
+
+    @Override
+    public void update(PolicyLogVO vo) {
+        PolicyLog entity = BeanUtil.copy(vo,PolicyLog.class);
+
+        updateById(entity);
+    }
+
+    @Override
+    @Transactional(rollbackFor = Exception.class)
+    public void delete(List<String> idList) {
+        removeByIds(idList);
+    }
+
+}

+ 88 - 0
src/main/java/com/qdport/service/impl/PolicyMessageServiceImpl.java

@@ -0,0 +1,88 @@
+package com.qdport.service.impl;
+
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
+import com.baomidou.mybatisplus.core.toolkit.Wrappers;
+import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
+import com.baomidou.mybatisplus.core.metadata.IPage;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import lombok.AllArgsConstructor;
+import com.qdport.entity.PolicyMessage;
+import com.qdport.query.PolicyMessageQuery;
+import com.qdport.vo.PolicyMessageVO;
+import com.qdport.mapper.PolicyMessageMapper;
+import com.qdport.service.PolicyMessageService;
+import com.qdport.wrapper.PolicyMessageWrapper;
+import com.qdport.core.tool.utils.Func;
+import com.qdport.core.tool.utils.BeanUtil;
+import org.springframework.stereotype.Service;
+import org.springframework.transaction.annotation.Transactional;
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+
+import java.util.Date;
+import java.util.List;
+
+/**
+ * 留言管理
+ *
+ * @author yuheng
+ * @since 1.0.0 2024-10-28
+ */
+@Service
+@AllArgsConstructor
+public class PolicyMessageServiceImpl extends ServiceImpl<PolicyMessageMapper, PolicyMessage> implements PolicyMessageService {
+
+    @Override
+    public IPage<PolicyMessageVO> page(PolicyMessageQuery query) {
+        IPage<PolicyMessage> page = new Page<>(query.getPage(), query.getSize());
+        page = baseMapper.selectPage(page, getWrapper(query));
+        return PolicyMessageWrapper.build().pageVO(page);
+    }
+
+    private LambdaQueryWrapper<PolicyMessage> getWrapper(PolicyMessageQuery query) {
+        LambdaQueryWrapper<PolicyMessage> wrapper = Wrappers.lambdaQuery();
+        return wrapper;
+    }
+
+    @Override
+    public void save(PolicyMessageVO vo) {
+        PolicyMessage entity = BeanUtil.copy(vo, PolicyMessage.class);
+        vo.setCreateTime(new Date());
+        baseMapper.insert(entity);
+    }
+
+    @Override
+    public void update(PolicyMessageVO vo) {
+        PolicyMessage entity = BeanUtil.copy(vo, PolicyMessage.class);
+
+        updateById(entity);
+    }
+
+    @Override
+    @Transactional(rollbackFor = Exception.class)
+    public void delete(List<String> idList) {
+        for (String id : idList) {
+            PolicyMessage message = baseMapper.selectById(id);
+            removeById(message);
+
+            removeMessage(message);
+        }
+    }
+
+    private void removeMessage(PolicyMessage message){
+        QueryWrapper<PolicyMessage> queryWrapper = new QueryWrapper<>();
+        while (true) {
+            queryWrapper.eq("REPLY_ID", message.getId());
+            queryWrapper.eq("REF_TYPE", message.getRefType());
+            queryWrapper.eq("REF_ID", message.getRefId());
+            List<PolicyMessage> messageList = baseMapper.selectList(queryWrapper);
+            if (messageList.isEmpty()) {
+                break;
+            } else {
+                for (PolicyMessage model : messageList) {
+                    removeMessage(model);
+                }
+            }
+        }
+
+    }
+}

+ 36 - 2
src/main/java/com/qdport/service/impl/PolicySystemService.java

@@ -1,28 +1,34 @@
 package com.qdport.service.impl;
 
+import com.baomidou.mybatisplus.core.conditions.Wrapper;
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
+import com.baomidou.mybatisplus.core.toolkit.Wrappers;
 import com.qdport.enums.QDPortEnum;
 import com.qdport.modules.system.entity.SysDept;
+import com.qdport.modules.system.mapper.SysDeptMapper;
 import com.qdport.modules.system.service.SysDeptService;
 import lombok.AllArgsConstructor;
 import org.springframework.stereotype.Component;
 
 import javax.annotation.Resource;
 import java.util.HashMap;
+import java.util.List;
 import java.util.Map;
+import java.util.stream.Collectors;
 
 @Component
 public class PolicySystemService {
     @Resource
     private SysDeptService deptService;
 
-    public Map<String, String> getDeptNameAndCompanyName(String deptId){
+    public Map<String, String> getDeptNameAndCompanyName(String deptId) {
         Map<String, String> result = new HashMap<>();
         SysDept dept = deptService.getById(deptId);
         result.put("deptName", dept.getName());
         result.put("deptId", dept.getId());
         if (QDPortEnum.SYS_DEPT_TYPE_DEPT.getValue().equals(dept.getDeptType().toString())) {
             Long pid = dept.getParentId();
-            while (true){
+            while (true) {
                 SysDept pDept = deptService.getById(pid);
                 if (QDPortEnum.SYS_DEPT_TYPE_COMPANY.getValue().equals(pDept.getDeptType().toString())) {
                     result.put("companyName", pDept.getName());
@@ -37,4 +43,32 @@ public class PolicySystemService {
         }
         return result;
     }
+
+    public List<SysDept> getDeptListByType(Integer deptType) {
+        QueryWrapper<SysDept> deptWrapper = new QueryWrapper<>();
+        deptWrapper.eq("DEPT_TYPE", deptType);
+        deptWrapper.orderByAsc("PARENT_ID");
+        List<SysDept> list = deptService.list(deptWrapper);
+        return this.streamMethod(list);
+    }
+
+    private List<SysDept> streamMethod(List<SysDept> treeList) {
+        List<SysDept> list = (List) treeList.stream().filter((t) -> {
+            return t.getParentId() == 0L;
+        }).map((item) -> {
+            item.setChildren(this.streamGetChildren(item, treeList));
+            return item;
+        }).collect(Collectors.toList());
+        return list;
+    }
+
+    private List<SysDept> streamGetChildren(SysDept tree, List<SysDept> treeList) {
+        List<SysDept> list = (List) treeList.stream().filter((t) -> {
+            return t.getParentId().equals(Long.valueOf(tree.getId()));
+        }).map((item) -> {
+            item.setChildren(this.streamGetChildren(item, treeList));
+            return item;
+        }).collect(Collectors.toList());
+        return list;
+    }
 }

+ 17 - 0
src/main/java/com/qdport/vo/PolicyConditionVO.java

@@ -0,0 +1,17 @@
+package com.qdport.vo;
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+import com.qdport.entity.PolicyCondition;
+/**
+* 系统配置
+*
+* @author yuheng 
+* @since 1.0.0 2024-10-28
+*/
+@Data
+@EqualsAndHashCode(callSuper = true)
+public class PolicyConditionVO extends PolicyCondition {
+	private static final long serialVersionUID = 1L;
+
+
+}

+ 17 - 0
src/main/java/com/qdport/vo/PolicyLogVO.java

@@ -0,0 +1,17 @@
+package com.qdport.vo;
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+import com.qdport.entity.PolicyLog;
+/**
+* 日志管理
+*
+* @author yuheng 
+* @since 1.0.0 2024-10-28
+*/
+@Data
+@EqualsAndHashCode(callSuper = true)
+public class PolicyLogVO extends PolicyLog {
+	private static final long serialVersionUID = 1L;
+
+
+}

+ 17 - 0
src/main/java/com/qdport/vo/PolicyMessageVO.java

@@ -0,0 +1,17 @@
+package com.qdport.vo;
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+import com.qdport.entity.PolicyMessage;
+/**
+* 留言管理
+*
+* @author yuheng 
+* @since 1.0.0 2024-10-28
+*/
+@Data
+@EqualsAndHashCode(callSuper = true)
+public class PolicyMessageVO extends PolicyMessage {
+	private static final long serialVersionUID = 1L;
+
+
+}

+ 31 - 0
src/main/java/com/qdport/wrapper/PolicyConditionWrapper.java

@@ -0,0 +1,31 @@
+package com.qdport.wrapper;
+import com.qdport.core.mp.support.BaseEntityWrapper;
+import com.qdport.core.tool.utils.BeanUtil;
+import java.util.Objects;
+import com.qdport.vo.PolicyConditionVO;
+import com.qdport.entity.PolicyCondition;
+import lombok.Data;
+/**
+* 系统配置Wrapper
+*
+* @author yuheng 
+* @since 1.0.0 2024-10-28
+*/
+@Data
+public class PolicyConditionWrapper extends BaseEntityWrapper<PolicyCondition, PolicyConditionVO> {
+
+    public static PolicyConditionWrapper build() {
+        return new PolicyConditionWrapper();
+    }
+
+    @Override
+    public PolicyConditionVO entityVO(PolicyCondition entity) {
+        PolicyConditionVO vo = Objects.requireNonNull(BeanUtil.copy(entity, PolicyConditionVO.class));
+        //User createUser = UserCache.getUser(entity.getCreateUser());
+        //User updateUser = UserCache.getUser(entity.getUpdateUser());
+        //vo.setCreateUserName(createUser.getName());
+        //vo.setUpdateUserName(updateUser.getName());
+        return vo;
+    }
+
+}

+ 31 - 0
src/main/java/com/qdport/wrapper/PolicyLogWrapper.java

@@ -0,0 +1,31 @@
+package com.qdport.wrapper;
+import com.qdport.core.mp.support.BaseEntityWrapper;
+import com.qdport.core.tool.utils.BeanUtil;
+import java.util.Objects;
+import com.qdport.vo.PolicyLogVO;
+import com.qdport.entity.PolicyLog;
+import lombok.Data;
+/**
+* 日志管理Wrapper
+*
+* @author yuheng 
+* @since 1.0.0 2024-10-28
+*/
+@Data
+public class PolicyLogWrapper extends BaseEntityWrapper<PolicyLog, PolicyLogVO> {
+
+    public static PolicyLogWrapper build() {
+        return new PolicyLogWrapper();
+    }
+
+    @Override
+    public PolicyLogVO entityVO(PolicyLog entity) {
+        PolicyLogVO vo = Objects.requireNonNull(BeanUtil.copy(entity, PolicyLogVO.class));
+        //User createUser = UserCache.getUser(entity.getCreateUser());
+        //User updateUser = UserCache.getUser(entity.getUpdateUser());
+        //vo.setCreateUserName(createUser.getName());
+        //vo.setUpdateUserName(updateUser.getName());
+        return vo;
+    }
+
+}

+ 31 - 0
src/main/java/com/qdport/wrapper/PolicyMessageWrapper.java

@@ -0,0 +1,31 @@
+package com.qdport.wrapper;
+import com.qdport.core.mp.support.BaseEntityWrapper;
+import com.qdport.core.tool.utils.BeanUtil;
+import java.util.Objects;
+import com.qdport.vo.PolicyMessageVO;
+import com.qdport.entity.PolicyMessage;
+import lombok.Data;
+/**
+* 留言管理Wrapper
+*
+* @author yuheng 
+* @since 1.0.0 2024-10-28
+*/
+@Data
+public class PolicyMessageWrapper extends BaseEntityWrapper<PolicyMessage, PolicyMessageVO> {
+
+    public static PolicyMessageWrapper build() {
+        return new PolicyMessageWrapper();
+    }
+
+    @Override
+    public PolicyMessageVO entityVO(PolicyMessage entity) {
+        PolicyMessageVO vo = Objects.requireNonNull(BeanUtil.copy(entity, PolicyMessageVO.class));
+        //User createUser = UserCache.getUser(entity.getCreateUser());
+        //User updateUser = UserCache.getUser(entity.getUpdateUser());
+        //vo.setCreateUserName(createUser.getName());
+        //vo.setUpdateUserName(updateUser.getName());
+        return vo;
+    }
+
+}