heweichun hai 6 días
pai
achega
0610c8b042

+ 19 - 0
src/main/java/com/zhongzheng/bo/MemoCertRequest.java

@@ -1,5 +1,6 @@
 package com.zhongzheng.bo;
 
+import com.baomidou.mybatisplus.annotation.TableField;
 import io.swagger.annotations.ApiModel;
 import io.swagger.annotations.ApiModelProperty;
 import lombok.Data;
@@ -7,6 +8,8 @@ import org.springframework.web.multipart.MultipartFile;
 
 import javax.validation.constraints.NotNull;
 import javax.xml.soap.Text;
+import java.util.HashMap;
+import java.util.Map;
 
 /**
  * @author change
@@ -16,6 +19,11 @@ import javax.xml.soap.Text;
 @ApiModel("证书预警处理标识")
 public class MemoCertRequest {
 
+
+
+    @ApiModelProperty("自增ID")
+    private Long memoId;
+
     @ApiModelProperty("企业ID")
     private Long companyId;
 
@@ -33,4 +41,15 @@ public class MemoCertRequest {
 
     @ApiModelProperty("备忘录标题")
     private  String Title;
+
+    /** 分页大小 */
+    @ApiModelProperty("分页大小")
+    private Integer pageSize;
+
+    /** 当前页数 */
+    @ApiModelProperty("当前页数")
+    private Integer pageNum;
+
+
+    private Map<String, Object> params = new HashMap<>();
 }

+ 62 - 0
src/main/java/com/zhongzheng/bo/TaskBo.java

@@ -0,0 +1,62 @@
+package com.zhongzheng.bo;
+
+
+import cn.afterturn.easypoi.excel.annotation.Excel;
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+import java.io.Serializable;
+
+/**
+ * 用户对象 SysCertificateBo
+ *
+ * @author zhongzheng
+ */
+
+@Data
+@ApiModel("任务请求")
+public class TaskBo implements Serializable {
+
+    @ApiModelProperty("任务id")
+    private Long taskId;
+    @ApiModelProperty("任务名称")
+    private String taskName;
+
+    @ApiModelProperty("任务内容")
+    private String remark;
+
+    @ApiModelProperty("状态,1已处理,2取消")
+    private Integer status;
+
+    @ApiModelProperty("提醒时间(时间戳)")
+    private Long tipTime;
+
+    @ApiModelProperty("管理员ID")
+    private Long UserId;
+
+    @ApiModelProperty("阅读人")
+    private Long readUserId;
+
+    @ApiModelProperty("阅读时间")
+    private Long readTime;
+
+    @ApiModelProperty("阅读时间")
+    private Integer IsRead;
+
+    @ApiModelProperty("企业ID")
+    private Long companyId;
+
+
+    @ApiModelProperty("分页大小")
+    private Integer pageSize;
+    /** 当前页数 */
+    @ApiModelProperty("当前页数")
+    private Integer pageNum;
+
+
+
+
+
+
+}

+ 36 - 0
src/main/java/com/zhongzheng/controller/SysCompanyController.java

@@ -375,12 +375,48 @@ public class SysCompanyController extends BaseController {
     }
 
 
+    @ApiOperation("证书预警")
+    @GetMapping("/cert/certificate_warning")
+    public AjaxResult certificate_warning(SysCertificateBo model) {
 
+        LoginUser loginUser = tokenService.getLoginUser(ServletUtils.getRequest());
+        model.setUserId(loginUser.getUser().getUserId());
+        certService.CertificateWarning ();
+        return toAjax(1);
+    }
 
 
 
+    @ApiOperation("备忘录列表")
+    @PostMapping("/memo/list")
+    public TableDataInfo<Memo> memo_list(@RequestBody MemoCertRequest model) {
+        LoginUser loginUser = tokenService.getLoginUser(ServletUtils.getRequest());
+        model.setUserId(loginUser.getUser().getUserId());
+        return memoService.selectMemoList(model);
+    }
 
 
+    @ApiOperation("备忘录添加")
+    @PostMapping("/memo/add")
+    public AjaxResult memo_add(@RequestBody Memo model) {
+        LoginUser loginUser = tokenService.getLoginUser(ServletUtils.getRequest());
+        model.setUserId(loginUser.getUser().getUserId());
+        return toAjax(memoService.insertMemo(model) > 0 ? 1 : 0);
+    }
+    @ApiOperation("备忘录编辑")
+    @PostMapping("/memo/edit")
+    public AjaxResult memo_edit(@RequestBody MemoCertRequest model) {
+        LoginUser loginUser = tokenService.getLoginUser(ServletUtils.getRequest());
+        model.setUserId(loginUser.getUser().getUserId());
+        return toAjax(memoService.updateMemo(model,model.getUserId()) > 0 ? 1 : 0);
+    }
+
+    @ApiOperation("备忘录删除")
+    @PostMapping("/memo/del")
+    public AjaxResult memo_del(@RequestBody Integer id) {
+        LoginUser loginUser = tokenService.getLoginUser(ServletUtils.getRequest());
+        return toAjax(memoService.deleteMemoById(id,loginUser.getUser().getUserId() )?1 : 0);
+    }
 
 
 

+ 114 - 0
src/main/java/com/zhongzheng/controller/TaskController.java

@@ -0,0 +1,114 @@
+package com.zhongzheng.controller;
+
+
+import com.zhongzheng.bo.OssRequest;
+import com.zhongzheng.bo.TaskBo;
+import com.zhongzheng.common.croe.BaseController;
+import com.zhongzheng.common.croe.LoginUser;
+import com.zhongzheng.common.filter.CustomException;
+import com.zhongzheng.common.model.AjaxResult;
+import com.zhongzheng.common.model.ResultBean;
+import com.zhongzheng.common.model.TableDataInfo;
+import com.zhongzheng.common.model.TokenService;
+import com.zhongzheng.common.util.DateUtils;
+import com.zhongzheng.common.util.ServletUtils;
+import com.zhongzheng.domian.SysCompany;
+import com.zhongzheng.domian.SysCustomerSea;
+import com.zhongzheng.domian.SysTask;
+import com.zhongzheng.service.ISysTaskService;
+import com.zhongzheng.service.OssService;
+import io.swagger.annotations.Api;
+import io.swagger.annotations.ApiOperation;
+import lombok.RequiredArgsConstructor;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.validation.annotation.Validated;
+import org.springframework.web.bind.annotation.*;
+
+import javax.servlet.http.HttpServletRequest;
+
+/**
+ * 阿里OSS
+ *
+ * @author change
+ * @date 2026-06-15
+ */
+@Api(value = "任务管理")
+@RequiredArgsConstructor(onConstructor_ = @Autowired)
+@RestController
+@RequestMapping("/system/task")
+public class TaskController extends BaseController {
+
+    private final ISysTaskService taskService;
+
+    @Autowired
+    private TokenService tokenService;
+
+    @ApiOperation("任务列表")
+    @GetMapping("/list")
+    public TableDataInfo<SysTask> list(TaskBo model) {
+        LoginUser loginUser = tokenService.getLoginUser(ServletUtils.getRequest());
+        Long userId = loginUser.getUser().getUserId();
+        model.setUserId(userId);
+        return taskService.selectTaskList(model);
+    }
+
+    @ApiOperation("新增任务")
+    @PostMapping("/add")
+    public AjaxResult add(@Validated @RequestBody TaskBo model) {
+
+        LoginUser loginUser = tokenService.getLoginUser(ServletUtils.getRequest());
+        Long userId = loginUser.getUser().getUserId();
+        model.setUserId(userId);
+        return toAjax(taskService.insertTask(model) > 0 ? 1 : 0);
+    }
+
+    @ApiOperation("编辑任务")
+    @PostMapping("/edit")
+    public AjaxResult edit(@Validated @RequestBody TaskBo model) {
+
+        LoginUser loginUser = tokenService.getLoginUser(ServletUtils.getRequest());
+        Long userId = loginUser.getUser().getUserId();
+        model.setUserId(userId);
+        return toAjax(taskService.updateTask(model, model.getUserId()));
+    }
+
+
+    @ApiOperation("删除任务")
+    @PostMapping("/del")
+    public AjaxResult del(@Validated @RequestBody TaskBo entity) {
+
+        LoginUser loginUser = tokenService.getLoginUser(ServletUtils.getRequest());
+        Long userId = loginUser.getUser().getUserId();
+        return toAjax(taskService.deleteTaskById(entity.getTaskId(), userId));
+    }
+
+    @ApiOperation("任务处理")
+    @GetMapping("/handle")
+    public  AjaxResult handle() {
+        TaskBo model=new TaskBo();
+        model.setStatus(1);
+        taskService.handleTask(model);
+        return  toAjax(1);
+    }
+
+    @ApiOperation("阅读任务")
+    @PostMapping("/read")
+    public AjaxResult read(@Validated @RequestBody TaskBo model) {
+
+        LoginUser loginUser = tokenService.getLoginUser(ServletUtils.getRequest());
+        Long userId = loginUser.getUser().getUserId();
+        model.setReadTime(DateUtils.getNowTime());
+        model.setReadUserId(userId);
+        model.setIsRead(1);
+        model.setUserId(userId);
+        return toAjax(taskService.updateTask(model, model.getUserId()) > 0 ? 1 : 0);
+    }
+
+
+
+
+
+
+
+
+}

+ 8 - 0
src/main/java/com/zhongzheng/domian/Memo.java

@@ -90,6 +90,14 @@ public class Memo implements Serializable
      */
     private Long tenantId;
 
+
+    /**
+     * 公司名
+     */
+    @TableField(exist = false)
+    private  String companyName;
+
+
     /**
      * 证书类型
      */

+ 99 - 0
src/main/java/com/zhongzheng/domian/OrderCompany.java

@@ -0,0 +1,99 @@
+package com.zhongzheng.domian;
+
+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 io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+import lombok.NoArgsConstructor;
+import lombok.experimental.Accessors;
+
+import java.io.Serializable;
+import java.util.HashMap;
+import java.util.Map;
+
+/**
+ * 用户对象 sys_company
+ *
+ * @author zhongzheng
+ */
+
+@Data
+@NoArgsConstructor
+@Accessors(chain = true)
+@TableName(value ="order_company",autoResultMap = true)
+public class OrderCompany implements Serializable
+{
+    private static final long serialVersionUID = 1L;
+
+
+    /**
+     * 主键ID
+     */
+    @TableId(value = "order_companyId",type = IdType.AUTO)
+    private Long orderCompanyId;
+
+    /**
+     * 公司ID
+     */
+    private Long companyId;
+
+    /**
+     * 创建时间戳
+     */
+    private Long createTime;
+
+    /**
+     * 订单ID
+     */
+    private Integer orderId;
+
+    /**
+     * 用户ID
+     */
+    private Long userId;
+
+    /**
+     * 订单金额
+     */
+    private Double  orderPrice;
+
+    /**
+     * 租户ID
+     */
+    private Long tenantId;
+
+
+    /**
+     * 公司名
+     */
+    @TableField(exist = false)
+    private  String companyName;
+
+
+
+    /** 分页大小 */
+    @ApiModelProperty("分页大小")
+    @TableField(exist = false)
+    private Integer pageSize;
+
+    /** 当前页数 */
+    @ApiModelProperty("当前页数")
+    @TableField(exist = false)
+    private Integer pageNum;
+
+    /**
+     * 请求参数
+     */
+    @TableField(exist = false)
+    private Map<String, Object> params = new HashMap<>();
+
+
+
+
+
+
+
+
+}

+ 131 - 0
src/main/java/com/zhongzheng/domian/SysTask.java

@@ -0,0 +1,131 @@
+package com.zhongzheng.domian;
+
+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.zhongzheng.vo.MajorVo;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+import lombok.NoArgsConstructor;
+import lombok.experimental.Accessors;
+
+import java.io.Serializable;
+import java.util.HashMap;
+import java.util.Map;
+
+/**
+ * 用户对象 sys_company
+ *
+ * @author zhongzheng
+ */
+
+@Data
+@NoArgsConstructor
+@Accessors(chain = true)
+@TableName(value ="sys_task",autoResultMap = true)
+public class SysTask implements Serializable {
+    private static final long serialVersionUID = 1L;
+
+    /**
+     * 用户ID
+     */
+    @TableId(value = "task_id", type = IdType.AUTO)
+    private Long taskId;
+
+    /**
+     * 任务名称
+     */
+    private String taskName;
+
+    /**
+     * 任务内容
+     */
+    private String remark;
+
+    /**
+     * 创建时间(时间戳)
+     */
+    private Long createTime;
+
+    /**
+     * 机构ID
+     */
+    private Long tenantId;
+
+
+    /**
+     * 提醒时间(时间戳)
+     */
+    private Long tipTime;
+
+
+    /**
+     * 修改时间(时间戳)
+     */
+    private Long updateTime;
+
+    /**
+     * 创建人ID
+     */
+    private Long userId;
+
+    /**
+     * 客户ID
+     */
+    private Long companyId;
+
+    /**
+     * 状态:0待处理,1处理中,2已完成
+     */
+    private Integer status;
+
+    /**
+     * 删除标记:0正常 1删除
+     */
+    private Integer delFlag;
+
+    /**
+     * 是否阅读:0待阅读,1已阅读
+     */
+    private Integer isRead;
+
+    /**
+     * 阅读人ID
+     */
+    private Long readUserId;
+
+    /**
+     * 阅读时间(时间戳)
+     */
+    private Long readTime;
+
+
+    /**
+     * 客户名称
+     */
+    @TableField(exist = false)
+    private String companyName;
+
+    /**
+     * 分页大小
+     */
+    @ApiModelProperty("分页大小")
+    @TableField(exist = false)
+    private Integer pageSize;
+
+    /**
+     * 当前页数
+     */
+    @ApiModelProperty("当前页数")
+    @TableField(exist = false)
+    private Integer pageNum;
+
+    /**
+     * 请求参数
+     */
+    @TableField(exist = false)
+    private Map<String, Object> params = new HashMap<>();
+
+
+}

+ 19 - 0
src/main/java/com/zhongzheng/mapper/OrderCompanyMapper.java

@@ -0,0 +1,19 @@
+package com.zhongzheng.mapper;
+
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.zhongzheng.domian.OrderCompany;
+import com.zhongzheng.domian.SysTask;
+import org.apache.ibatis.annotations.Mapper;
+
+/**
+ * 字典表 数据层
+ *
+ * @author zhongzheng
+ */
+@Mapper
+public interface OrderCompanyMapper extends BaseMapper<OrderCompany> {
+
+
+
+}
+

+ 19 - 0
src/main/java/com/zhongzheng/mapper/SysTaskMapper.java

@@ -0,0 +1,19 @@
+package com.zhongzheng.mapper;
+
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.zhongzheng.domian.CertificateMajor;
+import com.zhongzheng.domian.SysTask;
+import org.apache.ibatis.annotations.Mapper;
+
+/**
+ * 字典表 数据层
+ *
+ * @author zhongzheng
+ */
+@Mapper
+public interface SysTaskMapper extends BaseMapper<SysTask> {
+
+
+
+}
+

+ 6 - 0
src/main/java/com/zhongzheng/service/IMemoService.java

@@ -6,6 +6,7 @@ import com.zhongzheng.bo.SysCertificateBo;
 import com.zhongzheng.common.model.TableDataInfo;
 import com.zhongzheng.domian.CertificateMajor;
 import com.zhongzheng.domian.Memo;
+import com.zhongzheng.domian.SysPerson;
 
 /**
  * 菜单 业务层
@@ -18,6 +19,11 @@ public interface IMemoService extends IService<Memo> {
 
     public  Integer insertMemoByWarning(MemoCertRequest entity);
 
+    public TableDataInfo<Memo> selectMemoList(MemoCertRequest entity);
+
+    public boolean deleteMemoById(long id,long userid);
+
+    public int updateMemo(MemoCertRequest entity,long userid);
 
 }
 

+ 24 - 0
src/main/java/com/zhongzheng/service/IOrderCompanyService.java

@@ -0,0 +1,24 @@
+package com.zhongzheng.service;
+
+import com.baomidou.mybatisplus.extension.service.IService;
+import com.zhongzheng.bo.MemoCertRequest;
+import com.zhongzheng.common.model.TableDataInfo;
+import com.zhongzheng.domian.Memo;
+import com.zhongzheng.domian.OrderCompany;
+
+/**
+ * 菜单 业务层
+ *
+ * @author zhongzheng
+ */
+public interface IOrderCompanyService extends IService<OrderCompany> {
+
+    public  long insertOrderCompany(OrderCompany entity);
+    public  long insertOrderCompany(long userId,long companyId,Integer orderId,double orderPrice);
+
+    public TableDataInfo<OrderCompany> selectOrderCompanyList(OrderCompany entity);
+
+
+}
+
+

+ 43 - 0
src/main/java/com/zhongzheng/service/ISysTaskService.java

@@ -0,0 +1,43 @@
+package com.zhongzheng.service;
+
+import com.baomidou.mybatisplus.extension.service.IService;
+import com.zhongzheng.bo.ImportPersonBo;
+import com.zhongzheng.bo.TaskBo;
+import com.zhongzheng.common.model.TableDataInfo;
+import com.zhongzheng.domian.SysPerson;
+import com.zhongzheng.domian.SysTask;
+
+import java.util.List;
+import java.util.Map;
+
+/**
+ * 菜单 业务层
+ *
+ * @author zhongzheng
+ */
+public interface ISysTaskService extends IService<SysTask> {
+
+    /**
+     * 员工列表
+     * @param entity  条件
+     * @return
+     */
+    public TableDataInfo<SysTask> selectTaskList(TaskBo entity);
+
+
+    public  SysTask selectTaskById(Long id,Long userId);
+
+
+    public  long insertTask(TaskBo entity);
+
+
+    public int updateTask(TaskBo entity,long userid);
+
+    public boolean deleteTaskById(long id,long userid);
+
+    public  void  handleTask(TaskBo model);
+
+
+
+
+}

+ 79 - 3
src/main/java/com/zhongzheng/service/impl/MemoServiceImpl.java

@@ -1,23 +1,27 @@
 package com.zhongzheng.service.impl;
 
+import cn.hutool.core.util.ObjectUtil;
 import cn.hutool.http.HttpStatus;
 import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
 import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
 import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.baomidou.mybatisplus.core.toolkit.ObjectUtils;
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
 import com.zhongzheng.bo.MemoCertRequest;
+import com.zhongzheng.bo.TaskBo;
 import com.zhongzheng.common.filter.CustomException;
 import com.zhongzheng.common.model.TableDataInfo;
 import com.zhongzheng.common.util.DateUtils;
-import com.zhongzheng.domian.CertificateMajor;
-import com.zhongzheng.domian.Memo;
-import com.zhongzheng.domian.SysCertificateType;
+import com.zhongzheng.domian.*;
 import com.zhongzheng.mapper.*;
 import com.zhongzheng.service.*;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 
+import java.util.List;
+import java.util.stream.Collectors;
+
 /**
  * 菜单 业务层处理
  *
@@ -33,6 +37,9 @@ public class MemoServiceImpl extends ServiceImpl<MemoMapper, Memo> implements IM
     @Autowired
     private ISysCertificateService sysCertSeaService;
 
+    @Autowired
+    private ISysCompanyService  sysCompanyService;
+
     @Autowired
     private ISysCertificateAdditionService certadditionService;
 
@@ -72,4 +79,73 @@ public class MemoServiceImpl extends ServiceImpl<MemoMapper, Memo> implements IM
         return i;
 
     }
+
+
+    @Override
+    public TableDataInfo<Memo> selectMemoList(MemoCertRequest entity) {
+        if (ObjectUtil.isEmpty(entity.getPageSize()) || entity.getPageSize() < 1) {
+            entity.setPageSize(-1);
+            entity.setPageNum(1);
+        }
+        TableDataInfo<Memo> info = new TableDataInfo<>();
+        LambdaQueryWrapper<Memo> queryWrapper = new LambdaQueryWrapper<>();
+        queryWrapper.eq(Memo::getStatus, 1);
+
+        queryWrapper.eq(Memo::getUserId, entity.getUserId());
+
+        queryWrapper.eq(ObjectUtils.isNotNull(entity.getTitle()), Memo::getTitle, entity.getTitle());
+        Page<Memo> page = page(new Page<>(entity.getPageNum(), entity.getPageSize()), queryWrapper);
+
+        if (page != null && page.getRecords().size() > 0) {
+            List<Memo> resultList = page.getRecords().stream()
+                    .filter(s -> s.getCompanyId() != null && entity.getCompanyId() > 0)
+                    .collect(Collectors.toList());
+            if (resultList.size() > 0) {
+
+                List<Long> cids = resultList.stream().map(Memo::getCompanyId).collect(Collectors.toList());
+
+                List<SysCompany> clist = sysCompanyService.list(new LambdaUpdateWrapper<SysCompany>()
+                        .in(SysCompany::getCompanyId, cids));
+                if (clist.size() > 0) {
+                    page.getRecords().forEach(c -> {
+
+                        SysCompany sysCompany = clist.stream().filter(s -> s.getCompanyId().equals(c.getCompanyId())).findFirst().orElse(null);
+                        if (sysCompany != null) {
+                            c.setCompanyName(sysCompany.getCompanyName());
+
+                        }
+                    });
+                }
+
+
+            }
+        }
+        info.setRows(page.getRecords());
+        info.setTotal(page.getTotal());
+        info.setCode(HttpStatus.HTTP_OK);
+        info.setMsg("查询成功");
+        return info;
+    }
+
+
+
+    @Override
+    public boolean deleteMemoById(long id, long userid) {
+
+        Memo entity = new Memo();
+        entity.setMemoId(id);
+        entity.setStatus(-1);
+        entity.setUpdateTime(DateUtils.getNowTime());
+        return memoMapper.updateById(entity) > 0;
+    }
+
+    @Override
+    public int updateMemo(MemoCertRequest entity, long userid) {
+        Memo m = new Memo();
+        m.setMemoId(entity.getMemoId());
+        m.setTitle(entity.getTitle());
+        m.setContent(entity.getContent());
+        m.setStatus(1);
+        return memoMapper.updateById(m);
+    }
 }

+ 124 - 0
src/main/java/com/zhongzheng/service/impl/OrderCompanyServiceImpl.java

@@ -0,0 +1,124 @@
+package com.zhongzheng.service.impl;
+
+import cn.hutool.core.util.ObjectUtil;
+import cn.hutool.http.HttpStatus;
+import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
+import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
+import com.baomidou.mybatisplus.core.toolkit.ObjectUtils;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.zhongzheng.bo.TaskBo;
+import com.zhongzheng.common.filter.CustomException;
+import com.zhongzheng.common.model.TableDataInfo;
+import com.zhongzheng.common.util.DateUtils;
+import com.zhongzheng.domian.OrderCompany;
+import com.zhongzheng.domian.SysCompany;
+import com.zhongzheng.domian.SysTask;
+import com.zhongzheng.mapper.OrderCompanyMapper;
+import com.zhongzheng.mapper.SysCustomerSeaMapper;
+import com.zhongzheng.mapper.SysTaskMapper;
+import com.zhongzheng.service.IOrderCompanyService;
+import com.zhongzheng.service.ISysCompanyService;
+import com.zhongzheng.service.ISysCustomerSeaService;
+import com.zhongzheng.service.ISysTaskService;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Service;
+
+import java.util.List;
+import java.util.stream.Collectors;
+
+/**
+ * 菜单 业务层处理
+ *
+ * @author zhongzheng
+ */
+@Service
+public class OrderCompanyServiceImpl extends ServiceImpl<OrderCompanyMapper, OrderCompany> implements IOrderCompanyService {
+    public static final String PREMISSION_STRING = "perms[\"{0}\"]";
+
+    @Autowired
+    private OrderCompanyMapper orderCompanyMapper;
+
+    @Autowired
+    private ISysCustomerSeaService sysCustomerSeaService;
+
+    @Autowired
+    private ISysCompanyService sysCompanyService;
+
+    private SysCustomerSeaMapper customerSeaMapper;
+
+
+    private final Object lock = new Object();
+
+    private  Integer count=0;
+
+
+    @Override
+    public long insertOrderCompany(OrderCompany entity) {
+        OrderCompany company= getOne( new LambdaQueryWrapper<OrderCompany>().eq(OrderCompany::getCompanyId,entity.getCompanyId()).last("limit 1"));
+        if(company==null) {
+            company = new OrderCompany();
+            company.setCompanyId(entity.getCompanyId());
+            company.setOrderPrice(entity.getOrderPrice());
+            company.setUserId(entity.getUserId());
+            company.setCreateTime(DateUtils.getNowTime());
+            return orderCompanyMapper.insert(company);
+
+        }
+        return 0;
+    }
+
+    @Override
+    public long insertOrderCompany(long userId, long companyId, Integer orderId, double orderPrice) {
+        OrderCompany c=new OrderCompany();
+        c.setUserId(userId);
+        c.setCompanyId(companyId);
+        c.setOrderPrice(orderPrice);
+        c.setOrderId(orderId);
+        c.setCreateTime(DateUtils.getNowTime());
+       return insertOrderCompany(c);
+    }
+
+    @Override
+    public TableDataInfo<OrderCompany> selectOrderCompanyList(OrderCompany entity) {
+        if (ObjectUtil.isEmpty(entity.getPageSize()) || entity.getPageSize() < 1) {
+            entity.setPageSize(-1);
+            entity.setPageNum(1);
+        }
+        TableDataInfo<OrderCompany> info = new TableDataInfo<>();
+        LambdaQueryWrapper<OrderCompany> queryWrapper = new LambdaQueryWrapper<>();
+        queryWrapper.eq(ObjectUtils.isNotNull(entity.getUserId()), OrderCompany::getUserId, entity.getUserId());
+        if(entity.getCompanyName()!=null&&!entity.getCompanyName().isEmpty())
+        {
+            SysCompany sysCompany = sysCompanyService.getOne(new LambdaQueryWrapper<SysCompany>().eq(SysCompany::getCompanyName, entity.getCompanyName()));
+            if(sysCompany==null)
+                return new TableDataInfo<OrderCompany>() ;
+            queryWrapper.eq(OrderCompany::getOrderCompanyId, entity.getCompanyId());
+        }
+        Page<OrderCompany> page = page(new Page<>(entity.getPageNum(), entity.getPageSize()), queryWrapper);
+        if (page != null && !page.getRecords().isEmpty()) {
+                List<Long> cids = page.getRecords().stream().map(OrderCompany::getCompanyId).collect(Collectors.toList());
+                List<SysCompany> clist = sysCompanyService.list(new LambdaUpdateWrapper<SysCompany>()
+                        .in(SysCompany::getCompanyId, cids));
+                if (clist.size() > 0) {
+                    page.getRecords().forEach(c -> {
+
+                        SysCompany sysCompany = clist.stream().filter(s -> s.getCompanyId().equals(c.getCompanyId())).findFirst().orElse(null);
+                        if (sysCompany != null) {
+                            c.setCompanyName(sysCompany.getCompanyName());
+                        }
+                    });
+                }
+        }
+        info.setRows(page.getRecords());
+        info.setTotal(page.getTotal());
+        info.setCode(HttpStatus.HTTP_OK);
+        info.setMsg("查询成功");
+        return info;
+    }
+
+
+
+
+
+}

+ 198 - 0
src/main/java/com/zhongzheng/service/impl/SysTaskServiceImpl.java

@@ -0,0 +1,198 @@
+package com.zhongzheng.service.impl;
+
+import cn.hutool.core.lang.Validator;
+import cn.hutool.core.util.ObjectUtil;
+import cn.hutool.http.HttpStatus;
+import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
+import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
+import com.baomidou.mybatisplus.core.toolkit.CollectionUtils;
+import com.baomidou.mybatisplus.core.toolkit.ObjectUtils;
+import com.baomidou.mybatisplus.core.toolkit.StringUtils;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.zhongzheng.bo.ImportPersonBo;
+import com.zhongzheng.bo.TaskBo;
+import com.zhongzheng.common.filter.CustomException;
+import com.zhongzheng.common.model.TableDataInfo;
+import com.zhongzheng.common.util.DateUtils;
+import com.zhongzheng.common.util.EncryptHandler;
+import com.zhongzheng.common.util.ServletUtils;
+import com.zhongzheng.domian.SysCertificateAddition;
+import com.zhongzheng.domian.SysCompany;
+import com.zhongzheng.domian.SysPerson;
+import com.zhongzheng.domian.SysTask;
+import com.zhongzheng.mapper.SysCustomerSeaMapper;
+import com.zhongzheng.mapper.SysPersonMapper;
+import com.zhongzheng.mapper.SysTaskMapper;
+import com.zhongzheng.service.ISysCompanyService;
+import com.zhongzheng.service.ISysCustomerSeaService;
+import com.zhongzheng.service.ISysPersonService;
+import com.zhongzheng.service.ISysTaskService;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Service;
+
+import java.text.ParseException;
+import java.text.SimpleDateFormat;
+import java.time.ZoneId;
+import java.util.ArrayList;
+import java.util.HashMap;
+import java.util.List;
+import java.util.Map;
+import java.util.stream.Collectors;
+
+/**
+ * 菜单 业务层处理
+ *
+ * @author zhongzheng
+ */
+@Service
+public class SysTaskServiceImpl extends ServiceImpl<SysTaskMapper, SysTask> implements ISysTaskService {
+    public static final String PREMISSION_STRING = "perms[\"{0}\"]";
+
+    @Autowired
+    private SysTaskMapper taskMapper;
+
+    @Autowired
+    private ISysCustomerSeaService sysCustomerSeaService;
+
+    @Autowired
+    private ISysCompanyService sysCompanyService;
+
+    private SysCustomerSeaMapper customerSeaMapper;
+
+
+    private final Object lock = new Object();
+
+    private  Integer count=0;
+
+
+    @Override
+    public TableDataInfo<SysTask> selectTaskList(TaskBo entity) {
+        if (ObjectUtil.isEmpty(entity.getPageSize()) || entity.getPageSize() < 1) {
+            entity.setPageSize(-1);
+            entity.setPageNum(1);
+        }
+        TableDataInfo<SysTask> info = new TableDataInfo<>();
+        LambdaQueryWrapper<SysTask> queryWrapper = new LambdaQueryWrapper<>();
+        queryWrapper.eq(SysTask::getDelFlag, 0);
+        if (entity.getStatus()!=null&&entity.getStatus() == 1) {
+            queryWrapper.eq(ObjectUtils.isNotNull(entity.getStatus()), SysTask::getStatus, 0);
+        } else if (entity.getStatus()!=null&&entity.getStatus() == 2) {
+            queryWrapper.eq(ObjectUtils.isNotNull(entity.getStatus()), SysTask::getStatus, 1);
+        }
+        queryWrapper.eq(ObjectUtils.isNotNull(entity.getUserId()), SysTask::getUserId, entity.getUserId());
+        queryWrapper.eq(ObjectUtils.isNotNull(entity.getTaskName()), SysTask::getTaskName, entity.getTaskName());
+        Page<SysTask> page = page(new Page<>(entity.getPageNum(), entity.getPageSize()), queryWrapper);
+        if (page != null && page.getRecords().size() > 0) {
+            List<SysTask> resultList = page.getRecords().stream()
+                    .filter(s -> s.getCompanyId() != null && s.getCompanyId() > 0)
+                    .collect(Collectors.toList());
+            if (resultList.size() > 0) {
+
+                List<Long> cids = resultList.stream().map(SysTask::getCompanyId).collect(Collectors.toList());
+
+                List<SysCompany> clist = sysCompanyService.list(new LambdaUpdateWrapper<SysCompany>()
+                        .in(SysCompany::getCompanyId, cids));
+                if (clist.size() > 0) {
+                    page.getRecords().forEach(c -> {
+
+                        SysCompany sysCompany = clist.stream().filter(s -> s.getCompanyId().equals(c.getCompanyId())).findFirst().orElse(null);
+                        if (sysCompany != null) {
+                            c.setCompanyName(sysCompany.getCompanyName());
+
+                        }
+                    });
+                }
+
+
+            }
+        }
+        info.setRows(page.getRecords());
+        info.setTotal(page.getTotal());
+        info.setCode(HttpStatus.HTTP_OK);
+        info.setMsg("查询成功");
+        return info;
+    }
+
+    @Override
+    public SysTask selectTaskById(Long id,Long userId) {
+        return getOne(new LambdaUpdateWrapper<SysTask>().eq(SysTask::getTaskId,id).eq(SysTask::getUserId,userId) ) ;
+
+    }
+
+    @Override
+    public long insertTask(TaskBo entity) {
+        SysTask sysTask = new SysTask();
+        sysTask.setTaskName(entity.getTaskName());
+        sysTask.setUserId(entity.getUserId());
+        sysTask.setDelFlag(0);
+        sysTask.setCreateTime(DateUtils.getNowTime());
+        sysTask.setStatus(0);
+        sysTask.setCompanyId(entity.getCompanyId());
+        sysTask.setRemark(entity.getRemark());
+        sysTask.setTipTime(entity.getTipTime());
+        return taskMapper.insert(sysTask);
+
+
+    }
+
+    @Override
+    public int updateTask(TaskBo entity, long userid) {
+        SysTask sysTask = new SysTask();
+        sysTask.setTaskName(entity.getTaskName());
+        sysTask.setTaskId(entity.getTaskId());
+        sysTask.setRemark(entity.getRemark());
+        sysTask.setTipTime(entity.getTipTime());
+        sysTask.setUpdateTime(DateUtils.getNowTime());
+
+        if(entity.getIsRead()!=null&&entity.getIsRead()==1) {
+            sysTask.setIsRead(1);
+            sysTask.setReadTime(DateUtils.getNowTime());
+
+            sysTask.setReadUserId(userid);
+
+        }
+        return taskMapper.updateById(sysTask);
+    }
+
+    @Override
+    public boolean deleteTaskById(long id, long userid) {
+        SysTask sysTask = new SysTask();
+        sysTask.setDelFlag(1);
+        sysTask.setTaskId(id);
+
+        return taskMapper.updateById(sysTask)>0;
+    }
+
+    @Override
+    public void handleTask(TaskBo model) {
+
+
+        synchronized (lock) { // 自定义锁对象
+
+            try {
+                if(count<=0) {
+                    count=1;
+                    TableDataInfo<SysTask> info = selectTaskList(model);
+                    info.getRows().stream().forEach(task -> {
+                        if(task.getStatus()!=null&&task.getStatus()==0&&task.getTipTime()>=DateUtils.getNowTime()) {
+                            task.setStatus(1);
+                            task.setUpdateTime(DateUtils.getNowTime());
+                            taskMapper.updateById(task);
+                        }
+
+                    });
+                    count=0;
+                }
+
+            }catch (Exception ex)
+            {
+                count=0;
+                throw new CustomException("任务处理异常了:"+ex.getMessage());
+            }
+
+
+        }
+
+    }
+}