Browse Source

站内信, 整改, 过期

master
DX 3 weeks ago
parent
commit
f23ed176e5
  1. 2
      yudao-module-system/yudao-module-system-api/src/main/java/cn/iocoder/yudao/module/system/enums/ErrorCodeConstants.java
  2. 95
      yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/controller/admin/airqualitycollection/QualityCollectionController.java
  3. 61
      yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/controller/admin/airqualitycollection/vo/QualityCollectionPageReqVO.java
  4. 78
      yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/controller/admin/airqualitycollection/vo/QualityCollectionRespVO.java
  5. 53
      yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/controller/admin/airqualitycollection/vo/QualityCollectionSaveReqVO.java
  6. 10
      yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/controller/admin/notify/NotifyMessageController.java
  7. 5
      yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/controller/admin/notify/vo/message/NotifyMessagePageReqVO.java
  8. 13
      yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/controller/admin/notify/vo/message/NotifyMessageTypeCountVO.java
  9. 26
      yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/controller/admin/taskinfo/TaskInfoController.java
  10. 85
      yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/dal/dataobject/airqualitycollection/QualityCollectionDO.java
  11. 3
      yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/dal/dataobject/notify/NotifyMessageDO.java
  12. 39
      yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/dal/mysql/airqualitycollection/QualityCollectionMapper.java
  13. 8
      yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/dal/mysql/notify/NotifyMessageMapper.java
  14. 2
      yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/job/QualificationTimeOutSendStartMessageJob.java
  15. 22
      yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/job/TaskSendStartMessageJob.java
  16. 56
      yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/service/airqualitycollection/QualityCollectionService.java
  17. 75
      yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/service/airqualitycollection/QualityCollectionServiceImpl.java
  18. 3
      yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/service/notify/NotifyMessageService.java
  19. 11
      yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/service/notify/NotifyMessageServiceImpl.java
  20. 20
      yudao-module-system/yudao-module-system-biz/src/main/resources/mapper/notifyMessage/NotifyMessage.xml

2
yudao-module-system/yudao-module-system-api/src/main/java/cn/iocoder/yudao/module/system/enums/ErrorCodeConstants.java

@ -213,4 +213,6 @@ public interface ErrorCodeConstants {
ErrorCode POLICY_NOT_EXISTS = new ErrorCode(1-003-006-001, "政策法规不存在");
ErrorCode JOB_INFO_NOT_EXISTS = new ErrorCode(1-003-007-001, "工作汇报不存在");
ErrorCode QUALITY_COLLECTION_NOT_EXISTS = new ErrorCode(1-004-000-000, "这条数据不存在");
}

95
yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/controller/admin/airqualitycollection/QualityCollectionController.java

@ -0,0 +1,95 @@
package cn.iocoder.yudao.module.system.controller.admin.airqualitycollection;
import org.springframework.web.bind.annotation.*;
import org.springframework.validation.annotation.Validated;
import org.springframework.security.access.prepost.PreAuthorize;
import io.swagger.v3.oas.annotations.tags.Tag;
import io.swagger.v3.oas.annotations.Parameter;
import io.swagger.v3.oas.annotations.Operation;
import java.util.*;
import java.io.IOException;
import cn.iocoder.yudao.framework.common.pojo.PageParam;
import cn.iocoder.yudao.framework.common.pojo.PageResult;
import cn.iocoder.yudao.framework.common.pojo.CommonResult;
import cn.iocoder.yudao.framework.common.util.object.BeanUtils;
import static cn.iocoder.yudao.framework.common.pojo.CommonResult.success;
import cn.iocoder.yudao.framework.excel.core.util.ExcelUtils;
import cn.iocoder.yudao.framework.apilog.core.annotation.ApiAccessLog;
import static cn.iocoder.yudao.framework.apilog.core.enums.OperateTypeEnum.*;
import cn.iocoder.yudao.module.system.controller.admin.airqualitycollection.vo.*;
import cn.iocoder.yudao.module.system.dal.dataobject.airqualitycollection.QualityCollectionDO;
import cn.iocoder.yudao.module.system.service.airqualitycollection.QualityCollectionService;
import javax.annotation.Resource;
import javax.servlet.http.HttpServletResponse;
import javax.validation.Valid;
@Tag(name = "管理后台 - 空气质量采集")
@RestController
@RequestMapping("/system/quality-collection")
@Validated
public class QualityCollectionController {
@Resource
private QualityCollectionService qualityCollectionService;
@PostMapping("/create")
@Operation(summary = "创建空气质量采集")
@PreAuthorize("@ss.hasPermission('system:quality-collection:create')")
public CommonResult<Long> createQualityCollection(@Valid @RequestBody QualityCollectionSaveReqVO createReqVO) {
return success(qualityCollectionService.createQualityCollection(createReqVO));
}
@PutMapping("/update")
@Operation(summary = "更新空气质量采集")
@PreAuthorize("@ss.hasPermission('system:quality-collection:update')")
public CommonResult<Boolean> updateQualityCollection(@Valid @RequestBody QualityCollectionSaveReqVO updateReqVO) {
qualityCollectionService.updateQualityCollection(updateReqVO);
return success(true);
}
@DeleteMapping("/delete")
@Operation(summary = "删除空气质量采集")
@Parameter(name = "id", description = "编号", required = true)
@PreAuthorize("@ss.hasPermission('system:quality-collection:delete')")
public CommonResult<Boolean> deleteQualityCollection(@RequestParam("id") Long id) {
qualityCollectionService.deleteQualityCollection(id);
return success(true);
}
@GetMapping("/get")
@Operation(summary = "获得空气质量采集")
@Parameter(name = "id", description = "编号", required = true, example = "1024")
@PreAuthorize("@ss.hasPermission('system:quality-collection:query')")
public CommonResult<QualityCollectionRespVO> getQualityCollection(@RequestParam("id") Long id) {
QualityCollectionDO qualityCollection = qualityCollectionService.getQualityCollection(id);
return success(BeanUtils.toBean(qualityCollection, QualityCollectionRespVO.class));
}
@GetMapping("/page")
@Operation(summary = "获得空气质量采集分页")
@PreAuthorize("@ss.hasPermission('system:quality-collection:query')")
public CommonResult<PageResult<QualityCollectionRespVO>> getQualityCollectionPage(@Valid QualityCollectionPageReqVO pageReqVO) {
PageResult<QualityCollectionDO> pageResult = qualityCollectionService.getQualityCollectionPage(pageReqVO);
return success(BeanUtils.toBean(pageResult, QualityCollectionRespVO.class));
}
@GetMapping("/export-excel")
@Operation(summary = "导出空气质量采集 Excel")
@PreAuthorize("@ss.hasPermission('system:quality-collection:export')")
@ApiAccessLog(operateType = EXPORT)
public void exportQualityCollectionExcel(@Valid QualityCollectionPageReqVO pageReqVO,
HttpServletResponse response) throws IOException {
pageReqVO.setPageSize(PageParam.PAGE_SIZE_NONE);
List<QualityCollectionDO> list = qualityCollectionService.getQualityCollectionPage(pageReqVO).getList();
// 导出 Excel
ExcelUtils.write(response, "空气质量采集.xls", "数据", QualityCollectionRespVO.class,
BeanUtils.toBean(list, QualityCollectionRespVO.class));
}
}

61
yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/controller/admin/airqualitycollection/vo/QualityCollectionPageReqVO.java

@ -0,0 +1,61 @@
package cn.iocoder.yudao.module.system.controller.admin.airqualitycollection.vo;
import lombok.*;
import java.util.*;
import io.swagger.v3.oas.annotations.media.Schema;
import cn.iocoder.yudao.framework.common.pojo.PageParam;
import org.springframework.format.annotation.DateTimeFormat;
import java.time.LocalDateTime;
import static cn.iocoder.yudao.framework.common.util.date.DateUtils.FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND;
@Schema(description = "管理后台 - 空气质量采集分页 Request VO")
@Data
@EqualsAndHashCode(callSuper = true)
@ToString(callSuper = true)
public class QualityCollectionPageReqVO extends PageParam {
@Schema(description = "站点名称", example = "赵六")
private String siteName;
@Schema(description = "城市")
private String city;
@Schema(description = "数据类型", example = "2")
private Long type;
@Schema(description = "PM2.s(ugim3)")
private Double pm25;
@Schema(description = "PMo(ug/m3")
private Double pm10;
@Schema(description = "sOz(ug/m3)")
private Double so2;
@Schema(description = "NOz(ug/m3)")
private Double no2;
@Schema(description = "NO(Hg/m3)")
private Double no;
@Schema(description = "NOx(Hg/m3)")
private Double nOx;
@Schema(description = "CO(mg/m3)")
private Double co;
@Schema(description = "0з(ug/m3)")
private Double o3;
@Schema(description = "备用1", example = "你猜")
private String remark;
@Schema(description = "备用2")
private String remark2;
@Schema(description = "创建时间")
@DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND)
private LocalDateTime[] createTime;
}

78
yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/controller/admin/airqualitycollection/vo/QualityCollectionRespVO.java

@ -0,0 +1,78 @@
package cn.iocoder.yudao.module.system.controller.admin.airqualitycollection.vo;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.*;
import java.util.*;
import org.springframework.format.annotation.DateTimeFormat;
import java.time.LocalDateTime;
import com.alibaba.excel.annotation.*;
import cn.iocoder.yudao.framework.excel.core.annotations.DictFormat;
import cn.iocoder.yudao.framework.excel.core.convert.DictConvert;
@Schema(description = "管理后台 - 空气质量采集 Response VO")
@Data
@ExcelIgnoreUnannotated
public class QualityCollectionRespVO {
@Schema(description = "主键", requiredMode = Schema.RequiredMode.REQUIRED, example = "24697")
@ExcelProperty("主键")
private Long id;
@Schema(description = "站点名称", example = "赵六")
@ExcelProperty("站点名称")
private String siteName;
@Schema(description = "城市")
@ExcelProperty("城市")
private String city;
@Schema(description = "数据类型", example = "2")
@ExcelProperty(value = "数据类型", converter = DictConvert.class)
@DictFormat("air_collection_type") // TODO 代码优化:建议设置到对应的 DictTypeConstants 枚举类中
private Long type;
@Schema(description = "PM2.s(ugim3)")
@ExcelProperty("PM2.s(ugim3)")
private Double pm25;
@Schema(description = "PMo(ug/m3")
@ExcelProperty("PMo(ug/m3")
private Double pm10;
@Schema(description = "sOz(ug/m3)")
@ExcelProperty("sOz(ug/m3)")
private Double so2;
@Schema(description = "NOz(ug/m3)")
@ExcelProperty("NOz(ug/m3)")
private Double no2;
@Schema(description = "NO(Hg/m3)")
@ExcelProperty("NO(Hg/m3)")
private Double no;
@Schema(description = "NOx(Hg/m3)")
@ExcelProperty("NOx(Hg/m3)")
private Double nOx;
@Schema(description = "CO(mg/m3)")
@ExcelProperty("CO(mg/m3)")
private Double co;
@Schema(description = "0з(ug/m3)")
@ExcelProperty("0з(ug/m3)")
private Double o3;
@Schema(description = "备用1", example = "你猜")
@ExcelProperty("备用1")
private String remark;
@Schema(description = "备用2")
@ExcelProperty("备用2")
private String remark2;
@Schema(description = "创建时间", requiredMode = Schema.RequiredMode.REQUIRED)
@ExcelProperty("创建时间")
private LocalDateTime createTime;
}

53
yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/controller/admin/airqualitycollection/vo/QualityCollectionSaveReqVO.java

@ -0,0 +1,53 @@
package cn.iocoder.yudao.module.system.controller.admin.airqualitycollection.vo;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.*;
import java.util.*;
@Schema(description = "管理后台 - 空气质量采集新增/修改 Request VO")
@Data
public class QualityCollectionSaveReqVO {
@Schema(description = "主键", requiredMode = Schema.RequiredMode.REQUIRED, example = "24697")
private Long id;
@Schema(description = "站点名称", example = "赵六")
private String siteName;
@Schema(description = "城市")
private String city;
@Schema(description = "数据类型", example = "2")
private Long type;
@Schema(description = "PM2.s(ugim3)")
private Double pm25;
@Schema(description = "PMo(ug/m3")
private Double pm10;
@Schema(description = "sOz(ug/m3)")
private Double so2;
@Schema(description = "NOz(ug/m3)")
private Double no2;
@Schema(description = "NO(Hg/m3)")
private Double no;
@Schema(description = "NOx(Hg/m3)")
private Double nOx;
@Schema(description = "CO(mg/m3)")
private Double co;
@Schema(description = "0з(ug/m3)")
private Double o3;
@Schema(description = "备用1", example = "你猜")
private String remark;
@Schema(description = "备用2")
private String remark2;
}

10
yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/controller/admin/notify/NotifyMessageController.java

@ -5,9 +5,11 @@ import cn.iocoder.yudao.framework.common.enums.UserTypeEnum;
import cn.iocoder.yudao.framework.common.pojo.CommonResult;
import cn.iocoder.yudao.framework.common.pojo.PageResult;
import cn.iocoder.yudao.framework.common.util.object.BeanUtils;
import cn.iocoder.yudao.module.system.controller.admin.enterprise.vo.LabelValueVO;
import cn.iocoder.yudao.module.system.controller.admin.notify.vo.message.NotifyMessageMyPageReqVO;
import cn.iocoder.yudao.module.system.controller.admin.notify.vo.message.NotifyMessagePageReqVO;
import cn.iocoder.yudao.module.system.controller.admin.notify.vo.message.NotifyMessageRespVO;
import cn.iocoder.yudao.module.system.controller.admin.notify.vo.message.NotifyMessageTypeCountVO;
import cn.iocoder.yudao.module.system.dal.dataobject.notify.NotifyMessageDO;
import cn.iocoder.yudao.module.system.service.notify.NotifyMessageService;
import io.swagger.v3.oas.annotations.Operation;
@ -52,6 +54,14 @@ public class NotifyMessageController {
return success(BeanUtils.toBean(pageResult, NotifyMessageRespVO.class));
}
@GetMapping("/typeCount")
@Operation(summary = "获取通知公告类型统计")
// @PreAuthorize("@ss.hasPermission('system:notice:query')")
public CommonResult<List<LabelValueVO>> typeCount() {
return success(notifyMessageService.typeCount());
}
// ========== 查看自己的站内信 ==========
@GetMapping("/my-page")

5
yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/controller/admin/notify/vo/message/NotifyMessagePageReqVO.java

@ -29,6 +29,11 @@ public class NotifyMessagePageReqVO extends PageParam {
@Schema(description = "模版类型", example = "2")
private Integer templateType;
@Schema(description = "是否已读")
private Boolean readStatus;
private Long templateId;
@Schema(description = "创建时间")
@DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND)
private LocalDateTime[] createTime;

13
yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/controller/admin/notify/vo/message/NotifyMessageTypeCountVO.java

@ -0,0 +1,13 @@
package cn.iocoder.yudao.module.system.controller.admin.notify.vo.message;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableName;
import lombok.Data;
@TableName("system_notify_message")
@Data
public class NotifyMessageTypeCountVO {
private Long templateId;
@TableField(value = "count(*)")
private Long typeCount;
}

26
yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/controller/admin/taskinfo/TaskInfoController.java

@ -5,6 +5,7 @@ import cn.iocoder.yudao.framework.common.util.collection.CollectionUtils;
import cn.iocoder.yudao.framework.security.core.util.SecurityFrameworkUtils;
import cn.iocoder.yudao.module.infra.api.job.JobApi;
import cn.iocoder.yudao.module.system.controller.admin.enterprise.vo.EnterprisePageReqVO;
import cn.iocoder.yudao.module.system.controller.admin.enterprise.vo.LabelValueVO;
import cn.iocoder.yudao.module.system.controller.admin.enterpriseinspections.vo.EnterpriseInspectionsPageReqVO;
import cn.iocoder.yudao.module.system.controller.admin.enterpriseinspections.vo.EnterpriseInspectionsSaveReqVO;
import cn.iocoder.yudao.module.system.controller.admin.tasktag.vo.TaskTagPageReqVO;
@ -100,6 +101,7 @@ public class TaskInfoController {
if (eid == null || eid.isEmpty()) {
return success(false);
}
int del=enterpriseInspectionsService.deleteEnterpriseInspectionsTaskId(updateReqVO.getId());
EnterpriseInspectionsSaveReqVO enterpriseInspectionsSaveReqVO=new EnterpriseInspectionsSaveReqVO();
for(Long enterprise:eid) {
@ -143,6 +145,28 @@ public class TaskInfoController {
enterprisePageReqVO.setIds(longs);
List<EnterpriseDO> enterpriseIdes=enterpriseService.getEnterpriseList(enterprisePageReqVO);
TaskInfoRespVO bean = BeanUtils.toBean(taskInfo, TaskInfoRespVO.class);
if (enterpriseIdes != null && enterpriseIdes.size() > 0) {
enterpriseIdes.forEach(item->{
// 企业标签
final List<TagLibraryDO> tagLibraryDOS1 = tagLibraryService.listByEnterpriseId(item.getId());
if (tagLibraryDOS1 != null && tagLibraryDOS1.size() > 0) {
item.setTagList(tagLibraryDOS1.stream().map(item1->item1.getTagName()).collect(Collectors.toList()));
List<LabelValueVO> labelValueVOList = new ArrayList<>();
tagLibraryDOS1.forEach(tag->{
LabelValueVO labelValueVO = new LabelValueVO();
labelValueVO.setLabel(tag.getTagName());
labelValueVO.setValue(tag.getParentId());
labelValueVOList.add(labelValueVO);
});
item.setTagListName(labelValueVOList);
}
});
}
bean.setEnterpriseIdes(enterpriseIdes);
//获取任务标签
@ -150,6 +174,8 @@ public class TaskInfoController {
taskTagPageReqVO.setTaskId(taskInfo.getId());
List<TaskTagDO> taskTagides=taskTagService.getTaskTagList(taskTagPageReqVO);
//企业标签
List<Long> taglongs = CollectionUtils.convertList(enterpriseInspectionsides, EnterpriseInspectionsDO::getEnterpriseId);

85
yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/dal/dataobject/airqualitycollection/QualityCollectionDO.java

@ -0,0 +1,85 @@
package cn.iocoder.yudao.module.system.dal.dataobject.airqualitycollection;
import lombok.*;
import java.util.*;
import java.time.LocalDateTime;
import java.time.LocalDateTime;
import com.baomidou.mybatisplus.annotation.*;
import cn.iocoder.yudao.framework.mybatis.core.dataobject.BaseDO;
/**
* 空气质量采集 DO
*
* @author 芋道源码
*/
@TableName("air_quality_collection")
@KeySequence("air_quality_collection_seq") // 用于 Oracle、PostgreSQL、Kingbase、DB2、H2 数据库的主键自增。如果是 MySQL 等数据库,可不写。
@Data
@EqualsAndHashCode(callSuper = true)
@ToString(callSuper = true)
@Builder
@NoArgsConstructor
@AllArgsConstructor
public class QualityCollectionDO extends BaseDO {
/**
* 主键
*/
@TableId
private Long id;
/**
* 站点名称
*/
private String siteName;
/**
* 城市
*/
private String city;
/**
* 数据类型
*
* 枚举 {@link TODO air_collection_type 对应的类}
*/
private Long type;
/**
* PM2.s(ugim3)
*/
private Double pm25;
/**
* PMo(ug/m3
*/
private Double pm10;
/**
* sOz(ug/m3)
*/
private Double so2;
/**
* NOz(ug/m3)
*/
private Double no2;
/**
* NO(Hg/m3)
*/
private Double no;
/**
* NOx(Hg/m3)
*/
private Double nOx;
/**
* CO(mg/m3)
*/
private Double co;
/**
* (ug/m3)
*/
private Double o3;
/**
* 备用1
*/
private String remark;
/**
* 备用2
*/
private String remark2;
}

3
yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/dal/dataobject/notify/NotifyMessageDO.java

@ -98,4 +98,7 @@ public class NotifyMessageDO extends BaseDO {
*/
private LocalDateTime readTime;
@TableField(value = "count(*)", exist = false)
private Integer typeCount;
}

39
yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/dal/mysql/airqualitycollection/QualityCollectionMapper.java

@ -0,0 +1,39 @@
package cn.iocoder.yudao.module.system.dal.mysql.airqualitycollection;
import java.util.*;
import cn.iocoder.yudao.framework.common.pojo.PageResult;
import cn.iocoder.yudao.framework.mybatis.core.query.LambdaQueryWrapperX;
import cn.iocoder.yudao.framework.mybatis.core.mapper.BaseMapperX;
import cn.iocoder.yudao.module.system.dal.dataobject.airqualitycollection.QualityCollectionDO;
import org.apache.ibatis.annotations.Mapper;
import cn.iocoder.yudao.module.system.controller.admin.airqualitycollection.vo.*;
/**
* 空气质量采集 Mapper
*
* @author 芋道源码
*/
@Mapper
public interface QualityCollectionMapper extends BaseMapperX<QualityCollectionDO> {
default PageResult<QualityCollectionDO> selectPage(QualityCollectionPageReqVO reqVO) {
return selectPage(reqVO, new LambdaQueryWrapperX<QualityCollectionDO>()
.likeIfPresent(QualityCollectionDO::getSiteName, reqVO.getSiteName())
.eqIfPresent(QualityCollectionDO::getCity, reqVO.getCity())
.eqIfPresent(QualityCollectionDO::getType, reqVO.getType())
.eqIfPresent(QualityCollectionDO::getPm25, reqVO.getPm25())
.eqIfPresent(QualityCollectionDO::getPm10, reqVO.getPm10())
.eqIfPresent(QualityCollectionDO::getSo2, reqVO.getSo2())
.eqIfPresent(QualityCollectionDO::getNo2, reqVO.getNo2())
.eqIfPresent(QualityCollectionDO::getNo, reqVO.getNo())
.eqIfPresent(QualityCollectionDO::getNOx, reqVO.getNOx())
.eqIfPresent(QualityCollectionDO::getCo, reqVO.getCo())
.eqIfPresent(QualityCollectionDO::getO3, reqVO.getO3())
.eqIfPresent(QualityCollectionDO::getRemark, reqVO.getRemark())
.eqIfPresent(QualityCollectionDO::getRemark2, reqVO.getRemark2())
.betweenIfPresent(QualityCollectionDO::getCreateTime, reqVO.getCreateTime())
.orderByDesc(QualityCollectionDO::getId));
}
}

8
yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/dal/mysql/notify/NotifyMessageMapper.java

@ -4,6 +4,7 @@ import cn.iocoder.yudao.framework.common.pojo.PageResult;
import cn.iocoder.yudao.framework.mybatis.core.mapper.BaseMapperX;
import cn.iocoder.yudao.framework.mybatis.core.query.LambdaQueryWrapperX;
import cn.iocoder.yudao.framework.mybatis.core.query.QueryWrapperX;
import cn.iocoder.yudao.module.system.controller.admin.enterprise.vo.LabelValueVO;
import cn.iocoder.yudao.module.system.controller.admin.notify.vo.message.NotifyMessageMyPageReqVO;
import cn.iocoder.yudao.module.system.controller.admin.notify.vo.message.NotifyMessagePageReqVO;
import cn.iocoder.yudao.module.system.dal.dataobject.notify.NotifyMessageDO;
@ -20,10 +21,12 @@ public interface NotifyMessageMapper extends BaseMapperX<NotifyMessageDO> {
return selectPage(reqVO, new LambdaQueryWrapperX<NotifyMessageDO>()
.eqIfPresent(NotifyMessageDO::getUserId, reqVO.getUserId())
.eqIfPresent(NotifyMessageDO::getUserType, reqVO.getUserType())
.eqIfPresent(NotifyMessageDO::getTemplateId, reqVO.getTemplateId())
.likeIfPresent(NotifyMessageDO::getTemplateCode, reqVO.getTemplateCode())
.eqIfPresent(NotifyMessageDO::getTemplateType, reqVO.getTemplateType())
.eqIfPresent(NotifyMessageDO::getReadStatus, reqVO.getReadStatus())
.betweenIfPresent(NotifyMessageDO::getCreateTime, reqVO.getCreateTime())
.orderByDesc(NotifyMessageDO::getId));
.orderByDesc(NotifyMessageDO::getCreateTime));
}
default PageResult<NotifyMessageDO> selectPage(NotifyMessageMyPageReqVO reqVO, Long userId, Integer userType) {
@ -67,4 +70,7 @@ public interface NotifyMessageMapper extends BaseMapperX<NotifyMessageDO> {
.eq(NotifyMessageDO::getUserType, userType));
}
List<LabelValueVO> getTypeList(Long userId);
}

2
yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/job/QualificationTimeOutSendStartMessageJob.java

@ -62,7 +62,7 @@ public class QualificationTimeOutSendStartMessageJob implements JobHandler {
notifyMessage.setTemplateCode("qualification_expiry_date");
Map<String, Object> templateParams = new HashMap<>();
templateParams.put("title", item.getEnterpriseName());
templateParams.put("expiryDate", item.getExpiryDate());
templateParams.put("endTime", item.getExpiryDate());
notifyMessage.setTemplateParams(templateParams);
notifyMessageSendApi.sendSingleMessageToAdmin(notifyMessage);
}

22
yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/job/TaskSendStartMessageJob.java

@ -82,17 +82,17 @@ public class TaskSendStartMessageJob implements JobHandler {
List<EnterpriseInspectionsDO> list = new ArrayList<>();
for (EnterpriseInspectionsDO enterpriseInspectionsDO : enterpriseInspectionsDOList) {
//站内信发送通知
// NotifySendSingleToUserReqDTO notifyMessage = new NotifySendSingleToUserReqDTO();
// notifyMessage.setUserId(Long.valueOf(enterpriseInspectionsDO.getUserId()));
// notifyMessage.setTemplateCode("task_messages");
// Map<String, Object> templateParams = new HashMap<>();
// templateParams.put("title", beforeTaskInfo.getTitle());
// templateParams.put("startTime", DateUtil.format(beforeTaskInfo.getStartDate().atStartOfDay(), DateUtils.FORMAT_YEAR_MONTH_DAY));
// templateParams.put("endTime", DateUtil.format(beforeTaskInfo.getEndDate().atStartOfDay(), DateUtils.FORMAT_YEAR_MONTH_DAY) );
// templateParams.put("url", "sub/task/detail?taskId="+ enterpriseInspectionsDO.getTaskId());
//
// notifyMessage.setTemplateParams(templateParams);
// notifyMessageSendApi.sendSingleMessageToMember(notifyMessage);
NotifySendSingleToUserReqDTO notifyMessage = new NotifySendSingleToUserReqDTO();
notifyMessage.setUserId(Long.valueOf(enterpriseInspectionsDO.getUserId()));
notifyMessage.setTemplateCode("task_messages");
Map<String, Object> templateParams = new HashMap<>();
templateParams.put("title", beforeTaskInfo.getTitle());
templateParams.put("startTime", DateUtil.format(beforeTaskInfo.getStartDate().atStartOfDay(), DateUtils.FORMAT_YEAR_MONTH_DAY));
templateParams.put("endTime", DateUtil.format(beforeTaskInfo.getEndDate().atStartOfDay(), DateUtils.FORMAT_YEAR_MONTH_DAY) );
templateParams.put("url", "sub/task/detail?taskId="+ enterpriseInspectionsDO.getTaskId());
notifyMessage.setTemplateParams(templateParams);
notifyMessageSendApi.sendSingleMessageToMember(notifyMessage);
enterpriseInspectionsDO.setStatus(2);
list.add(enterpriseInspectionsDO);

56
yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/service/airqualitycollection/QualityCollectionService.java

@ -0,0 +1,56 @@
package cn.iocoder.yudao.module.system.service.airqualitycollection;
import java.util.*;
import cn.iocoder.yudao.module.system.controller.admin.airqualitycollection.vo.*;
import cn.iocoder.yudao.module.system.dal.dataobject.airqualitycollection.QualityCollectionDO;
import cn.iocoder.yudao.framework.common.pojo.PageResult;
import cn.iocoder.yudao.framework.common.pojo.PageParam;
import javax.validation.Valid;
/**
* 空气质量采集 Service 接口
*
* @author 芋道源码
*/
public interface QualityCollectionService {
/**
* 创建空气质量采集
*
* @param createReqVO 创建信息
* @return 编号
*/
Long createQualityCollection(@Valid QualityCollectionSaveReqVO createReqVO);
/**
* 更新空气质量采集
*
* @param updateReqVO 更新信息
*/
void updateQualityCollection(@Valid QualityCollectionSaveReqVO updateReqVO);
/**
* 删除空气质量采集
*
* @param id 编号
*/
void deleteQualityCollection(Long id);
/**
* 获得空气质量采集
*
* @param id 编号
* @return 空气质量采集
*/
QualityCollectionDO getQualityCollection(Long id);
/**
* 获得空气质量采集分页
*
* @param pageReqVO 分页查询
* @return 空气质量采集分页
*/
PageResult<QualityCollectionDO> getQualityCollectionPage(QualityCollectionPageReqVO pageReqVO);
}

75
yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/service/airqualitycollection/QualityCollectionServiceImpl.java

@ -0,0 +1,75 @@
package cn.iocoder.yudao.module.system.service.airqualitycollection;
import org.springframework.stereotype.Service;
import org.springframework.validation.annotation.Validated;
import org.springframework.transaction.annotation.Transactional;
import java.util.*;
import cn.iocoder.yudao.module.system.controller.admin.airqualitycollection.vo.*;
import cn.iocoder.yudao.module.system.dal.dataobject.airqualitycollection.QualityCollectionDO;
import cn.iocoder.yudao.framework.common.pojo.PageResult;
import cn.iocoder.yudao.framework.common.pojo.PageParam;
import cn.iocoder.yudao.framework.common.util.object.BeanUtils;
import cn.iocoder.yudao.module.system.dal.mysql.airqualitycollection.QualityCollectionMapper;
import javax.annotation.Resource;
import static cn.iocoder.yudao.framework.common.exception.util.ServiceExceptionUtil.exception;
import static cn.iocoder.yudao.module.system.enums.ErrorCodeConstants.*;
/**
* 空气质量采集 Service 实现类
*
* @author 芋道源码
*/
@Service
@Validated
public class QualityCollectionServiceImpl implements QualityCollectionService {
@Resource
private QualityCollectionMapper qualityCollectionMapper;
@Override
public Long createQualityCollection(QualityCollectionSaveReqVO createReqVO) {
// 插入
QualityCollectionDO qualityCollection = BeanUtils.toBean(createReqVO, QualityCollectionDO.class);
qualityCollectionMapper.insert(qualityCollection);
// 返回
return qualityCollection.getId();
}
@Override
public void updateQualityCollection(QualityCollectionSaveReqVO updateReqVO) {
// 校验存在
validateQualityCollectionExists(updateReqVO.getId());
// 更新
QualityCollectionDO updateObj = BeanUtils.toBean(updateReqVO, QualityCollectionDO.class);
qualityCollectionMapper.updateById(updateObj);
}
@Override
public void deleteQualityCollection(Long id) {
// 校验存在
validateQualityCollectionExists(id);
// 删除
qualityCollectionMapper.deleteById(id);
}
private void validateQualityCollectionExists(Long id) {
if (qualityCollectionMapper.selectById(id) == null) {
throw exception(QUALITY_COLLECTION_NOT_EXISTS);
}
}
@Override
public QualityCollectionDO getQualityCollection(Long id) {
return qualityCollectionMapper.selectById(id);
}
@Override
public PageResult<QualityCollectionDO> getQualityCollectionPage(QualityCollectionPageReqVO pageReqVO) {
return qualityCollectionMapper.selectPage(pageReqVO);
}
}

3
yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/service/notify/NotifyMessageService.java

@ -1,8 +1,10 @@
package cn.iocoder.yudao.module.system.service.notify;
import cn.iocoder.yudao.framework.common.pojo.PageResult;
import cn.iocoder.yudao.module.system.controller.admin.enterprise.vo.LabelValueVO;
import cn.iocoder.yudao.module.system.controller.admin.notify.vo.message.NotifyMessageMyPageReqVO;
import cn.iocoder.yudao.module.system.controller.admin.notify.vo.message.NotifyMessagePageReqVO;
import cn.iocoder.yudao.module.system.controller.admin.notify.vo.message.NotifyMessageTypeCountVO;
import cn.iocoder.yudao.module.system.dal.dataobject.notify.NotifyMessageDO;
import cn.iocoder.yudao.module.system.dal.dataobject.notify.NotifyTemplateDO;
@ -94,4 +96,5 @@ public interface NotifyMessageService {
*/
int updateAllNotifyMessageRead(Long userId, Integer userType);
List<LabelValueVO> typeCount();
}

11
yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/service/notify/NotifyMessageServiceImpl.java

@ -1,19 +1,25 @@
package cn.iocoder.yudao.module.system.service.notify;
import cn.iocoder.yudao.framework.common.pojo.PageResult;
import cn.iocoder.yudao.module.system.controller.admin.enterprise.vo.LabelValueVO;
import cn.iocoder.yudao.module.system.controller.admin.notify.vo.message.NotifyMessageMyPageReqVO;
import cn.iocoder.yudao.module.system.controller.admin.notify.vo.message.NotifyMessagePageReqVO;
import cn.iocoder.yudao.module.system.controller.admin.notify.vo.message.NotifyMessageTypeCountVO;
import cn.iocoder.yudao.module.system.dal.dataobject.notify.NotifyMessageDO;
import cn.iocoder.yudao.module.system.dal.dataobject.notify.NotifyTemplateDO;
import cn.iocoder.yudao.module.system.dal.mysql.notify.NotifyMessageMapper;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import org.springframework.stereotype.Service;
import org.springframework.validation.annotation.Validated;
import javax.annotation.Resource;
import java.util.ArrayList;
import java.util.Collection;
import java.util.List;
import java.util.Map;
import static cn.iocoder.yudao.framework.web.core.util.WebFrameworkUtils.getLoginUserId;
/**
* 站内信 Service 实现类
*
@ -72,4 +78,9 @@ public class NotifyMessageServiceImpl implements NotifyMessageService {
return notifyMessageMapper.updateListRead(userId, userType);
}
@Override
public List<LabelValueVO> typeCount() {
return notifyMessageMapper.getTypeList(getLoginUserId());
}
}

20
yudao-module-system/yudao-module-system-biz/src/main/resources/mapper/notifyMessage/NotifyMessage.xml

@ -0,0 +1,20 @@
<?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="cn.iocoder.yudao.module.system.dal.mysql.notify.NotifyMessageMapper">
<!--
一般情况下,尽可能使用 Mapper 进行 CRUD 增删改查即可。
无法满足的场景,例如说多表关联查询,才使用 XML 编写 SQL。
代码生成器暂时只生成 Mapper XML 文件本身,更多推荐 MybatisX 快速开发插件来生成查询。
文档可见:https://www.iocoder.cn/MyBatis/x-plugins/
-->
<select id="getTypeList"
resultType="cn.iocoder.yudao.module.system.controller.admin.enterprise.vo.LabelValueVO">
select count(*) as value, template_id as label
from system_notify_message
where deleted = 0 and user_id = #{userId}
group by template_id
</select>
</mapper>
Loading…
Cancel
Save