dao/src/main/java/com/sandu/ximon/dao/mapper/C3mChargingMapper.java
@@ -10,6 +10,8 @@ @Mapper public interface C3mChargingMapper extends BaseMapper<C3mCharging> { C3mCharging getAllByC3Mac(String c3Mac); } dao/src/main/resources/mapper/C3mChargingMapper.xml
@@ -5,18 +5,24 @@ <mapper namespace="com.sandu.ximon.dao.mapper.C3mChargingMapper"> <resultMap id="BaseResultMap" type="com.sandu.ximon.dao.domain.C3mCharging"> <id property="c3Id" column="c3_id" jdbcType="BIGINT"/> <result property="mcuUdid" column="mcu_udid" jdbcType="VARCHAR"/> <result property="c3Name" column="c3_name" jdbcType="VARCHAR"/> <result property="c3Mac" column="c3_mac" jdbcType="VARCHAR"/> <result property="statusBit" column="status_bit" jdbcType="INTEGER"/> <result property="deviceTemperature" column="device_temperature" jdbcType="VARCHAR"/> <result property="updateTime" column="update_time" jdbcType="TIMESTAMP"/> <id property="c3Id" column="c3_id" jdbcType="BIGINT"/> <result property="mcuUdid" column="mcu_udid" jdbcType="VARCHAR"/> <result property="c3Name" column="c3_name" jdbcType="VARCHAR"/> <result property="c3Mac" column="c3_mac" jdbcType="VARCHAR"/> <result property="statusBit" column="status_bit" jdbcType="INTEGER"/> <result property="deviceTemperature" column="device_temperature" jdbcType="VARCHAR"/> <result property="updateTime" column="update_time" jdbcType="TIMESTAMP"/> </resultMap> <sql id="Base_Column_List"> c3_id,mcu_udid,c3_name, c3_id ,mcu_udid,c3_name, c3_mac,status_bit,device_temperature, update_time </sql> <select id="getAllByC3Mac" resultType="com.sandu.ximon.dao.domain.C3mCharging"> select * from c3m_charging where c3_mac = #{c3Mac} </select> </mapper> ximon-admin/src/main/java/com/sandu/ximon/admin/config/C3mRedisConfig.java
¶Ô±ÈÐÂÎļþ @@ -0,0 +1,34 @@ package com.sandu.ximon.admin.config; /** * @Author liuhaonan * @Version 1.0 */ public class C3mRedisConfig { // C3å çµæ¡©æé¿ç¦»çº¿æ¶é´(s) public static Long OUTLINE_TIME = 60 * 3L; // 设置C3å¿è·³å æ¶é´ public static Long HEART_BEAT_TIME = 60L; // C3订åè¶ æ¶æ¶é´ public static Long ORDER_MAX_TIME = 60 * 5L; // C3è®¢åæ«æé´éæ¶é´ public static Long ORDER_QUERY_TIME = 20L; // C3å çµæå¤§æ¶é¿ public static Long CHARGING_MAX_TIME = 60 * 60 * 24L * 2; // C3æ éç è¶ æ¶æ¶é´ public static Long ERROR_REPORT_MAX_TIME = 60 * 60 * 24 * 7L; public static void reFlushTime(int onlineCount) { if(onlineCount > 60) { HEART_BEAT_TIME = Long.parseLong(onlineCount+""); OUTLINE_TIME = 3 * HEART_BEAT_TIME; }else if(onlineCount < 60){ HEART_BEAT_TIME = 60L; OUTLINE_TIME = 3 * HEART_BEAT_TIME; } } public static Integer parseInt(Long l){ return Integer.parseInt(l+""); } } ximon-admin/src/main/java/com/sandu/ximon/admin/controller/C3mChargingChargeController.java
@@ -23,6 +23,12 @@ private final C3mChargingChargeService chargeService; /** * æ·»å è´¹ç * @param charge * @return */ @PostMapping("/addC3mCharging") public ResponseVO<Object> addC3mCharging(@RequestBody C3mChargingChargeParam charge) { // chargeService.save(charge); @@ -35,9 +41,15 @@ return ResponseUtil.success(chargeService.updateCharge(chargeEntities)); } @GetMapping("/getChargeByC3Id/{c3mId}") @GetMapping("/getChargeByC3Id/{c3mId}") //æªåæ¥ææ¡£ public ResponseVO<Object> getChargeByC3Id(@PathVariable Integer c3mId) { return ResponseUtil.success(chargeService.getChargeByC3Id(c3mId)); } @GetMapping("/getChargeByPoleId/{PoleId}") //为æªåæ¥ææ¡£ public ResponseVO<Object> getChargeByPoleId(@PathVariable Long PoleId) { return ResponseUtil.success(chargeService.getChargeByPoleId(PoleId)); } } ximon-admin/src/main/java/com/sandu/ximon/admin/controller/C3mOrderController.java
@@ -1,19 +1,24 @@ package com.sandu.ximon.admin.controller; import com.sandu.common.domain.ResponseVO; import com.sandu.common.execption.BusinessException; import com.sandu.common.util.ResponseUtil; import com.sandu.ximon.admin.param.PayParam; import com.sandu.ximon.admin.service.C3ChargingService; import com.sandu.ximon.admin.service.C3mOrderService; import com.sandu.ximon.dao.domain.C3mCharging; import com.sandu.ximon.dao.domain.C3mOrder; import lombok.AllArgsConstructor; 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; import java.util.HashMap; import java.util.Map; /** * @Author liuhaonan * @Date 2022/3/22 14:10 * @Version 1.0 */ @RestController @@ -22,12 +27,11 @@ public class C3mOrderController { private final C3mOrderService c3mOrderService; private final C3ChargingService c3mService; /** * 鿬¾ * * @param params * @return */ @PostMapping("/refond") @@ -38,4 +42,38 @@ (Double) params.get("refundAmount"))); } /** * é¢ä»æ¬¾ï¼çæè®¢å(æç´æ¥ä»redisä¸è·åå½åæªè¿æç订å) * * @return */ @PostMapping("/advancePay") public ResponseVO<Object> advancePayOrder(@RequestBody PayParam param) { if (param.getTotalAmount() == 0d) { throw new BusinessException("éé¢ä¸è½ä¸º0"); } // C3å çµæ¡©å®ä½ C3mCharging c3m = c3mService.getC3mByPoleId(param.getPoleId()); if (null == c3m) { throw new BusinessException("æªæ¾å°å½åå çµæ¡©"); } C3mOrder c3mOrderEntity = c3mOrderService.advancePayOrder(param.getPoleId(), c3m, param.getOrderType() , param.getTotalAmount(), param.getSubscribeChargingCapacity()); if (null == c3mOrderEntity) { throw new BusinessException("该å çµæ¡©æ£è¢«ä½¿ç¨!"); } // return R.ok().put("outTradeNo",c3mOrderEntity.getOutTradeNo()) // .put("totalAmount",totalAmount); Map map=new HashMap(); map.put("outTradeNo",c3mOrderEntity.getOutTradeNo()); map.put("totalAmount",param.getTotalAmount()); return ResponseUtil.success(map); } } ximon-admin/src/main/java/com/sandu/ximon/admin/param/IpVolumeMissionParam.java
@@ -53,10 +53,16 @@ TaskTerminalVO[] terminals; private List<Integer> terminalIds; private List<Integer> fileIds; TaskRunTimeVO[] exec; // 任塿§è¡è§åï¼æ¯å¤©ä¸º 0ï¼æ¯å¨ä¸º 1ï¼æå¨ä¸º 2) private Integer rule; /* */ ximon-admin/src/main/java/com/sandu/ximon/admin/param/PayParam.java
¶Ô±ÈÐÂÎļþ @@ -0,0 +1,19 @@ package com.sandu.ximon.admin.param; import lombok.Data; /** * @Author liuhaonan * @Date 2022/3/22 16:46 * @Version 1.0 */ @Data public class PayParam { Long poleId; String orderType; Double totalAmount; Integer subscribeChargingCapacity; } ximon-admin/src/main/java/com/sandu/ximon/admin/security/order/C3mOrderQueryEvent.java
¶Ô±ÈÐÂÎļþ @@ -0,0 +1,29 @@ package com.sandu.ximon.admin.security.order; import com.sandu.ximon.dao.domain.C3mOrder; import org.springframework.context.ApplicationEvent; /** * @Author liuhaonan * @Version 1.0 */ public class C3mOrderQueryEvent extends ApplicationEvent { private C3mOrder c3mOrderEntity; private Long startTime; public C3mOrderQueryEvent(Object source, C3mOrder c3mOrderEntity, Long startTime) { super(source); this.c3mOrderEntity = c3mOrderEntity; this.startTime = startTime; } public C3mOrder getC3mOrderEntity() { return c3mOrderEntity; } public Long getStartTime() { return startTime; } } ximon-admin/src/main/java/com/sandu/ximon/admin/security/order/OrderQueryListener.java
¶Ô±ÈÐÂÎļþ @@ -0,0 +1,49 @@ package com.sandu.ximon.admin.security.order; import com.sandu.ximon.admin.utils.SpringContextUtil; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.context.ApplicationEventPublisher; import org.springframework.stereotype.Component; import java.util.concurrent.ExecutorService; import java.util.concurrent.Executors; @Component("OrderQueryListener") public class OrderQueryListener { @Autowired public ApplicationEventPublisher publisher; private static final ExecutorService orderEventPool = Executors.newFixedThreadPool(5); public static OrderQueryListener getBean(){ return (OrderQueryListener) SpringContextUtil.getBean("OrderQueryListener"); } /** * å¯å¨è®¢åæ«æ * @param type 0:C3å çµæ¡©æ«æå¯å¨ */ public void startScan (Integer type) { // è½½å ¥è®¢åæ«æ orderEventPool.submit(new OrderQueryTask(type)); } // @Scheduled(cron = "0/10 * * * * ? ") // public void orderScan () { // if(isQuery) { // /** // * è·åææè®¢åï¼æ ¹æ®è®¢åç±»åä¸åè¿è¡ä¸åçQuery // */ // // C3å çµæ¡©é¨å // Set<String> keys = redisUtils.keys(C3mRedisConstant.C3_NO_PAY_ORDER.getCode() + "*"); // for (String key : keys) { // C3mOrderEntity c3mOrderEntity = JSON.parseObject(redisUtils.get(key), C3mOrderEntity.class); // LogUtils.error("æ¥è¯¢è®¢åï¼" + JSON.toJSONString(c3mOrderEntity)); // publisher.publishEvent(new C3mOrderQueryEvent(this, c3mOrderEntity)); // } // } // } } ximon-admin/src/main/java/com/sandu/ximon/admin/security/order/OrderQueryTask.java
¶Ô±ÈÐÂÎļþ @@ -0,0 +1,107 @@ package com.sandu.ximon.admin.security.order; import com.alibaba.fastjson.JSON; import com.sandu.ximon.admin.config.C3mRedisConfig; import com.sandu.ximon.admin.utils.LogUtils; import com.sandu.ximon.admin.utils.RedisUtils; import com.sandu.ximon.dao.domain.C3mOrder; import com.sandu.ximon.dao.enums.C3mRedisConstant; import lombok.Data; import java.util.Date; import java.util.Queue; import java.util.Set; import java.util.concurrent.ConcurrentLinkedQueue; @Data public class OrderQueryTask implements Runnable{ private static Queue<OrderQueryTask> taskList = new ConcurrentLinkedQueue<>(); // ä»»å¡ç±»å:C3è®¢åæ«æ(0)ã private Integer type; // æ¯å¦ç»§ç»æ«æ private boolean isScanning = true; public void stopTask(){ this.isScanning = false; } public OrderQueryTask(Integer type) { this.type = type; } @Override public void run() { /** * å¯å¨åï¼ç»æ¢ææç¸åç±»åçæ«æä»»å¡ */ stopAndAddTask(type, this); for(OrderQueryTask task :taskList) { if(task.getType().equals(0)){ // å¯å¨C3è®¢åæ«æ c3mOrderTaskScan(); } } } private void c3mOrderTaskScan() { LogUtils.error("å¯å¨C3mè®¢åæ«æä»»å¡"); Long totalTime = 0L; // ç»§ç»æ«ææ¶ï¼è¿è¡å¾ªç¯æ«æ while(isScanning) { totalTime = totalTime + C3mRedisConfig.ORDER_QUERY_TIME; // å¤ææ«ææ¶é¿æ¯å¦å·²è¶ åºè®¢åè¶ æ¶æ¶é´ if(totalTime > C3mRedisConfig.ORDER_MAX_TIME) { return; } // çå¾ æ«æé´é try { Thread.sleep(C3mRedisConfig.ORDER_QUERY_TIME * 1000); } catch (InterruptedException e) { e.printStackTrace(); } // 夿æ¯å¦ç»§ç»æ«æ if(isScanning) { /** * è·åææè®¢åï¼æ ¹æ®è®¢åç±»åä¸åè¿è¡ä¸åçQuery */ // C3å çµæ¡©é¨å RedisUtils redisUtils = RedisUtils.getBean(); Set<String> keys = redisUtils.keys(C3mRedisConstant.C3_NO_PAY_ORDER.getCode() + "*"); for (String key : keys) { C3mOrder c3mOrderEntity = JSON.parseObject(redisUtils.get(key), C3mOrder.class); LogUtils.error("å½åè®¢åæ»æ°ï¼"+keys.size()+",æ¨éæ¥è¯¢è®¢å("+c3mOrderEntity.getOutTradeNo()+")å°äºä»¶å¤çï¼" + JSON.toJSONString(c3mOrderEntity)); OrderQueryListener.getBean().publisher.publishEvent(new C3mOrderQueryEvent(this, c3mOrderEntity, new Date().getTime())); } }else { return; } } } public void stopAndAddTask (Integer type, OrderQueryTask newTask) { synchronized (OrderQueryTask.class) { LogUtils.error("éç½®å¹¶æ¸ ç©ºè®¢åæ«æéå"); boolean clear = true; Queue<OrderQueryTask> newTaskList = new ConcurrentLinkedQueue<>(); newTaskList.offer(newTask); while (clear) { OrderQueryTask task = taskList.poll(); if (null == task) { clear = false; } else { if (task.getType().equals(type)) { task.stopTask(); } else { newTaskList.offer(task); } } } taskList = newTaskList; } } } ximon-admin/src/main/java/com/sandu/ximon/admin/security/order/OrderScanType.java
¶Ô±ÈÐÂÎļþ @@ -0,0 +1,16 @@ package com.sandu.ximon.admin.security.order; public enum OrderScanType { C3M(0) ; private Integer type; OrderScanType(Integer type) { this.type = type; } public Integer getType() { return type; } } ximon-admin/src/main/java/com/sandu/ximon/admin/service/C3ChargingService.java
@@ -15,6 +15,7 @@ import com.sandu.ximon.admin.manager.iot.rrpc.mainboard.MainBoardInvokeSyncService; import com.sandu.ximon.dao.domain.C3mCharging; import com.sandu.ximon.dao.domain.C3mChargingCharge; import com.sandu.ximon.dao.domain.PoleBinding; import com.sandu.ximon.dao.mapper.C3mChargingMapper; import lombok.AllArgsConstructor; import lombok.extern.slf4j.Slf4j; @@ -33,6 +34,7 @@ public class C3ChargingService extends BaseServiceImpl<C3mChargingMapper, C3mCharging> { private final C3mChargingChargeService c3mChargingChargeService; private final PoleBindingService bindingService; /** * ä¿å䏿¥C3å çµè®¾å¤å¿è·³æ°æ® @@ -478,4 +480,12 @@ throw new BusinessException("æ°æ®æ ¡éªé误ï¼è¯·éæ°è¯·æ±"); } } public C3mCharging getC3mByPoleId(Long poleId) { PoleBinding one = bindingService.getOne(Wrappers.lambdaQuery(PoleBinding.class).eq(PoleBinding::getDeviceType, 2).eq(PoleBinding::getPoleId, poleId)); if (one == null) { throw new BusinessException("æªæ¾å°ç»å®å ³ç³»"); } return getOne(Wrappers.lambdaQuery(C3mCharging.class).eq(C3mCharging::getC3Mac, one.getDeviceCode())); } } ximon-admin/src/main/java/com/sandu/ximon/admin/service/C3mChargingChargeService.java
@@ -1,10 +1,14 @@ package com.sandu.ximon.admin.service; import cn.hutool.core.bean.BeanUtil; import com.baomidou.mybatisplus.core.toolkit.Wrappers; import com.sandu.common.execption.BusinessException; import com.sandu.common.service.impl.BaseServiceImpl; import com.sandu.ximon.admin.param.C3mChargingChargeParam; import com.sandu.ximon.dao.domain.C3mChargingCharge; import com.sandu.ximon.dao.domain.PoleBinding; import com.sandu.ximon.dao.mapper.C3mChargingChargeMapper; import com.sandu.ximon.dao.mapper.C3mChargingMapper; import lombok.AllArgsConstructor; import org.springframework.stereotype.Service; @@ -23,6 +27,8 @@ @AllArgsConstructor public class C3mChargingChargeService extends BaseServiceImpl<C3mChargingChargeMapper, C3mChargingCharge> { private final C3mChargingChargeMapper c3mChargingChargeMapper; private final PoleBindingService bindingService; private final C3mChargingMapper chargingMapper; /** * ä¿®æ¹è´¹ç @@ -47,6 +53,7 @@ /** * æå ¥è´¹ç * * @param c3 * @return */ @@ -60,6 +67,7 @@ /** * èªå¨æå ¥é»è®¤è´¹ç * * @param c3Id */ public void initCharge(Integer c3Id) { @@ -130,4 +138,17 @@ } /** * æ ¹æ®ç¯æidæ¥æ¾è´¹ç * @param poleId * @return */ public List<C3mChargingCharge> getChargeByPoleId(Long poleId) { PoleBinding one = bindingService.getOne(Wrappers.lambdaQuery(PoleBinding.class).eq(PoleBinding::getDeviceType, 2).eq(PoleBinding::getPoleId, poleId)); if (one == null) { throw new BusinessException("æªæ¾å°ç»å®å ³ç³»"); } Long c3Id = chargingMapper.getAllByC3Mac(one.getDeviceCode()).getC3Id(); return getChargeByC3Id(c3Id.intValue()); } } ximon-admin/src/main/java/com/sandu/ximon/admin/service/C3mOrderService.java
@@ -1,11 +1,20 @@ package com.sandu.ximon.admin.service; import com.alibaba.fastjson.JSON; import com.sandu.common.execption.BusinessException; import com.sandu.common.service.impl.BaseServiceImpl; import com.sandu.ximon.admin.config.C3mRedisConfig; import com.sandu.ximon.admin.pay.wx.WxFastPayService; import com.sandu.ximon.admin.security.SecurityUtils; import com.sandu.ximon.admin.security.order.OrderQueryListener; import com.sandu.ximon.admin.security.order.OrderScanType; import com.sandu.ximon.admin.utils.AliPayUtils; import com.sandu.ximon.admin.utils.RedisUtils; import com.sandu.ximon.admin.vo.C3mOrderVO; import com.sandu.ximon.dao.domain.C3mCharging; import com.sandu.ximon.dao.domain.C3mOrder; import com.sandu.ximon.dao.domain.Pole; import com.sandu.ximon.dao.enums.C3mRedisConstant; import com.sandu.ximon.dao.enums.OrderStatus; import com.sandu.ximon.dao.enums.OrderType; import com.sandu.ximon.dao.mapper.C3mOrderMapper; @@ -23,8 +32,11 @@ @AllArgsConstructor public class C3mOrderService extends BaseServiceImpl<C3mOrderMapper, C3mOrder> { private final RedisUtils redisUtils; private final PoleService poleService; private final C3mOrderMapper c3mOrderMapper; private final WxFastPayService fastPayService; private final OrderQueryListener orderQueryListener; public boolean orderRefund(String outTradeNo, Double refundAmount/*, Long userId, String username*/) { Long userId = SecurityUtils.getUserId(); @@ -91,4 +103,38 @@ return false; } } public C3mOrder advancePayOrder(Long streetlightId, C3mCharging c3m, String orderType, Double totalAmount, Integer subscribeChargingCapacity) { // å¤æè¯¥å çµæ¡©æ¯å¦å卿£å¨è¿è¡ä¸ç订å String chargingJson = redisUtils.get(C3mRedisConstant.C3_CHARGING_ORDER.getCode() + c3m.getC3Mac()); if (null != chargingJson) { return null; } Pole pole = poleService.getById(streetlightId); if (null == pole) { return null; } // çæè®¢åï¼å¹¶å è½½å°redisç¼åï¼è®¾ç½®è¶ æ¶æ¶é´ä¸º5åé C3mOrder c3mOrderEntity = new C3mOrderVO().generateOrder( streetlightId, pole.getDeviceCode(), c3m.getC3Mac(), OrderType.getOrderType(orderType), totalAmount, subscribeChargingCapacity ); // å è½½å°redisç¼åä¸, æ¥è¯¢æ¨¡åèªå¨æ¥è¯¢ç¶æå¹¶å¤ç boolean b = redisUtils.set( C3mRedisConstant.C3_NO_PAY_ORDER.getCode() + c3m.getC3Mac() + c3mOrderEntity.getOutTradeNo(), JSON.toJSONString(c3mOrderEntity), C3mRedisConfig.ORDER_MAX_TIME ); // æ¨éå°èªå¨æ¥è¯¢æ¨¡åï¼è¿è¡æ«æå¯å¨ orderQueryListener.startScan(OrderScanType.C3M.getType()); return b ? c3mOrderEntity : null; } } ximon-admin/src/main/java/com/sandu/ximon/admin/service/IpVolumeMissionService.java
@@ -14,7 +14,10 @@ import com.sandu.ximon.admin.vo.TaskTerminalVO; import com.sandu.ximon.admin.vo.TaskVO; import com.sandu.ximon.dao.bo.IpVolumeMissionBo; import com.sandu.ximon.dao.domain.*; import com.sandu.ximon.dao.domain.BroadcastV2TaskFile; import com.sandu.ximon.dao.domain.BroadcastV2TaskTerminal; import com.sandu.ximon.dao.domain.IpVolumeFile; import com.sandu.ximon.dao.domain.IpVolumeMission; import com.sandu.ximon.dao.mapper.IpVolumeMissionMapper; import lombok.AllArgsConstructor; import org.springframework.beans.BeanUtils; @@ -22,7 +25,6 @@ import java.math.BigInteger; import java.util.ArrayList; import java.util.Collections; import java.util.HashSet; import java.util.List; @@ -353,7 +355,7 @@ //return new ArrayList<>(); } public IpVolumeMission getByTaskId(Integer taskId) { public TaskVO getByTaskId(Integer taskId) { TaskVO task = TaskAPIUtils.getTask(taskId); if (task == null) { throw new BusinessException("æå¡å¨æªæ¾å°è¯¥ä»»å¡"); @@ -377,8 +379,8 @@ } byId.setWeeks("0" + Integer.toBinaryString(byId.getWeek())); task.setWeeks("0" + Integer.toBinaryString(byId.getWeek())); // byId.setWeeks("0" + Integer.toBinaryString(byId.getWeek())); // IpVolumeMissionBo bo = new IpVolumeMissionBo(); List<BroadcastV2TaskFile> taskFiles = broadcastV2TaskFileService.list(Wrappers.lambdaQuery(BroadcastV2TaskFile.class) @@ -389,31 +391,33 @@ // if(taskFiles.isEmpty()||taskTerminals.isEmpty()){ // throw new BusinessException(""); // } if(!taskFiles.isEmpty()){ taskFiles.forEach( fileId->{ if (!taskFiles.isEmpty()) { taskFiles.forEach( fileId -> { // IpVolumeFile volumeFile = ipVolumeFileService.getById(fileId.getFileId()); // if(volumeFile==null){ // throw new BusinessException("任塿件ä¸åå¨"); // } byId.getFileIds().add(fileId.getFileId()); } ); task.getFileIds().add(fileId.getFileId()); // byId.getFileIds().add(fileId.getFileId()); } ); } if(!taskTerminals.isEmpty()){ if (!taskTerminals.isEmpty()) { taskTerminals.forEach( terminalId->{ terminalId -> { // BroadcastTerminalV2Entity v2Entity = ipVolumeService.getById(terminalId.getTerminalId()); // if(v2Entity==null){ // throw new BusinessException("è¯¥ä»»å¡ææ 设å¤ä½¿ç¨"); // } byId.getTerminalIds().add(terminalId.getTerminalId()); task.getTerminalIds().add(terminalId.getTerminalId()); // byId.getTerminalIds().add(terminalId.getTerminalId()); } ); } return byId; return task; } ximon-admin/src/main/java/com/sandu/ximon/admin/service/PoleService.java
@@ -641,7 +641,10 @@ if (pole == null) { throw new BusinessException("ç¯æä¸åå¨"); } pole.setClientId(clientId); pole.setUserId(clientId); if(!clientService.findClientId(clientId)){ pole.setClientId(clientService.getClientId(clientId)); } r = updateById(pole); if (!r) { ximon-admin/src/main/java/com/sandu/ximon/admin/vo/TaskVO.java
@@ -1,11 +1,15 @@ package com.sandu.ximon.admin.vo; import com.baomidou.mybatisplus.annotation.TableField; import com.fasterxml.jackson.annotation.JsonIgnore; import com.sandu.ximon.admin.dto.BroadcastTaskType; import com.sandu.ximon.admin.param.IPTaskParam; import com.sandu.ximon.admin.param.IpVolumeMissionParam; import lombok.Data; import java.math.BigInteger; import java.util.ArrayList; import java.util.List; @Data public class TaskVO { @@ -76,6 +80,7 @@ // ç³»ç»ä¿ç private BigInteger btime; // 任塿§è¡è§åï¼æ¯å¤©ä¸º 0ï¼æ¯å¨ä¸º 1ï¼æå¨ä¸º 2) @JsonIgnore private Integer rule; // ä»»å¡å¼å§æ¥æï¼ä¸è¬ä¸ºä»»å¡åå»ºæ¥æ private BigInteger bdate; @@ -110,10 +115,18 @@ // 任塿§è¡æ¶é´å表 private TaskRunTimeVO[] exec; // é³é¢æä»¶å表 @JsonIgnore private TaskMediaFileVO[] files; // ææ¾ç»ç«¯ ID å表 @JsonIgnore private TaskTerminalVO[] terminals; @JsonIgnore private String userName; private String weeks; private List<Integer> fileIds=new ArrayList<>(); private List<Integer> TerminalIds=new ArrayList<>(); }