修改下发班组任务信息

This commit is contained in:
haozq 2025-11-28 15:19:16 +08:00
parent ac55f5d5f3
commit b8232f69dd
16 changed files with 140 additions and 36 deletions

View File

@ -5,7 +5,7 @@ spring:
name: bonus-auth
profiles:
# 环境配置
active: local
active: prod
#加密组件
jasypt:

View File

@ -1,47 +1,43 @@
# Tomcat
server:
port: 38080
port: 18080
servlet:
context-path: hd-real-name
# Spring
spring:
cloud:
nacos:
username: nacos
password: nacos
discovery:
# 服务注册地址
server-addr: 192.168.0.14:8848
namespace: huadong_realname_dev
namespace: huadong_realname_local
username: nacos
password: nacos
config:
# 配置中心地址
server-addr: 192.168.0.14:8848
namespace: huadong_realname_dev
namespace: huadong_realname_local
# 配置文件格式
file-extension: yml
# 共享配置
shared-configs:
- application-${spring.profiles.active}.${spring.cloud.nacos.config.file-extension}
username: nacos
password: nacos
sentinel:
# 取消控制台懒加载
eager: true
transport:
# 控制台地址
dashboard: 127.0.0.1:18858
dashboard: 192.168.0.16:18858
# nacos配置持久化
datasource:
ds1:
nacos:
server-addr: 127.0.0.1:18848
namespace: rela_name_system
server-addr: 192.168.0.16:18848
namespace: bonus-ai
dataId: sentinel-bonus-gateway
groupId: DEFAULT_GROUP
data-type: json
rule-type: gw-flow
#加密组件
jasypt:
encryptor:
password: Encrypt

View File

@ -26,6 +26,6 @@ spring:
jasypt:
encryptor:
password: Encrypt
#人脸
face:
path: http://112.29.103.165:1616/faceIdentification
path: http://112.29.103.165:1616/faceIdentification

View File

@ -5,7 +5,7 @@ spring:
name: bonus-bmw
profiles:
# 环境配置
active: local
active: dev
task:
scheduling:
pool:

View File

@ -5,7 +5,7 @@ spring:
name: bonus-job
profiles:
# 环境配置
active: local
active: prod
#加密组件
jasypt:

View File

@ -1,5 +1,6 @@
package com.bonus.urk.handle;
import cn.hutool.core.collection.CollUtil;
import cn.hutool.core.collection.CollectionUtil;
import com.bonus.common.core.urk.Constant;
import com.bonus.common.core.urk.TaskStatusEnum;
@ -35,7 +36,7 @@ public class ReceiveCmd {
try{
//查询是否有任务处于未下发状态
List<DeviceTaskVo> taskList = service.selectCmdTaskList(deviceVo.getDevCode());
if (CollectionUtil.isEmpty(taskList)) {
if (CollUtil.isEmpty(taskList)) {
log.info("设备:{} 没有执行任务", deviceVo.getDevCode());
resp.addHeader(Constant.DEVICE_HEADER_RESPONSE_CODE, Constant.ERROR_NO_CMD);
return;

View File

@ -1,5 +1,6 @@
package com.bonus.urk.mapper;
import com.bonus.urk.vo.DevUserVo;
import com.bonus.urk.vo.KqCmdTaskVo;
import com.bonus.urk.vo.KqDevUserIdVo;
import org.apache.ibatis.annotations.Mapper;
@ -64,4 +65,10 @@ public interface ResultMapper {
void delKqDevUser(@Param("list") List<String> userIds, @Param("deviceCode") String deviceCode);
void insertKqDevUserList2(@Param("list") List<KqDevUserIdVo> userIds, @Param("deviceCode") String deviceCode);
/**
* 考情机人员数据
* @param list
*/
void addDeviceUserInfo(@Param("list")List<DevUserVo> list);
}

View File

@ -13,6 +13,8 @@ import java.util.List;
@Mapper
public interface TaskMapper {
List<DeviceTaskVo> selectDelCmdTaskList(@Param("devCode") String devCode);
/**
* 查询待执行的设备指令
* @param devCode

View File

@ -6,7 +6,11 @@ import com.alibaba.fastjson.JSONObject;
import com.bonus.common.core.utils.StringUtils;
import com.bonus.common.core.urk.CommonUtils;
import com.bonus.common.core.urk.Constant;
import com.bonus.system.api.model.UploadFileVo;
import com.bonus.urk.mapper.ResultMapper;
import com.bonus.urk.minio.UrkMinioService;
import com.bonus.urk.vo.DevUserVo;
import com.bonus.urk.vo.DeviceUserDto;
import com.bonus.urk.vo.KqCmdTaskVo;
import com.bonus.urk.vo.KqDevUserIdVo;
import lombok.extern.slf4j.Slf4j;
@ -14,9 +18,11 @@ import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.scheduling.annotation.Async;
import org.springframework.stereotype.Service;
import javax.annotation.Resource;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.io.UnsupportedEncodingException;
import java.util.ArrayList;
import java.util.List;
/**
@ -30,6 +36,9 @@ public class ResultService {
@Autowired
private ResultMapper mapper;
@Resource
private UrkMinioService fileService;
/**
* 查询任务 记录
* @param asTransId
@ -161,6 +170,27 @@ public class ResultService {
log.info("获取设备用户信息:{}", jsonStr);
if(StringUtils.isNotBlank(jsonStr)) {
//数据处理
JSONObject json=JSON.parseObject(jsonStr);
List<DevUserVo> list=new ArrayList<>();
JSONArray users=json.getJSONArray("users");
for (int i=0;i<users.size();i++) {
String deviceCode=taskVo.getDeviceCode();
String userId=users.getJSONObject(i).getString("userId");
DevUserVo dto=new DevUserVo();
String face=users.getJSONObject(i).getString("face");
String id=deviceCode+"-"+userId;
UploadFileVo uploadFileVo=fileService.upload("dev_face",id,"考勤机照片","face",face,null);
if(uploadFileVo!=null){
dto.setImagePath(uploadFileVo.getPath());
}
String name=users.getJSONObject(i).getString("name");
dto.setUserId(userId);
dto.setName(name);
dto.setDeviceCode(deviceCode);
dto.setId(id);
list.add(dto);
}
mapper.addDeviceUserInfo(list);
}
resp.addHeader(Constant.DEVICE_HEADER_RESPONSE_CODE, Constant.OK);
resp.addHeader(Constant.DEVICE_HEADER_TRANS_ID, taskVo.getId());

View File

@ -1,5 +1,6 @@
package com.bonus.urk.service;
import cn.hutool.core.collection.CollUtil;
import cn.hutool.core.collection.CollectionUtil;
import cn.hutool.core.date.DatePattern;
import cn.hutool.core.date.DateUtil;
@ -409,16 +410,10 @@ public class TaskService {
// body
JSONObject jsonObject = new JSONObject();
List<String> userSends = mapper.getTaskUserList(task.getId());
if(CollectionUtil.isEmpty(userSends)) {
String msg = "获取设备用户信息用户发送请求数据为空,不能处理";
log.error(msg);
task.setTransStatus(TaskStatusEnum.ERROR.ordinal());
task.setMsg(msg);
mapper.updateById(task);
return;
if(!CollUtil.isEmpty(userSends)) {
String[] userIds = userSends.toArray(new String[0]);
jsonObject.put("usersId", userIds);
}
String[] userIds = userSends.toArray(new String[0]);
jsonObject.put("usersId", userIds);
body = jsonObject.toString();
try {
// head
@ -487,10 +482,16 @@ public class TaskService {
}
public List<DeviceTaskVo> selectCmdTaskList(String devCode) {
List<DeviceTaskVo> list= mapper.selectCmdTaskList(devCode);
if(StringUtils.isEmpty(list)){
list= mapper.selectCmdBlockTask(devCode);
//优先查询删除的
List<DeviceTaskVo> list= mapper.selectDelCmdTaskList(devCode);
if(list==null || list.isEmpty()){
list= mapper.selectCmdTaskList(devCode);
if(StringUtils.isEmpty(list)){
list= mapper.selectCmdBlockTask(devCode);
}
}
return list;
}
}

View File

@ -0,0 +1,42 @@
package com.bonus.urk.vo;
import lombok.Data;
@Data
public class DevUserVo {
/**
* 设备编码
*/
private String deviceCode;
/**
* 用户id
*/
private String userId;
/**
* 图片路径
*/
private String imagePath;
/**
* 名称
*/
private String name;
/**
* 主键
*/
private String id;
/**
* 卡号
*/
private String card;
/**
* 校验开始时间
*/
private String vaildStart;
/**
* 校验结束时间
*/
private String vaildEnd;
}

View File

@ -47,6 +47,7 @@ public class DeviceUserDto implements Serializable {
private String vaildTimeStart;
//HHmmss
private String vaildTimeEnd;
private Integer photoEnroll;
}

View File

@ -1,6 +1,6 @@
# Tomcat
server:
port: 38085
port: 38086
# Spring
spring:
cloud:

View File

@ -1,11 +1,14 @@
# Spring
spring:
spring:
servlet:
s
application:
# 应用名称
name: bonus-urk
profiles:
# 环境配置
active: local
active: prod
task:
scheduling:
pool:

View File

@ -24,6 +24,14 @@
</foreach>
</insert>
<insert id="addDeviceUserInfo">
replace into kq_user_list(
id, user_id,user_name, user_phone, card, vaild_start, vaild_end,dev_code
)values
<foreach collection="list" item="item" separator=",">
(#{item.id},#{item.userId},#{item.name},#{item.imagePath},#{item.card},#{item.vaildStart},#{item.vaildEnd},#{item.deviceCode})
</foreach>
</insert>
<update id="updateTaskById">
update kq_cmd_task set trans_status_update_time=#{updateTime},trans_status=#{transStatus}
where id=#{id}

View File

@ -14,6 +14,19 @@
)
</foreach>
</insert>
<select id="selectDelCmdTaskList" resultType="com.bonus.urk.vo.DeviceTaskVo">
select id, cmd_code cmdCode,
cmd_param cmdParam,
device_code deviceCode,
trans_status transStatus,
trans_status_update_time transStatus,
create_time createTime,
update_state
from kq_cmd_task
where device_code=#{devCode} and trans_status in (0,3) and cmd_code='DELETE_USER'
ORDER BY RAND()
</select>
<select id="selectCmdTaskList" resultType="com.bonus.urk.vo.DeviceTaskVo">
select id, cmd_code cmdCode,
cmd_param cmdParam,