parent
260061ef31
commit
28c10f590c
@ -0,0 +1,14 @@
|
||||
package org.jeecg.module.custom.ocr;
|
||||
|
||||
import org.mybatis.spring.annotation.MapperScan;
|
||||
import org.springframework.boot.SpringApplication;
|
||||
import org.springframework.boot.autoconfigure.SpringBootApplication;
|
||||
|
||||
@MapperScan("org.jeecg.module.custom.ocr.dataDao")
|
||||
@SpringBootApplication
|
||||
public class OcrApplication {
|
||||
|
||||
public static void main(String[] args) {
|
||||
SpringApplication.run(OcrApplication.class, args);
|
||||
}
|
||||
}
|
@ -0,0 +1,134 @@
|
||||
package org.jeecg.module.custom.ocr.api.entity;
|
||||
|
||||
import com.alibaba.fastjson.annotation.JSONField;
|
||||
import lombok.Data;
|
||||
|
||||
import java.math.BigDecimal;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
|
||||
@Data
|
||||
public class TaskCompletionRequest {
|
||||
@JSONField(name = "status")
|
||||
private Integer status;
|
||||
|
||||
@JSONField(name = "message")
|
||||
private String message;
|
||||
|
||||
@JSONField(name = "timestamp")
|
||||
private Long timestamp;
|
||||
|
||||
@JSONField(name = "signature")
|
||||
private String signature;
|
||||
|
||||
@JSONField(name = "data")
|
||||
private String data;
|
||||
|
||||
@Data
|
||||
public static class TaskCompletionData {
|
||||
@JSONField(name = "tenantNo")
|
||||
private Long tenantNo;
|
||||
|
||||
@JSONField(name = "accountNo")
|
||||
private Long accountNo;
|
||||
|
||||
@JSONField(name = "taskNo")
|
||||
private Long taskNo;
|
||||
|
||||
@JSONField(name = "approveResult")
|
||||
private Integer approveResult;
|
||||
|
||||
@JSONField(name = "approveRemark")
|
||||
private String approveRemark;
|
||||
|
||||
@JSONField(name = "pictureMatchDegree")
|
||||
private BigDecimal pictureMatchDegree;
|
||||
|
||||
@JSONField(name = "extendField")
|
||||
private String extendField;
|
||||
|
||||
@JSONField(name = "isPictureRepeat")
|
||||
private Integer isPictureRepeat;
|
||||
|
||||
@JSONField(name = "isPictureRight")
|
||||
private Integer isPictureRight;
|
||||
|
||||
@JSONField(name = "isBriefRepeat")
|
||||
private Integer isBriefRepeat;
|
||||
|
||||
@JSONField(name = "pictureRepeatList")
|
||||
private List<PictureRepeat> pictureRepeatList;
|
||||
|
||||
@JSONField(name = "hisPictureRepeatList")
|
||||
private List<HisPictureRepeat> hisPictureRepeatList;
|
||||
|
||||
@JSONField(name = "falseImgList")
|
||||
private List<Long> falseImgList;
|
||||
|
||||
@JSONField(name = "briefRepeatTaskList")
|
||||
private List<Long> briefRepeatTaskList;
|
||||
|
||||
@JSONField(name = "approveDetailList")
|
||||
private List<ApproveDetail> approveDetailList;
|
||||
}
|
||||
|
||||
@Data
|
||||
public static class PictureRepeat {
|
||||
@JSONField(name = "imgNo")
|
||||
private Long imgNo;
|
||||
|
||||
@JSONField(name = "imgUrl")
|
||||
private String imgUrl;
|
||||
|
||||
@JSONField(name = "dynamicFields")
|
||||
private Map<String, String> dynamicFields;
|
||||
}
|
||||
|
||||
@Data
|
||||
public static class HisPictureRepeat {
|
||||
@JSONField(name = "hisTaskNo")
|
||||
private Long hisTaskNo;
|
||||
|
||||
@JSONField(name = "hisRepeatImgNo")
|
||||
private Long hisRepeatImgNo;
|
||||
|
||||
@JSONField(name = "hisRepeatImgUrl")
|
||||
private String hisRepeatImgUrl;
|
||||
}
|
||||
|
||||
@Data
|
||||
public static class ApproveDetail {
|
||||
@JSONField(name = "nodeName")
|
||||
private String nodeName;
|
||||
|
||||
@JSONField(name = "approveByName")
|
||||
private String approveByName;
|
||||
|
||||
@JSONField(name = "approveWay")
|
||||
private Integer approveWay;
|
||||
|
||||
@JSONField(name = "approveResult")
|
||||
private Integer approveResult;
|
||||
|
||||
@JSONField(name = "reason")
|
||||
private String reason;
|
||||
|
||||
@JSONField(name = "processMethod")
|
||||
private Integer processMethod;
|
||||
|
||||
@JSONField(name = "approveRemark")
|
||||
private String approveRemark;
|
||||
|
||||
@JSONField(name = "extendField")
|
||||
private String extendField;
|
||||
|
||||
@JSONField(name = "isPictureRight")
|
||||
private Integer isPictureRight;
|
||||
|
||||
@JSONField(name = "isPictureRepeat")
|
||||
private Integer isPictureRepeat;
|
||||
|
||||
@JSONField(name = "isBriefRepeat")
|
||||
private Integer isBriefRepeat;
|
||||
}
|
||||
}
|
@ -0,0 +1,11 @@
|
||||
package org.jeecg.module.custom.ocr.controller.dto;
|
||||
|
||||
import lombok.Data;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
@Data
|
||||
public class AddTaskData {
|
||||
|
||||
private List<TaskDTO> records;
|
||||
}
|
@ -0,0 +1,17 @@
|
||||
package org.jeecg.module.custom.ocr.controller.dto;
|
||||
|
||||
import lombok.Data;
|
||||
|
||||
@Data
|
||||
public class AddTaskRequest {
|
||||
|
||||
private String tenantCode;
|
||||
|
||||
private String accessKey;
|
||||
|
||||
private Long timestamp;
|
||||
|
||||
private String signature;
|
||||
|
||||
private AddTaskData data;
|
||||
}
|
@ -0,0 +1,15 @@
|
||||
package org.jeecg.module.custom.ocr.controller.dto;
|
||||
|
||||
import lombok.Data;
|
||||
|
||||
import javax.validation.constraints.NotNull;
|
||||
|
||||
@Data
|
||||
public class DeleteTaskRequest {
|
||||
|
||||
/**
|
||||
* 任务NO
|
||||
*/
|
||||
@NotNull
|
||||
private Long taskNo;
|
||||
}
|
@ -0,0 +1,98 @@
|
||||
package org.jeecg.module.custom.ocr.controller.dto;
|
||||
|
||||
import lombok.Data;
|
||||
import org.jeecg.module.custom.ocr.api.entity.LivePhoto;
|
||||
|
||||
import java.util.Map;
|
||||
|
||||
@Data
|
||||
public class TaskDTO {
|
||||
|
||||
/**
|
||||
* 租户雪花no
|
||||
*/
|
||||
private Long tenantNo;
|
||||
|
||||
/**
|
||||
* 任务NO
|
||||
*/
|
||||
private Long taskNo;
|
||||
|
||||
/**
|
||||
* 业务主体雪花no
|
||||
*/
|
||||
private Long accountNo;
|
||||
|
||||
/**
|
||||
* 业务主体名称
|
||||
*/
|
||||
private String accountName;
|
||||
|
||||
/**
|
||||
* 关联项目no
|
||||
*/
|
||||
private Long projectNo;
|
||||
|
||||
/**
|
||||
* 项目名称
|
||||
*/
|
||||
private String projectName;
|
||||
|
||||
/**
|
||||
* 任务表单no
|
||||
*/
|
||||
private Long taskFormNo;
|
||||
|
||||
/**
|
||||
* 所属主计划ID
|
||||
*/
|
||||
private Long planNo;
|
||||
|
||||
/**
|
||||
* 所属主计划名称
|
||||
*/
|
||||
private String planName;
|
||||
|
||||
/**
|
||||
* 所属子计划ID
|
||||
*/
|
||||
private Long planChildNo;
|
||||
|
||||
/**
|
||||
* 所属子计划名称
|
||||
*/
|
||||
private String planChildName;
|
||||
|
||||
/**
|
||||
* 任务ID
|
||||
*/
|
||||
private Long taskId;
|
||||
|
||||
/**
|
||||
* 任务名称
|
||||
*/
|
||||
private String taskName;
|
||||
|
||||
/**
|
||||
* 提报人no
|
||||
*/
|
||||
private Long userNo;
|
||||
|
||||
/**
|
||||
* 提报人名称
|
||||
*/
|
||||
private String userName;
|
||||
|
||||
/**
|
||||
* 任务提交时间
|
||||
*/
|
||||
private Long submitTime;
|
||||
|
||||
/**
|
||||
* 拍照打卡
|
||||
*/
|
||||
private LivePhoto livePhoto;
|
||||
|
||||
// 使用 Map 捕获动态字段
|
||||
private Map<String, Object> dynamicFields;
|
||||
}
|
@ -0,0 +1,16 @@
|
||||
package org.jeecg.module.custom.ocr.dataDao;
|
||||
|
||||
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
|
||||
import org.jeecg.module.custom.ocr.dataobject.DuplicateTask;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
public interface DuplicateTaskMapper extends BaseMapper<DuplicateTask> {
|
||||
void save(DuplicateTask task);
|
||||
|
||||
List<DuplicateTask> getAllUnCompletedTask();
|
||||
|
||||
void updateCompletedById(Long id);
|
||||
|
||||
void updateCompletedAndMaxSimilarity(Long id, boolean completed, String maxSimilarityScore);
|
||||
}
|
@ -0,0 +1,8 @@
|
||||
package org.jeecg.module.custom.ocr.dataDao;
|
||||
|
||||
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
|
||||
import org.jeecg.module.custom.ocr.dataobject.PictureCompare;
|
||||
|
||||
public interface PictureCompareMapper extends BaseMapper<PictureCompare> {
|
||||
void save(PictureCompare compare);
|
||||
}
|
@ -0,0 +1,10 @@
|
||||
package org.jeecg.module.custom.ocr.dataDao;
|
||||
|
||||
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
|
||||
import org.jeecg.module.custom.ocr.dataobject.Task;
|
||||
|
||||
public interface TaskMapper extends BaseMapper<Task> {
|
||||
void save(Task task);
|
||||
|
||||
void deleteByTaskNo(Long taskNo);
|
||||
}
|
@ -0,0 +1,54 @@
|
||||
package org.jeecg.module.custom.ocr.dataobject;
|
||||
|
||||
import lombok.Data;
|
||||
|
||||
@Data
|
||||
public class PictureCompare {
|
||||
|
||||
private Long id;
|
||||
|
||||
/**
|
||||
* 图片NO
|
||||
*/
|
||||
private Long firstImgNo;
|
||||
|
||||
/**
|
||||
* 图片地址
|
||||
*/
|
||||
private String firstImgUrl;
|
||||
|
||||
/**
|
||||
* 本地图片地址
|
||||
*/
|
||||
private String firstLocalImgUrl;
|
||||
|
||||
/**
|
||||
* 图片hash值
|
||||
*/
|
||||
private String firstImgHash;
|
||||
|
||||
/**
|
||||
* 图片NO
|
||||
*/
|
||||
private Long secondImgNo;
|
||||
|
||||
/**
|
||||
* 图片地址
|
||||
*/
|
||||
private String secondImgUrl;
|
||||
|
||||
/**
|
||||
* 本地图片地址
|
||||
*/
|
||||
private String secondLocalImgUrl;
|
||||
|
||||
/**
|
||||
* 图片hash值
|
||||
*/
|
||||
private String secondImgHash;
|
||||
|
||||
/**
|
||||
* 相似度
|
||||
*/
|
||||
private String similarityScore;
|
||||
}
|
@ -0,0 +1,105 @@
|
||||
package org.jeecg.module.custom.ocr.dataobject;
|
||||
|
||||
import lombok.Data;
|
||||
|
||||
@Data
|
||||
public class Task {
|
||||
|
||||
private Long id;
|
||||
|
||||
private String tenantCode;
|
||||
|
||||
private String accessKey;
|
||||
|
||||
private Long timestamp;
|
||||
|
||||
private String signature;
|
||||
|
||||
/**
|
||||
* 租户雪花no
|
||||
*/
|
||||
private Long tenantNo;
|
||||
|
||||
/**
|
||||
* 任务NO
|
||||
*/
|
||||
private Long taskNo;
|
||||
|
||||
/**
|
||||
* 业务主体雪花no
|
||||
*/
|
||||
private Long accountNo;
|
||||
|
||||
/**
|
||||
* 业务主体名称
|
||||
*/
|
||||
private String accountName;
|
||||
|
||||
/**
|
||||
* 关联项目no
|
||||
*/
|
||||
private Long projectNo;
|
||||
|
||||
/**
|
||||
* 项目名称
|
||||
*/
|
||||
private String projectName;
|
||||
|
||||
/**
|
||||
* 任务表单no
|
||||
*/
|
||||
private Long taskFormNo;
|
||||
|
||||
/**
|
||||
* 所属主计划ID
|
||||
*/
|
||||
private Long planNo;
|
||||
|
||||
/**
|
||||
* 所属主计划名称
|
||||
*/
|
||||
private String planName;
|
||||
|
||||
/**
|
||||
* 所属子计划ID
|
||||
*/
|
||||
private Long planChildNo;
|
||||
|
||||
/**
|
||||
* 所属子计划名称
|
||||
*/
|
||||
private String planChildName;
|
||||
|
||||
/**
|
||||
* 任务ID
|
||||
*/
|
||||
private Long taskId;
|
||||
|
||||
/**
|
||||
* 任务名称
|
||||
*/
|
||||
private String taskName;
|
||||
|
||||
/**
|
||||
* 提报人no
|
||||
*/
|
||||
private Long userNo;
|
||||
|
||||
/**
|
||||
* 提报人名称
|
||||
*/
|
||||
private String userName;
|
||||
|
||||
/**
|
||||
* 任务提交时间
|
||||
*/
|
||||
private Long submitTime;
|
||||
|
||||
/**
|
||||
* 拍照打卡
|
||||
*/
|
||||
private String livePhoto;
|
||||
|
||||
// 使用 Map 捕获动态字段
|
||||
private String dynamicFields;
|
||||
}
|
@ -0,0 +1,16 @@
|
||||
package org.jeecg.module.custom.ocr.service;
|
||||
|
||||
import org.jeecg.module.custom.ocr.controller.dto.DuplicateTaskRequest;
|
||||
import org.jeecg.module.custom.ocr.dataobject.DuplicateTask;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
|
||||
public interface DuplicateTaskService {
|
||||
|
||||
void save(DuplicateTaskRequest request);
|
||||
|
||||
void updateCompletedById(Long id);
|
||||
|
||||
List<DuplicateTask> getAllUnCompletedTask();
|
||||
}
|
@ -0,0 +1,12 @@
|
||||
package org.jeecg.module.custom.ocr.service;
|
||||
|
||||
import org.jeecg.module.custom.ocr.controller.dto.AddTaskRequest;
|
||||
|
||||
import javax.validation.constraints.NotNull;
|
||||
|
||||
public interface TaskService {
|
||||
|
||||
void save(AddTaskRequest request);
|
||||
|
||||
void deleteTask(Long taskNo);
|
||||
}
|
@ -0,0 +1,68 @@
|
||||
package org.jeecg.module.custom.ocr.service.impl;
|
||||
|
||||
import org.jeecg.module.custom.ocr.controller.dto.DuplicateTaskData;
|
||||
import org.jeecg.module.custom.ocr.controller.dto.DuplicateTaskRequest;
|
||||
import org.jeecg.module.custom.ocr.dataDao.DuplicateTaskMapper;
|
||||
import org.jeecg.module.custom.ocr.dataobject.DuplicateTask;
|
||||
import org.jeecg.module.custom.ocr.service.DuplicateTaskService;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.stereotype.Service;
|
||||
|
||||
import java.util.List;
|
||||
import java.util.stream.Collectors;
|
||||
|
||||
@Service
|
||||
public class DuplicateTaskServiceImpl implements DuplicateTaskService {
|
||||
|
||||
@Autowired
|
||||
private DuplicateTaskMapper duplicateTaskMapper;
|
||||
|
||||
@Override
|
||||
public void save(DuplicateTaskRequest request) {
|
||||
DuplicateTask task = toDuplicateTask(request);
|
||||
duplicateTaskMapper.save(task);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void updateCompletedById(Long id) {
|
||||
duplicateTaskMapper.updateCompletedById(id);
|
||||
}
|
||||
|
||||
@Override
|
||||
public List<DuplicateTask> getAllUnCompletedTask() {
|
||||
return duplicateTaskMapper.getAllUnCompletedTask();
|
||||
}
|
||||
|
||||
private DuplicateTask toDuplicateTask(DuplicateTaskRequest request) {
|
||||
DuplicateTask task = new DuplicateTask();
|
||||
|
||||
// 映射顶级字段
|
||||
task.setTenantCode(request.getTenantCode());
|
||||
task.setAccessKey(request.getAccessKey());
|
||||
task.setTimestamp(request.getTimestamp());
|
||||
task.setSignature(request.getSignature());
|
||||
|
||||
// 映射 DuplicateTaskData 中的字段
|
||||
if (request.getData() != null) {
|
||||
DuplicateTaskData data = request.getData();
|
||||
task.setAccountNo(data.getAccountNo());
|
||||
task.setTenantNo(data.getTenantNo());
|
||||
task.setRequestId(data.getRequestId());
|
||||
task.setQueryConfig(data.getQueryConfig());
|
||||
|
||||
// 将 List<Long> taskNos 转换为逗号分隔的字符串
|
||||
if (data.getTaskNos() != null && !data.getTaskNos().isEmpty()) {
|
||||
String taskNosString = data.getTaskNos().stream()
|
||||
.map(String::valueOf)
|
||||
.collect(Collectors.joining(","));
|
||||
task.setTaskNos(taskNosString);
|
||||
}
|
||||
}
|
||||
|
||||
// 设置默认值
|
||||
task.setMaxSimilarityScore(null); // 未提供,设为 null
|
||||
task.setCompleted(false); // 默认未完成
|
||||
|
||||
return task;
|
||||
}
|
||||
}
|
@ -0,0 +1,61 @@
|
||||
<?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="org.jeecg.module.custom.ocr.dataDao.DuplicateTaskMapper">
|
||||
<resultMap id="BaseResultMap" type="org.jeecg.module.custom.ocr.dataobject.DuplicateTask">
|
||||
<id column="id" jdbcType="BIGINT" property="id" />
|
||||
<result column="tenant_code" jdbcType="VARCHAR" property="tenantCode" />
|
||||
<result column="access_key" jdbcType="VARCHAR" property="accessKey" />
|
||||
<result column="timestamp" jdbcType="BIGINT" property="timestamp" />
|
||||
<result column="signature" jdbcType="VARCHAR" property="signature" />
|
||||
<result column="account_no" jdbcType="BIGINT" property="accountNo" />
|
||||
<result column="tenant_no" jdbcType="BIGINT" property="tenantNo" />
|
||||
<result column="request_id" jdbcType="BIGINT" property="requestId" />
|
||||
<result column="task_nos" jdbcType="VARCHAR" property="taskNos" />
|
||||
<result column="query_config" jdbcType="VARCHAR" property="queryConfig" />
|
||||
<result column="max_similarity_score" jdbcType="VARCHAR" property="maxSimilarityScore" />
|
||||
<result column="completed" jdbcType="TINYINT" property="completed" />
|
||||
</resultMap>
|
||||
|
||||
<sql id="Base_Column_List">
|
||||
id, tenant_code, access_key, `timestamp`, signature, account_no, tenant_no,
|
||||
request_id, task_nos, query_config, max_similarity_score, completed
|
||||
</sql>
|
||||
|
||||
<insert id="save" parameterType="org.jeecg.module.custom.ocr.dataobject.DuplicateTask">
|
||||
INSERT INTO duplicate_task (
|
||||
<include refid="Base_Column_List" />
|
||||
) VALUES (
|
||||
#{id},
|
||||
#{tenantCode},
|
||||
#{accessKey},
|
||||
#{timestamp},
|
||||
#{signature},
|
||||
#{accountNo},
|
||||
#{tenantNo},
|
||||
#{requestId},
|
||||
#{taskNos},
|
||||
#{queryConfig},
|
||||
#{maxSimilarityScore},
|
||||
#{completed}
|
||||
)
|
||||
</insert>
|
||||
|
||||
<select id="getAllUnCompletedTask" resultMap="BaseResultMap">
|
||||
SELECT <include refid="Base_Column_List" />
|
||||
FROM duplicate_task
|
||||
WHERE completed = 0
|
||||
</select>
|
||||
|
||||
<update id="updateCompletedById" parameterType="java.lang.Long">
|
||||
UPDATE duplicate_task
|
||||
SET completed = #{completed,jdbcType=TINYINT}
|
||||
WHERE id = #{id,jdbcType=BIGINT}
|
||||
</update>
|
||||
|
||||
<update id="updateCompletedAndMaxSimilarity">
|
||||
UPDATE duplicate_task
|
||||
SET completed = #{completed,jdbcType=TINYINT},
|
||||
max_similarity_score = #{maxSimilarityScore}
|
||||
WHERE id = #{id,jdbcType=BIGINT}
|
||||
</update>
|
||||
</mapper>
|
@ -0,0 +1,40 @@
|
||||
<?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="org.jeecg.module.custom.ocr.dataDao.PictureCompareMapper">
|
||||
<resultMap id="BaseResultMap" type="org.jeecg.module.custom.ocr.dataobject.PictureCompare">
|
||||
<id column="id" jdbcType="BIGINT" property="id" />
|
||||
<result column="first_img_no" jdbcType="BIGINT" property="firstImgNo" />
|
||||
<result column="first_img_url" jdbcType="VARCHAR" property="firstImgUrl" />
|
||||
<result column="first_local_img_url" jdbcType="VARCHAR" property="firstLocalImgUrl" />
|
||||
<result column="first_img_hash" jdbcType="VARCHAR" property="firstImgHash" />
|
||||
<result column="second_img_no" jdbcType="BIGINT" property="secondImgNo" />
|
||||
<result column="second_img_url" jdbcType="VARCHAR" property="secondImgUrl" />
|
||||
<result column="second_local_img_url" jdbcType="VARCHAR" property="secondLocalImgUrl" />
|
||||
<result column="second_img_hash" jdbcType="VARCHAR" property="secondImgHash" />
|
||||
<result column="similarity_score" jdbcType="VARCHAR" property="similarityScore" />
|
||||
</resultMap>
|
||||
|
||||
<sql id="Base_Column_List">
|
||||
id, first_img_no, first_img_url, first_local_img_url, first_img_hash,
|
||||
second_img_no, second_img_url, second_local_img_url, second_img_hash,
|
||||
similarity_score
|
||||
</sql>
|
||||
|
||||
<insert id="save" parameterType="org.jeecg.module.custom.ocr.dataobject.PictureCompare" useGeneratedKeys="true" keyProperty="id">
|
||||
INSERT INTO photos_compare (
|
||||
first_img_no, first_img_url, first_local_img_url, first_img_hash,
|
||||
second_img_no, second_img_url, second_local_img_url, second_img_hash,
|
||||
similarity_score
|
||||
) VALUES (
|
||||
#{firstImgNo},
|
||||
#{firstImgUrl},
|
||||
#{firstLocalImgUrl},
|
||||
#{firstImgHash},
|
||||
#{secondImgNo},
|
||||
#{secondImgUrl},
|
||||
#{secondLocalImgUrl},
|
||||
#{secondImgHash},
|
||||
#{similarityScore}
|
||||
)
|
||||
</insert>
|
||||
</mapper>
|
@ -0,0 +1,72 @@
|
||||
<?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="org.jeecg.module.custom.ocr.dataDao.TaskMapper">
|
||||
<resultMap id="BaseResultMap" type="org.jeecg.module.custom.ocr.dataobject.Task">
|
||||
<id column="id" jdbcType="BIGINT" property="id" />
|
||||
<result column="tenant_code" jdbcType="VARCHAR" property="tenantCode" />
|
||||
<result column="access_key" jdbcType="VARCHAR" property="accessKey" />
|
||||
<result column="timestamp" jdbcType="BIGINT" property="timestamp" />
|
||||
<result column="signature" jdbcType="VARCHAR" property="signature" />
|
||||
<result column="tenant_no" jdbcType="BIGINT" property="tenantNo" />
|
||||
<result column="task_no" jdbcType="BIGINT" property="taskNo" />
|
||||
<result column="account_no" jdbcType="BIGINT" property="accountNo" />
|
||||
<result column="account_name" jdbcType="VARCHAR" property="accountName" />
|
||||
<result column="project_no" jdbcType="BIGINT" property="projectNo" />
|
||||
<result column="project_name" jdbcType="VARCHAR" property="projectName" />
|
||||
<result column="task_form_no" jdbcType="BIGINT" property="taskFormNo" />
|
||||
<result column="plan_no" jdbcType="BIGINT" property="planNo" />
|
||||
<result column="plan_name" jdbcType="VARCHAR" property="planName" />
|
||||
<result column="plan_child_no" jdbcType="BIGINT" property="planChildNo" />
|
||||
<result column="plan_child_name" jdbcType="VARCHAR" property="planChildName" />
|
||||
<result column="task_id" jdbcType="BIGINT" property="taskId" />
|
||||
<result column="task_name" jdbcType="VARCHAR" property="taskName" />
|
||||
<result column="user_no" jdbcType="BIGINT" property="userNo" />
|
||||
<result column="user_name" jdbcType="VARCHAR" property="userName" />
|
||||
<result column="submit_time" jdbcType="BIGINT" property="submitTime" />
|
||||
<result column="live_photo" jdbcType="VARCHAR" property="livePhoto" />
|
||||
<result column="dynamic_fields" jdbcType="VARCHAR" property="dynamicFields" />
|
||||
</resultMap>
|
||||
|
||||
<sql id="Base_Column_List">
|
||||
id, tenant_code, access_key, timestamp, signature, tenant_no, task_no, account_no,
|
||||
account_name, project_no, project_name, task_form_no, plan_no, plan_name,
|
||||
plan_child_no, plan_child_name, task_id, task_name, user_no, user_name,
|
||||
submit_time, live_photo, dynamic_fields
|
||||
</sql>
|
||||
|
||||
<insert id="save" parameterType="org.jeecg.module.custom.ocr.dataobject.Task">
|
||||
INSERT INTO task (
|
||||
<include refid="Base_Column_List" />
|
||||
) VALUES (
|
||||
#{id},
|
||||
#{tenantCode},
|
||||
#{accessKey},
|
||||
#{timestamp},
|
||||
#{signature},
|
||||
#{tenantNo},
|
||||
#{taskNo},
|
||||
#{accountNo},
|
||||
#{accountName},
|
||||
#{projectNo},
|
||||
#{projectName},
|
||||
#{taskFormNo},
|
||||
#{planNo},
|
||||
#{planName},
|
||||
#{planChildNo},
|
||||
#{planChildName},
|
||||
#{taskId},
|
||||
#{taskName},
|
||||
#{userNo},
|
||||
#{userName},
|
||||
#{submitTime},
|
||||
#{livePhoto},
|
||||
#{dynamicFields},
|
||||
#{imgHash},
|
||||
#{similarityScore}
|
||||
)
|
||||
</insert>
|
||||
|
||||
<delete id="deleteByTaskNo" parameterType="java.lang.Long">
|
||||
DELETE FROM task WHERE task_no = #{taskNo,jdbcType=BIGINT}
|
||||
</delete>
|
||||
</mapper>
|
Loading…
Reference in new issue