From b1c52d57227563fdb6de50d8b684e9a2f370bbaf Mon Sep 17 00:00:00 2001 From: haozq <1611483981@qq.com> Date: Mon, 18 Aug 2025 17:17:46 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BF=AE=E6=94=B9bug?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../system/api/RemoteUrkUtilsService.java | 10 +++ .../system/api/domain/SystemParamsVo.java | 16 ++++ .../urk/controller/SendUserController.java | 12 ++- .../com/bonus/urk/mapper/SendUserMapper.java | 2 + .../bonus/urk/service/SendUserService.java | 74 ++++++++++++++++++- .../resources/mapper/urk/SendUserMapper.xml | 9 +++ 6 files changed, 121 insertions(+), 2 deletions(-) create mode 100644 bonus-api/bonus-api-system/src/main/java/com/bonus/system/api/domain/SystemParamsVo.java diff --git a/bonus-api/bonus-api-system/src/main/java/com/bonus/system/api/RemoteUrkUtilsService.java b/bonus-api/bonus-api-system/src/main/java/com/bonus/system/api/RemoteUrkUtilsService.java index 3b7a7fc..17568b2 100644 --- a/bonus-api/bonus-api-system/src/main/java/com/bonus/system/api/RemoteUrkUtilsService.java +++ b/bonus-api/bonus-api-system/src/main/java/com/bonus/system/api/RemoteUrkUtilsService.java @@ -2,9 +2,12 @@ package com.bonus.system.api; import com.bonus.common.core.constant.SecurityConstants; import com.bonus.common.core.constant.ServiceNameConstants; +import com.bonus.system.api.domain.FileVo; +import com.bonus.system.api.domain.SystemParamsVo; import com.bonus.system.api.factory.RemoteUrkUtilsFallbackFactory; import org.springframework.cloud.openfeign.FeignClient; import org.springframework.web.bind.annotation.PostMapping; +import org.springframework.web.bind.annotation.RequestBody; import org.springframework.web.bind.annotation.RequestHeader; import org.springframework.web.bind.annotation.RequestParam; @@ -58,5 +61,12 @@ public interface RemoteUrkUtilsService { public void delUserByDevice(@RequestParam(value = "userId") int userId, @RequestParam(value = "proId")int proId, @RequestHeader(SecurityConstants.FROM_SOURCE) String source); + /** + * 批量人员出厂 + * @param paramsVo + * @param source + */ + @PostMapping(value = "/sedTask/delUserByDeviceList") + public void delUserByDeviceList(@RequestBody SystemParamsVo paramsVo, @RequestHeader(SecurityConstants.FROM_SOURCE) String source); } diff --git a/bonus-api/bonus-api-system/src/main/java/com/bonus/system/api/domain/SystemParamsVo.java b/bonus-api/bonus-api-system/src/main/java/com/bonus/system/api/domain/SystemParamsVo.java new file mode 100644 index 0000000..0dd9211 --- /dev/null +++ b/bonus-api/bonus-api-system/src/main/java/com/bonus/system/api/domain/SystemParamsVo.java @@ -0,0 +1,16 @@ +package com.bonus.system.api.domain; + +import lombok.Data; + +import java.util.List; + +/** + * @author 黑子 + */ +@Data +public class SystemParamsVo { + + private List userId; + + private List proId; +} diff --git a/bonus-modules/bonus-urk/src/main/java/com/bonus/urk/controller/SendUserController.java b/bonus-modules/bonus-urk/src/main/java/com/bonus/urk/controller/SendUserController.java index 489e86c..f6eb024 100644 --- a/bonus-modules/bonus-urk/src/main/java/com/bonus/urk/controller/SendUserController.java +++ b/bonus-modules/bonus-urk/src/main/java/com/bonus/urk/controller/SendUserController.java @@ -1,10 +1,12 @@ package com.bonus.urk.controller; +import com.bonus.system.api.domain.SystemParamsVo; import com.bonus.urk.service.SendUserService; import io.swagger.annotations.Api; import lombok.extern.slf4j.Slf4j; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.web.bind.annotation.PostMapping; +import org.springframework.web.bind.annotation.RequestBody; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RestController; @@ -79,7 +81,15 @@ public class SendUserController { - + @PostMapping("delUserByDeviceList") + public void delUserByDeviceList(@RequestBody SystemParamsVo vo) { + try { + service.delUserByDeviceList(vo.getUserId(),vo.getProId()); + } + catch (Exception e) { + log.error(e.toString(),e); + } + } diff --git a/bonus-modules/bonus-urk/src/main/java/com/bonus/urk/mapper/SendUserMapper.java b/bonus-modules/bonus-urk/src/main/java/com/bonus/urk/mapper/SendUserMapper.java index d563252..d5138d6 100644 --- a/bonus-modules/bonus-urk/src/main/java/com/bonus/urk/mapper/SendUserMapper.java +++ b/bonus-modules/bonus-urk/src/main/java/com/bonus/urk/mapper/SendUserMapper.java @@ -43,6 +43,8 @@ public interface SendUserMapper { void insertCmdTaskUser(@Param("list") List list,@Param("param") KqCmdTaskVo taskVo); + void insertCmdTaskUserByInteger(@Param("list") List list,@Param("param") KqCmdTaskVo taskVo); + /** * 批量插入 设备任务记录 * @param list diff --git a/bonus-modules/bonus-urk/src/main/java/com/bonus/urk/service/SendUserService.java b/bonus-modules/bonus-urk/src/main/java/com/bonus/urk/service/SendUserService.java index 4ff1e03..70309dc 100644 --- a/bonus-modules/bonus-urk/src/main/java/com/bonus/urk/service/SendUserService.java +++ b/bonus-modules/bonus-urk/src/main/java/com/bonus/urk/service/SendUserService.java @@ -1,9 +1,11 @@ package com.bonus.urk.service; +import cn.hutool.core.collection.ListUtil; import cn.hutool.core.util.ObjectUtil; import com.alibaba.fastjson.JSON; import com.alibaba.nacos.shaded.com.google.common.collect.Maps; import com.bonus.common.core.utils.DateUtils; +import com.bonus.common.core.utils.StringUtils; import com.bonus.urk.config.TaskStatusEnum; import com.bonus.urk.mapper.SendUserMapper; import com.bonus.urk.vo.DeviceVo; @@ -159,6 +161,9 @@ public class SendUserService { } } + + + /** * 人员 出场 --删除人员 * @@ -172,8 +177,9 @@ public class SendUserService { KqCmdTaskVo taskVo=new KqCmdTaskVo(); userList.add(userId); String json= JSON.toJSONString(userList); - taskVo.setProId(String.valueOf(proId)); taskVo.setCmdParam(json); + taskVo.setProId(String.valueOf(proId)); + taskVo.setCreateTime(createTime); taskVo.setCmdCode("DELETE_USER"); //等待执行 @@ -185,6 +191,72 @@ public class SendUserService { } } + public void delUserByDeviceList(List userId ,List proId) { + try{ + Map> map=Maps.newHashMap(); + //按照工程给人员分组 + for (int i = 0; i < proId.size(); i++) { + List list=map.get(proId.get(i)); + if(StringUtils.isEmpty(list)){ + list=new ArrayList<>(); + list.add(userId.get(i)); + map.put(proId.get(i),list); + }else{ + list.add(userId.get(i)); + map.replace(proId.get(i),list); + } + } + //循环 + map.forEach((key, value) -> { + String createTime= DateUtils.getTime(); + KqCmdTaskVo taskVo=new KqCmdTaskVo(); + String json= JSON.toJSONString(value); + taskVo.setProId(String.valueOf(key)); + taskVo.setCmdParam(json); + taskVo.setCreateTime(createTime); + taskVo.setCmdCode("DELETE_USER"); + //等待执行 + taskVo.setTransStatus(TaskStatusEnum.WAIT.ordinal()); + //分页查询 + sendUserToDeviceList(value,key,1,taskVo); + + }); + + }catch (Exception e){ + log.error(e.toString(),e); + } + } + public void sendUserToDeviceList(List userId,int proId,int pageNum, KqCmdTaskVo taskVo){ + Integer isSh=mapper.getProType(proId); + List list; + PageHelper.startPage(pageNum, PAGE_SIZE); + //是上海的工程 + if(isSh!=null && isSh==1){ + list=mapper.getDeviceVoByProBySh(); + }else{ + list=mapper.getDeviceVoByProId(proId); + } + PageInfo pageInfo =new PageInfo(list); + //分页查询+ + if (!list.isEmpty()){ + for (DeviceVo vo:list){ + taskVo.setDeviceCode(vo.getDevCode()); + String json= JSON.toJSONString(userId); + taskVo.setCmdParam(json); + // 下发 + mapper.insertCmdTask(taskVo); + mapper.insertCmdTaskHistory(taskVo); + //添加人员 + mapper.insertCmdTaskUserByInteger(userId,taskVo); + } + int pageSize=pageInfo.getPageNum(); + int pageTotal=pageInfo.getPages(); + if(pageSize + + + insert into kq_task_user_list( + task_id,user_id )values + ( + #{param.id}, #{item} + ) + + insert into kq_cmd_task (