Browse Source

暂提一波

dev
zxc 3 years ago
parent
commit
0ae7ee6567
  1. 116
      epmet-module/gov-issue/gov-issue-client/src/main/java/com/epmet/dto/IssueAttachmentDTO.java
  2. 32
      epmet-module/gov-issue/gov-issue-client/src/main/java/com/epmet/dto/IssueDTO.java
  3. 8
      epmet-module/gov-issue/gov-issue-server/src/main/java/com/epmet/controller/IssueController.java
  4. 16
      epmet-module/gov-issue/gov-issue-server/src/main/java/com/epmet/dao/IssueAttachmentDao.java
  5. 82
      epmet-module/gov-issue/gov-issue-server/src/main/java/com/epmet/entity/IssueAttachmentEntity.java
  6. 15
      epmet-module/gov-issue/gov-issue-server/src/main/java/com/epmet/entity/IssueEntity.java
  7. 78
      epmet-module/gov-issue/gov-issue-server/src/main/java/com/epmet/service/IssueAttachmentService.java
  8. 2
      epmet-module/gov-issue/gov-issue-server/src/main/java/com/epmet/service/IssueService.java
  9. 82
      epmet-module/gov-issue/gov-issue-server/src/main/java/com/epmet/service/impl/IssueAttachmentServiceImpl.java
  10. 91
      epmet-module/gov-issue/gov-issue-server/src/main/java/com/epmet/service/impl/IssueServiceImpl.java
  11. 4
      epmet-module/gov-issue/gov-issue-server/src/main/java/com/epmet/utils/ModuleConstants.java
  12. 30
      epmet-module/gov-issue/gov-issue-server/src/main/resources/db/migration/V0.0.18__alter_issue_type.sql
  13. 6
      epmet-module/gov-issue/gov-issue-server/src/main/resources/mapper/IssueAttachmentDao.xml

116
epmet-module/gov-issue/gov-issue-client/src/main/java/com/epmet/dto/IssueAttachmentDTO.java

@ -0,0 +1,116 @@
package com.epmet.dto;
import lombok.Data;
import java.io.Serializable;
import java.util.Date;
/**
* issue库附件表
*
* @author generator generator@elink-cn.com
* @since v1.0.0 2022-09-30
*/
@Data
public class IssueAttachmentDTO implements Serializable {
private static final long serialVersionUID = 1L;
/**
* 主键
*/
private String id;
/**
* 客户ID
*/
private String customerId;
/**
* 业务id
*/
private String businessId;
/**
* 议题issue
*/
private String attachTo;
/**
* 附件名
*/
private String name;
/**
* 文件格式JPGPNGPDFJPEGBMPMP4WMAM4AMP3DOCDOCXXLS
*/
private String format;
/**
* 附件类型图片 - image 视频 - video 语音 - voice 文档 - doc
*/
private String type;
/**
* 附件地址
*/
private String url;
/**
* 排序字段
*/
private Integer sort;
/**
* 附件状态审核中auditing
auto_passed: 自动通过
review结果不确定需要人工审核
block: 结果违规
rejected人工审核驳回;
approved人工审核通过
现在图片是同步审核的所以图片只有auto_passed一种状态
*/
private String status;
/**
* 失败原因
*/
private String reason;
/**
* 语音或视频时长,
*/
private Integer duration;
/**
* 删除标记 0未删除1已删除
*/
private String delFlag;
/**
* 乐观锁
*/
private Integer revision;
/**
* 创建人
*/
private String createdBy;
/**
* 创建时间
*/
private Date createdTime;
/**
* 更新人
*/
private String updatedBy;
/**
* 更新时间
*/
private Date updatedTime;
}

32
epmet-module/gov-issue/gov-issue-client/src/main/java/com/epmet/dto/IssueDTO.java

@ -19,8 +19,10 @@ package com.epmet.dto;
import lombok.Data; import lombok.Data;
import javax.validation.constraints.NotBlank;
import java.io.Serializable; import java.io.Serializable;
import java.util.Date; import java.util.Date;
import java.util.List;
/** /**
@ -34,6 +36,8 @@ public class IssueDTO implements Serializable {
private static final long serialVersionUID = 1L; private static final long serialVersionUID = 1L;
public interface IssueForm{}
/** /**
* 议题ID * 议题ID
*/ */
@ -67,12 +71,14 @@ public class IssueDTO implements Serializable {
/** /**
* 议题名称 最多20字 * 议题名称 最多20字
*/ */
private String issueTitle; @NotBlank(message = "issueTitle不能为空",groups = IssueForm.class)
private String issueTitle;
/** /**
* 建议 最多1000字 * 建议 最多1000字
*/ */
private String suggestion; @NotBlank(message = "suggestion不能为空",groups = IssueForm.class)
private String suggestion;
/** /**
* 客户ID * 客户ID
@ -82,7 +88,8 @@ public class IssueDTO implements Serializable {
/** /**
* 网格ID 居民端议题对应一个网格Id * 网格ID 居民端议题对应一个网格Id
*/ */
private String gridId; @NotBlank(message = "gridId不能为空",groups = IssueForm.class)
private String gridId;
/** /**
* 所属机关 数据权限-非必填11:22:33(agencyId)数据权限控制 * 所属机关 数据权限-非必填11:22:33(agencyId)数据权限控制
@ -160,4 +167,23 @@ public class IssueDTO implements Serializable {
private String projectId; private String projectId;
private String issueId; private String issueId;
/**
* 地址
*/
@NotBlank(message = "address不能为空",groups = IssueForm.class)
private String address;
/**
* 经度
*/
private String longitude;
/**
* 纬度
*/
private String latitude;
private String userId;
private List<IssueAttachmentDTO> attachmentList;
} }

8
epmet-module/gov-issue/gov-issue-server/src/main/java/com/epmet/controller/IssueController.java

@ -333,5 +333,13 @@ public class IssueController {
return new Result<Boolean>().ok(issueService.issueAuditReset(gridId)); return new Result<Boolean>().ok(issueService.issueAuditReset(gridId));
} }
@PostMapping("createIssue")
public Result createIssue(@LoginUser TokenDto tokenDto,@RequestBody IssueDTO formDTO){
formDTO.setUserId(tokenDto.getUserId());
formDTO.setCustomerId(tokenDto.getCustomerId());
issueService.createIssue(formDTO);
return new Result();
}
} }

16
epmet-module/gov-issue/gov-issue-server/src/main/java/com/epmet/dao/IssueAttachmentDao.java

@ -0,0 +1,16 @@
package com.epmet.dao;
import com.epmet.commons.mybatis.dao.BaseDao;
import com.epmet.entity.IssueAttachmentEntity;
import org.apache.ibatis.annotations.Mapper;
/**
* issue库附件表
*
* @author generator generator@elink-cn.com
* @since v1.0.0 2022-09-30
*/
@Mapper
public interface IssueAttachmentDao extends BaseDao<IssueAttachmentEntity> {
}

82
epmet-module/gov-issue/gov-issue-server/src/main/java/com/epmet/entity/IssueAttachmentEntity.java

@ -0,0 +1,82 @@
package com.epmet.entity;
import com.baomidou.mybatisplus.annotation.TableName;
import com.epmet.commons.mybatis.entity.BaseEpmetEntity;
import lombok.Data;
import lombok.EqualsAndHashCode;
/**
* issue库附件表
*
* @author generator generator@elink-cn.com
* @since v1.0.0 2022-09-30
*/
@Data
@EqualsAndHashCode(callSuper=false)
@TableName("issue_attachment")
public class IssueAttachmentEntity extends BaseEpmetEntity {
private static final long serialVersionUID = 1L;
/**
* 客户ID
*/
private String customerId;
/**
* 业务id
*/
private String businessId;
/**
* 议题issue
*/
private String attachTo;
/**
* 附件名
*/
private String name;
/**
* 文件格式JPGPNGPDFJPEGBMPMP4WMAM4AMP3DOCDOCXXLS
*/
private String format;
/**
* 附件类型图片 - image 视频 - video 语音 - voice 文档 - doc
*/
private String type;
/**
* 附件地址
*/
private String url;
/**
* 排序字段
*/
private Integer sort;
/**
* 附件状态审核中auditing
auto_passed: 自动通过
review结果不确定需要人工审核
block: 结果违规
rejected人工审核驳回;
approved人工审核通过
现在图片是同步审核的所以图片只有auto_passed一种状态
*/
private String status;
/**
* 失败原因
*/
private String reason;
/**
* 语音或视频时长,
*/
private Integer duration;
}

15
epmet-module/gov-issue/gov-issue-server/src/main/java/com/epmet/entity/IssueEntity.java

@ -112,4 +112,19 @@ public class IssueEntity extends BaseEpmetEntity {
*/ */
private Date closedTime; private Date closedTime;
/**
* 地址
*/
private String address;
/**
* 经度
*/
private String longitude;
/**
* 纬度
*/
private String latitude;
} }

78
epmet-module/gov-issue/gov-issue-server/src/main/java/com/epmet/service/IssueAttachmentService.java

@ -0,0 +1,78 @@
package com.epmet.service;
import com.epmet.commons.mybatis.service.BaseService;
import com.epmet.commons.tools.page.PageData;
import com.epmet.dto.IssueAttachmentDTO;
import com.epmet.entity.IssueAttachmentEntity;
import java.util.List;
import java.util.Map;
/**
* issue库附件表
*
* @author generator generator@elink-cn.com
* @since v1.0.0 2022-09-30
*/
public interface IssueAttachmentService extends BaseService<IssueAttachmentEntity> {
/**
* 默认分页
*
* @param params
* @return PageData<IssueAttachmentDTO>
* @author generator
* @date 2022-09-30
*/
PageData<IssueAttachmentDTO> page(Map<String, Object> params);
/**
* 默认查询
*
* @param params
* @return java.util.List<IssueAttachmentDTO>
* @author generator
* @date 2022-09-30
*/
List<IssueAttachmentDTO> list(Map<String, Object> params);
/**
* 单条查询
*
* @param id
* @return IssueAttachmentDTO
* @author generator
* @date 2022-09-30
*/
IssueAttachmentDTO get(String id);
/**
* 默认保存
*
* @param dto
* @return void
* @author generator
* @date 2022-09-30
*/
void save(IssueAttachmentDTO dto);
/**
* 默认更新
*
* @param dto
* @return void
* @author generator
* @date 2022-09-30
*/
void update(IssueAttachmentDTO dto);
/**
* 批量删除
*
* @param ids
* @return void
* @author generator
* @date 2022-09-30
*/
void delete(String[] ids);
}

2
epmet-module/gov-issue/gov-issue-server/src/main/java/com/epmet/service/IssueService.java

@ -384,4 +384,6 @@ public interface IssueService extends BaseService<IssueEntity> {
*/ */
Boolean issueAuditReset(String gridId); Boolean issueAuditReset(String gridId);
void createIssue(IssueDTO issueDTO);
} }

82
epmet-module/gov-issue/gov-issue-server/src/main/java/com/epmet/service/impl/IssueAttachmentServiceImpl.java

@ -0,0 +1,82 @@
package com.epmet.service.impl;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.epmet.commons.mybatis.service.impl.BaseServiceImpl;
import com.epmet.commons.tools.constant.FieldConstant;
import com.epmet.commons.tools.page.PageData;
import com.epmet.commons.tools.utils.ConvertUtils;
import com.epmet.dao.IssueAttachmentDao;
import com.epmet.dto.IssueAttachmentDTO;
import com.epmet.entity.IssueAttachmentEntity;
import com.epmet.service.IssueAttachmentService;
import org.apache.commons.lang3.StringUtils;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import java.util.Arrays;
import java.util.List;
import java.util.Map;
/**
* issue库附件表
*
* @author generator generator@elink-cn.com
* @since v1.0.0 2022-09-30
*/
@Service
public class IssueAttachmentServiceImpl extends BaseServiceImpl<IssueAttachmentDao, IssueAttachmentEntity> implements IssueAttachmentService {
@Override
public PageData<IssueAttachmentDTO> page(Map<String, Object> params) {
IPage<IssueAttachmentEntity> page = baseDao.selectPage(
getPage(params, FieldConstant.CREATED_TIME, false),
getWrapper(params)
);
return getPageData(page, IssueAttachmentDTO.class);
}
@Override
public List<IssueAttachmentDTO> list(Map<String, Object> params) {
List<IssueAttachmentEntity> entityList = baseDao.selectList(getWrapper(params));
return ConvertUtils.sourceToTarget(entityList, IssueAttachmentDTO.class);
}
private QueryWrapper<IssueAttachmentEntity> getWrapper(Map<String, Object> params){
String id = (String)params.get(FieldConstant.ID_HUMP);
QueryWrapper<IssueAttachmentEntity> wrapper = new QueryWrapper<>();
wrapper.eq(StringUtils.isNotBlank(id), FieldConstant.ID, id);
return wrapper;
}
@Override
public IssueAttachmentDTO get(String id) {
IssueAttachmentEntity entity = baseDao.selectById(id);
return ConvertUtils.sourceToTarget(entity, IssueAttachmentDTO.class);
}
@Override
@Transactional(rollbackFor = Exception.class)
public void save(IssueAttachmentDTO dto) {
IssueAttachmentEntity entity = ConvertUtils.sourceToTarget(dto, IssueAttachmentEntity.class);
insert(entity);
}
@Override
@Transactional(rollbackFor = Exception.class)
public void update(IssueAttachmentDTO dto) {
IssueAttachmentEntity entity = ConvertUtils.sourceToTarget(dto, IssueAttachmentEntity.class);
updateById(entity);
}
@Override
@Transactional(rollbackFor = Exception.class)
public void delete(String[] ids) {
// 逻辑删除(@TableLogic 注解)
baseDao.deleteBatchIds(Arrays.asList(ids));
}
}

91
epmet-module/gov-issue/gov-issue-server/src/main/java/com/epmet/service/impl/IssueServiceImpl.java

@ -17,7 +17,9 @@ import com.epmet.commons.tools.exception.EpmetErrorCode;
import com.epmet.commons.tools.exception.EpmetException; import com.epmet.commons.tools.exception.EpmetException;
import com.epmet.commons.tools.exception.RenException; import com.epmet.commons.tools.exception.RenException;
import com.epmet.commons.tools.page.PageData; import com.epmet.commons.tools.page.PageData;
import com.epmet.commons.tools.redis.common.CustomerOrgRedis;
import com.epmet.commons.tools.redis.common.CustomerStaffRedis; import com.epmet.commons.tools.redis.common.CustomerStaffRedis;
import com.epmet.commons.tools.redis.common.bean.GridInfoCache;
import com.epmet.commons.tools.scan.param.TextScanParamDTO; import com.epmet.commons.tools.scan.param.TextScanParamDTO;
import com.epmet.commons.tools.scan.param.TextTaskDTO; import com.epmet.commons.tools.scan.param.TextTaskDTO;
import com.epmet.commons.tools.scan.result.SyncScanResult; import com.epmet.commons.tools.scan.result.SyncScanResult;
@ -39,9 +41,7 @@ import com.epmet.dto.form.IssueAuditionFormDTO;
import com.epmet.dto.form.IssueShiftedFromTopicFormDTO; import com.epmet.dto.form.IssueShiftedFromTopicFormDTO;
import com.epmet.dto.form.*; import com.epmet.dto.form.*;
import com.epmet.dto.result.*; import com.epmet.dto.result.*;
import com.epmet.entity.IssueEntity; import com.epmet.entity.*;
import com.epmet.entity.IssueProcessEntity;
import com.epmet.entity.IssueProjectRelationEntity;
import com.epmet.feign.*; import com.epmet.feign.*;
import com.epmet.redis.GovIssueRedis; import com.epmet.redis.GovIssueRedis;
import com.epmet.redis.IssueVoteDetailRedis; import com.epmet.redis.IssueVoteDetailRedis;
@ -140,12 +140,16 @@ public class IssueServiceImpl extends BaseServiceImpl<IssueDao, IssueEntity> imp
private IssueVoteDetailService issueVoteDetailService; private IssueVoteDetailService issueVoteDetailService;
@Autowired @Autowired
private DistributedLock distributedLock; private DistributedLock distributedLock;
@Autowired
private IssueAttachmentService issueAttachmentService;
@Value("${openapi.scan.server.url}") @Value("${openapi.scan.server.url}")
private String scanApiUrl; private String scanApiUrl;
@Value("${openapi.scan.method.textSyncScan}") @Value("${openapi.scan.method.textSyncScan}")
private String textSyncScanMethod; private String textSyncScanMethod;
@Value("${openapi.scan.method.imgSyncScan}")
private String imgSyncScanMethod;
@Override @Override
public PageData<IssueDTO> page(Map<String, Object> params) { public PageData<IssueDTO> page(Map<String, Object> params) {
@ -1767,5 +1771,86 @@ public class IssueServiceImpl extends BaseServiceImpl<IssueDao, IssueEntity> imp
return false; return false;
} }
@Override
public void createIssue(IssueDTO issueDTO) {
// 先审核
/*if (org.apache.commons.lang3.StringUtils.isNotBlank(issueDTO.getIssueTitle()) || org.apache.commons.lang3.StringUtils.isNotBlank(issueDTO.getSuggestion())) {
TextScanParamDTO textScan = new TextScanParamDTO();
//标题
TextTaskDTO taskTitle = new TextTaskDTO();
taskTitle.setContent(issueDTO.getIssueTitle());
taskTitle.setDataId(IdWorker.getIdStr());
textScan.getTasks().add(taskTitle);
//建议
TextTaskDTO taskSuggestion = new TextTaskDTO();
taskSuggestion.setDataId(IdWorker.getIdStr());
taskSuggestion.setContent(issueDTO.getSuggestion());
textScan.getTasks().add(taskSuggestion);
Result<SyncScanResult> textSyncScanResult = ScanContentUtils.textSyncScan(scanApiUrl.concat(textSyncScanMethod), textScan);
if (!textSyncScanResult.success()) {
throw new EpmetException(EpmetErrorCode.SERVER_ERROR.getCode());
} else {
if (!textSyncScanResult.getData().isAllPass()) {
logger.error(String.format(TopicConstant.SHIFT_ISSUE, issueDTO.getIssueTitle(), issueDTO.getSuggestion()));
throw new EpmetException(EpmetErrorCode.TEXT_SCAN_FAILED.getCode());
}
}
}
if (CollectionUtils.isNotEmpty(issueDTO.getAttachmentList())){
ImgScanParamDTO imgScanParamDTO = new ImgScanParamDTO();
issueDTO.getAttachmentList().forEach(url -> {
ImgTaskDTO task = new ImgTaskDTO();
task.setDataId(IdWorker.getIdStr());
task.setUrl(url.getUrl());
imgScanParamDTO.getTasks().add(task);
});
Result<SyncScanResult> imgScanResult = ScanContentUtils.imgSyncScan(scanApiUrl.concat(imgSyncScanMethod), imgScanParamDTO);
if (!imgScanResult.success()){
throw new EpmetException(EpmetErrorCode.SERVER_ERROR.getCode());
} else {
if (!imgScanResult.getData().isAllPass()) {
throw new EpmetException(EpmetErrorCode.IMG_SCAN_FAILED.getCode());
}
}
}*/
// 是否开启
String openStatus = configurationParameterService.checkIssueAuditSwitchIfOpen(issueDTO.getCustomerId());
if (ModuleConstants.AUDIT_SWITCH_OPEN.equals(openStatus)){
// 审核表 历史表
IssueApplicationEntity iae = ConvertUtils.sourceToTarget(issueDTO, IssueApplicationEntity.class);
iae.setApplyStatus(ModuleConstants.UNDER_AUDITING);
applicationService.insert(iae);
IssueApplicationHistoryEntity iahe = new IssueApplicationHistoryEntity();
iahe.setCustomerId(issueDTO.getCustomerId());
iahe.setIssueApplicationId(iae.getId());
iahe.setActionType(ModuleConstants.UNDER_AUDITING);
historyService.insert(iahe);
insertAtt(issueDTO.getAttachmentList(),iae.getId(),ModuleConstants.ISSUE_APPLICATION,issueDTO.getCustomerId());
}else {
GridInfoCache gridInfo = CustomerOrgRedis.getGridInfo(issueDTO.getGridId());
if(null == gridInfo){
throw new EpmetException("查询网格信息失败"+issueDTO.getGridId());
}
issueDTO.setOrgId(gridInfo.getPid());
issueDTO.setOrgIdPath(gridInfo.getPids());
}
}
private void insertAtt(Collection<?> sourceList,String businessId,String attachTo,String customerId){
if (CollectionUtils.isNotEmpty(sourceList)){
List<IssueAttachmentEntity> list = ConvertUtils.sourceToTarget(sourceList, IssueAttachmentEntity.class);
Integer sort = NumConstant.ZERO;
for (IssueAttachmentEntity e : list) {
e.setCustomerId(customerId);
e.setBusinessId(businessId);
e.setAttachTo(attachTo);
e.setStatus(ModuleConstants.AUDITION_TYPE_AUTO_PASSED);
e.setSort(sort);
sort++;
}
issueAttachmentService.insertBatch(list);
}
}
} }

4
epmet-module/gov-issue/gov-issue-server/src/main/java/com/epmet/utils/ModuleConstants.java

@ -178,4 +178,8 @@ public interface ModuleConstants {
* 是否禁用 disable:禁用 * 是否禁用 disable:禁用
*/ */
String IS_DISABLE = "disable"; String IS_DISABLE = "disable";
String UNDER_AUDITING = "under_auditing";
String ISSUE_APPLICATION = "issue_application";
} }

30
epmet-module/gov-issue/gov-issue-server/src/main/resources/db/migration/V0.0.18__alter_issue_type.sql

@ -1,2 +1,32 @@
ALTER TABLE issue MODIFY COLUMN SOURCE_ID varchar(32) NULL COMMENT '来源ID eg:2223232(当SOURCE_TYPE为"resi_topic"时,这里指话题的ID),issue时为空' AFTER SOURCE_TYPE; ALTER TABLE issue MODIFY COLUMN SOURCE_ID varchar(32) NULL COMMENT '来源ID eg:2223232(当SOURCE_TYPE为"resi_topic"时,这里指话题的ID),issue时为空' AFTER SOURCE_TYPE;
ALTER TABLE issue MODIFY COLUMN SOURCE_TYPE varchar(32) NULL COMMENT '来源类型 话题:resi_topic;直接立议题:issue;' AFTER ISSUE_STATUS; ALTER TABLE issue MODIFY COLUMN SOURCE_TYPE varchar(32) NULL COMMENT '来源类型 话题:resi_topic;直接立议题:issue;' AFTER ISSUE_STATUS;
ALTER TABLE issue_application MODIFY COLUMN GROUP_ID varchar(64) NULL COMMENT '小组id' AFTER TOPIC_ID;
ALTER TABLE issue_application MODIFY COLUMN TOPIC_ID varchar(32) NULL COMMENT '话题id' AFTER APPLY_STATUS;
alter table issue add column ADDRESS VARCHAR(255) DEFAULT '' COMMENT '地址' AFTER `SUGGESTION`;
alter table issue add COLUMN LONGITUDE VARCHAR(64) DEFAULT'' COMMENT '经度' AFTER ADDRESS;
alter table issue add COLUMN LATITUDE VARCHAR(64) DEFAULT'' COMMENT '纬度' AFTER LONGITUDE;
CREATE TABLE `issue_attachment` (
`ID` varchar(64) NOT NULL COMMENT '主键',
`CUSTOMER_ID` varchar(64) NOT NULL COMMENT '客户ID',
`BUSINESS_ID` varchar(64) NOT NULL COMMENT '业务id',
`ATTACH_TO` varchar(32) DEFAULT NULL COMMENT '议题:issue',
`NAME` varchar(64) DEFAULT NULL COMMENT '附件名',
`FORMAT` varchar(64) DEFAULT NULL COMMENT '文件格式(JPG、PNG、PDF、JPEG、BMP、MP4、WMA、M4A、MP3、DOC、DOCX、XLS)',
`TYPE` varchar(64) NOT NULL COMMENT '附件类型((图片 - image、 视频 - video、 语音 - voice、 文档 - doc))',
`URL` varchar(255) NOT NULL COMMENT '附件地址',
`SORT` int(1) NOT NULL COMMENT '排序字段',
`STATUS` varchar(32) NOT NULL DEFAULT 'auto_passed' COMMENT '附件状态(审核中:auditing; \r\nauto_passed: 自动通过;\r\nreview:结果不确定,需要人工审核;\r\nblock: 结果违规;\r\nrejected:人工审核驳回;\r\napproved:人工审核通过)\r\n现在图片是同步审核的,所以图片只有auto_passed一种状态',
`REASON` varchar(255) DEFAULT NULL COMMENT '失败原因',
`DURATION` int(11) DEFAULT NULL COMMENT '语音或视频时长,秒',
`DEL_FLAG` varchar(1) NOT NULL COMMENT '删除标记 0:未删除,1:已删除',
`REVISION` int(11) NOT NULL COMMENT '乐观锁',
`CREATED_BY` varchar(32) NOT NULL COMMENT '创建人',
`CREATED_TIME` datetime NOT NULL COMMENT '创建时间',
`UPDATED_BY` varchar(32) NOT NULL COMMENT '更新人',
`UPDATED_TIME` datetime NOT NULL COMMENT '更新时间',
PRIMARY KEY (`ID`) USING BTREE
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 ROW_FORMAT=COMPACT COMMENT='issue库附件表';

6
epmet-module/gov-issue/gov-issue-server/src/main/resources/mapper/IssueAttachmentDao.xml

@ -0,0 +1,6 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.epmet.dao.IssueAttachmentDao">
</mapper>
Loading…
Cancel
Save