feat: 业务重置

master
李小林 7 months ago
parent b315b3a045
commit af16f70943
  1. 7
      src/main/java/com/bellmann/common/constant/ResConstants.java
  2. 13
      src/main/java/com/bellmann/controller/DeviceStaticController.java
  3. 9
      src/main/java/com/bellmann/mapper/DeviceOrderFlowMapper.java
  4. 4
      src/main/java/com/bellmann/mapper/DeviceServiceArgsMapper.java
  5. 3
      src/main/java/com/bellmann/mapper/ServiceMapper.java
  6. 43
      src/main/java/com/bellmann/model/bo/ResetServiceBO.java
  7. 36
      src/main/java/com/bellmann/model/entity/DeviceOrderFlow.java
  8. 4
      src/main/java/com/bellmann/model/entity/DeviceServiceArgs.java
  9. 4
      src/main/java/com/bellmann/runner/UIService.java
  10. 8
      src/main/java/com/bellmann/service/DeviceStaticService.java
  11. 234
      src/main/java/com/bellmann/service/impl/DeviceStaticServiceImpl.java
  12. 16
      src/main/resources/mapper/DeviceServiceArgsMapper.xml
  13. 26
      src/main/resources/mapper/ServiceMapper.xml

@ -0,0 +1,7 @@
package com.bellmann.common.constant;
public interface ResConstants {
public static final String HN_PROVICE = "HUNAN";
public static final String YN_PROVICE = "YUNNAN";
}

@ -350,4 +350,17 @@ public class DeviceStaticController {
log.info("{}任务执行中: {}", RemoteOperateMsgEnum.DOWNLOAD_CONFIG.getLabel(), taskId); log.info("{}任务执行中: {}", RemoteOperateMsgEnum.DOWNLOAD_CONFIG.getLabel(), taskId);
return Result.success(); return Result.success();
} }
@GetMapping("/remote/reset-service/{devId}/{serviceName}")
@Operation(summary = "远程操作-业务重置")
@PreventDuplicateSubmit(expire = 60)
public Result<String> remoteResetService(@PathVariable Long devId,@PathVariable String serviceName){
deviceStaticService.remoteResetService(devId,serviceName);
try {
TimeUnit.MILLISECONDS.sleep(SystemConstants.TASK_TIME_OUT_CONST2);
} catch (InterruptedException e) {
throw new RuntimeException(e);
}
return Result.success();
}
} }

@ -0,0 +1,9 @@
package com.bellmann.mapper;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.bellmann.model.entity.DeviceOrderFlow;
import org.apache.ibatis.annotations.Mapper;
@Mapper
public interface DeviceOrderFlowMapper extends BaseMapper<DeviceOrderFlow> {
}

@ -3,6 +3,9 @@ package com.bellmann.mapper;
import com.bellmann.model.entity.DeviceServiceArgs; import com.bellmann.model.entity.DeviceServiceArgs;
import com.baomidou.mybatisplus.core.mapper.BaseMapper; import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import org.apache.ibatis.annotations.Mapper; import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;
import java.util.List;
/** /**
* <p> * <p>
@ -15,4 +18,5 @@ import org.apache.ibatis.annotations.Mapper;
@Mapper @Mapper
public interface DeviceServiceArgsMapper extends BaseMapper<DeviceServiceArgs> { public interface DeviceServiceArgsMapper extends BaseMapper<DeviceServiceArgs> {
List<DeviceServiceArgs> resetServiceByServIdAndDevId(@Param("servId") Long servId, @Param("devId") Long devId);
} }

@ -3,6 +3,7 @@ package com.bellmann.mapper;
import com.baomidou.mybatisplus.core.mapper.BaseMapper; import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.bellmann.model.bo.DeviceServiceArgsBO; import com.bellmann.model.bo.DeviceServiceArgsBO;
import com.bellmann.model.bo.ResetServiceBO;
import com.bellmann.model.entity.Business; import com.bellmann.model.entity.Business;
import com.bellmann.model.vo.BusinessVO; import com.bellmann.model.vo.BusinessVO;
import com.bellmann.model.vo.DeviceBusinessVO; import com.bellmann.model.vo.DeviceBusinessVO;
@ -25,4 +26,6 @@ public interface ServiceMapper extends BaseMapper<Business> {
DeviceServiceArgsBO getConnType(@Param("devId") Long devId,@Param("connType") String connType); DeviceServiceArgsBO getConnType(@Param("devId") Long devId,@Param("connType") String connType);
List<DeviceBusinessVO> tabs(@Param("devId") Long devId); List<DeviceBusinessVO> tabs(@Param("devId") Long devId);
List<ResetServiceBO> resetServiceByDevId(@Param("devId") Long devId, @Param("serviceName") String serviceName);
} }

@ -0,0 +1,43 @@
package com.bellmann.model.bo;
import lombok.Data;
import lombok.ToString;
import java.time.LocalDateTime;
/**
* <p>
*
* </p>
*
* @author 李小林
* @since 2024-07-12
*/
@Data
@ToString
public class ResetServiceBO {
private Long devId;
private Long servId;
private Long orderId;
private String servMapStatus;
private Integer servMapErrorCount;
private LocalDateTime servStatusTime;
private String servMapRemark;
private String servName;
private String servVerName;
private String servDisplayName;
private String servDesc;
private Long pluginFileId;
}

@ -0,0 +1,36 @@
package com.bellmann.model.entity;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import lombok.Data;
import java.io.Serializable;
import java.util.Date;
/**
* (DeviceOrderFlow)实体类
*
* @author makejava
* @since 2024-08-02 15:08:41
*/
@Data
@TableName("itms_device_order_flow")
public class DeviceOrderFlow implements Serializable {
private static final long serialVersionUID = 139506503600641324L;
@TableId(type = IdType.AUTO)
private Long devId;
private String orderFlowRoot;
private String orderFlowXbind;
private Date operDate;
private String flowStatus;
private String uniqueUserId;
}

@ -6,7 +6,7 @@ import lombok.EqualsAndHashCode;
import lombok.ToString; import lombok.ToString;
import java.io.Serializable; import java.io.Serializable;
import java.util.Date; import java.time.LocalDateTime;
/** /**
* <p> * <p>
@ -32,7 +32,7 @@ public class DeviceServiceArgs implements Serializable {
private String argsValue; private String argsValue;
private Date argsUpdateTime; private LocalDateTime argsUpdateTime;
private String servArgsRemark; private String servArgsRemark;

@ -23,6 +23,9 @@ public class UIService extends ServiceManager {
@Getter @Getter
private static String task_timeOut; private static String task_timeOut;
@Getter
private static String province;
public UIService(String[] args) { public UIService(String[] args) {
super(args); super(args);
} }
@ -41,6 +44,7 @@ public class UIService extends ServiceManager {
OAMManager.init(getStringValueByName("Service.Name.OAM")); OAMManager.init(getStringValueByName("Service.Name.OAM"));
nbiOrderUrl = getStringValueByName("nbiOrderUrl"); nbiOrderUrl = getStringValueByName("nbiOrderUrl");
mergeUrl = getStringValueByName("mergeUrl"); mergeUrl = getStringValueByName("mergeUrl");
province = getStringValueByName("STR.PROVINCE");
return true; return true;
} }

@ -5,10 +5,11 @@ import com.bellmann.common.result.PageResult;
import com.bellmann.common.result.Result; import com.bellmann.common.result.Result;
import com.bellmann.model.form.*; import com.bellmann.model.form.*;
import com.bellmann.model.query.DevOuiSnoQuery; import com.bellmann.model.query.DevOuiSnoQuery;
import com.bellmann.model.query.ReportBasicQuery;
import com.bellmann.model.query.SelectQuery; import com.bellmann.model.query.SelectQuery;
import com.bellmann.model.vo.*; import com.bellmann.model.vo.EquipmentVO;
import org.apache.ibatis.annotations.Param; import com.bellmann.model.vo.RemoteDevInfoVO;
import com.bellmann.model.vo.RemoteEquipmentVO;
import com.bellmann.model.vo.RemoteOperateResult;
import java.util.List; import java.util.List;
import java.util.Map; import java.util.Map;
@ -64,4 +65,5 @@ public interface DeviceStaticService {
void exeCustomTaskByIds(Long devId, Integer[] ids); void exeCustomTaskByIds(Long devId, Integer[] ids);
void remoteResetService(Long devId, String serviceName);
} }

@ -6,6 +6,7 @@ import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper; import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.bellmann.common.base.IBaseEnum; import com.bellmann.common.base.IBaseEnum;
import com.bellmann.common.constant.ResConstants;
import com.bellmann.common.constant.SecurityConstants; import com.bellmann.common.constant.SecurityConstants;
import com.bellmann.common.constant.StringUtilsConstants; import com.bellmann.common.constant.StringUtilsConstants;
import com.bellmann.common.constant.SystemConstants; import com.bellmann.common.constant.SystemConstants;
@ -20,12 +21,14 @@ import com.bellmann.mapper.*;
import com.bellmann.model.bo.DownloadInfo; import com.bellmann.model.bo.DownloadInfo;
import com.bellmann.model.bo.EquipmentBO; import com.bellmann.model.bo.EquipmentBO;
import com.bellmann.model.bo.RemoteEquipmentBO; import com.bellmann.model.bo.RemoteEquipmentBO;
import com.bellmann.model.bo.ResetServiceBO;
import com.bellmann.model.dto.OperationTask; import com.bellmann.model.dto.OperationTask;
import com.bellmann.model.entity.*; import com.bellmann.model.entity.*;
import com.bellmann.model.form.*; import com.bellmann.model.form.*;
import com.bellmann.model.query.DevOuiSnoQuery; import com.bellmann.model.query.DevOuiSnoQuery;
import com.bellmann.model.query.SelectQuery; import com.bellmann.model.query.SelectQuery;
import com.bellmann.model.vo.*; import com.bellmann.model.vo.*;
import com.bellmann.runner.UIService;
import com.bellmann.security.util.SecurityUtils; import com.bellmann.security.util.SecurityUtils;
import com.bellmann.service.DeviceStaticService; import com.bellmann.service.DeviceStaticService;
import com.bellmann.service.FileOptionService; import com.bellmann.service.FileOptionService;
@ -34,11 +37,8 @@ import com.zznode.itms.api.NBIManager;
import com.zznode.itms.api.OAMManager; import com.zznode.itms.api.OAMManager;
import com.zznode.itms.api.Utils; import com.zznode.itms.api.Utils;
import com.zznode.itms.idl.device.*; import com.zznode.itms.idl.device.*;
import com.zznode.itms.idl.order.OrderInfoStructListHolder; import com.zznode.itms.idl.order.*;
import com.zznode.itms.idl.order.OrderStatus; import com.zznode.itms.idl.resourcedefinition.*;
import com.zznode.itms.idl.order.OrderType;
import com.zznode.itms.idl.resourcedefinition.RDeviceDetailListHolder;
import com.zznode.itms.idl.resourcedefinition.RDeviceStaticStruct;
import lombok.RequiredArgsConstructor; import lombok.RequiredArgsConstructor;
import lombok.extern.slf4j.Slf4j; import lombok.extern.slf4j.Slf4j;
import org.apache.commons.lang3.StringUtils; import org.apache.commons.lang3.StringUtils;
@ -49,6 +49,7 @@ import org.springframework.transaction.annotation.Transactional;
import java.math.BigDecimal; import java.math.BigDecimal;
import java.math.RoundingMode; import java.math.RoundingMode;
import java.sql.Timestamp;
import java.time.LocalDateTime; import java.time.LocalDateTime;
import java.util.*; import java.util.*;
import java.util.concurrent.TimeUnit; import java.util.concurrent.TimeUnit;
@ -100,6 +101,10 @@ public class DeviceStaticServiceImpl implements DeviceStaticService {
private final CustomTaskMapper customTaskMapper; private final CustomTaskMapper customTaskMapper;
private final ServiceMapper serviceMapper;
private final DeviceOrderFlowMapper deviceOrderFlowMapper;
@Override @Override
public Page<EquipmentVO> resourcePage(SelectQuery query) { public Page<EquipmentVO> resourcePage(SelectQuery query) {
@ -987,4 +992,223 @@ public class DeviceStaticServiceImpl implements DeviceStaticService {
} }
} }
@Override
public void remoteResetService(Long devId, String serviceName) {
DeviceStatic deviceStatic = deviceStaticMapper.selectOne(new LambdaQueryWrapper<DeviceStatic>()
.eq(DeviceStatic::getDevId, devId)
);
Customer customer = customerManager.findByCustomId(deviceStatic.getCustomId());
List<ResetServiceBO> list = serviceMapper.resetServiceByDevId(devId,serviceName);
if (list.isEmpty()){
throw new BusinessException(ResultCode.DATA_NOT_FOUND);
}
RDevServiceInfoDetailStruct[] struct = new RDevServiceInfoDetailStruct[list.size()];
for (int index=0;index<list.size();index++){
ResetServiceBO bo = list.get(index);
RDevServiceInfoDetailStruct devServiceInfoDetail = new RDevServiceInfoDetailStruct();
RServiceStruct service = new RServiceStruct();
RDevServiceStruct devService = new RDevServiceStruct();
service.servId = bo.getServId();
service.servName = Utils.convertStringNull(bo.getServName());
service.servVerName = Utils.convertStringNull(bo.getServVerName());
service.servDisplayName = Utils.convertStringNull(bo.getServDisplayName());
service.servDesc = Utils.convertStringNull(bo.getServDesc());
service.pluginFileId = Utils.setNumNull(bo.getPluginFileId());
devServiceInfoDetail.servInfo = service;
devService.devId = bo.getDevId();
devService.servId = bo.getServId();
devService.orderId = Utils.setNumNull(bo.getOrderId());
devService.servMapStatus = RDevServStatus.from_int(new Integer(bo.getServMapStatus()));
devService.servMapErrorCount = Utils.setNumNull(bo.getServMapErrorCount());
devService.servStatusTime = Utils.setTimestampNull(Timestamp.valueOf(bo.getServStatusTime()));
devService.servMapRemark = Utils.convertStringNull(bo.getServMapRemark());
devServiceInfoDetail.devServ = devService;
List<DeviceServiceArgs> args = deviceServiceArgsMapper.resetServiceByServIdAndDevId(bo.getServId(),bo.getDevId());
if (!args.isEmpty()){
RDevServArgsStruct[] devServArgsList = new RDevServArgsStruct[args.size()];
for (int i=0;i<args.size();i++){
DeviceServiceArgs entity = args.get(i);
RDevServArgsStruct devServArgs = new RDevServArgsStruct();
devServArgs.devId = entity.getDevId();
devServArgs.servId = entity.getServId();
devServArgs.argsTr069Name = Utils.convertStringNull(entity.getArgsTr069Name());
devServArgs.argsValue = Utils.convertStringNull(entity.getArgsValue());
devServArgs.argsUpdateTime = Utils.setTimestampNull(Timestamp.valueOf(entity.getArgsUpdateTime()));
devServArgs.servArgsRemark = Utils.convertStringNull(entity.getServArgsRemark());
devServArgsList[i] = devServArgs;
}
devServiceInfoDetail.devServArgsList = devServArgsList;
}
struct[index] = devServiceInfoDetail;
}
OrderInfoStruct orderInfoStruct = setResetOrderInfo(deviceStatic, customer, struct, serviceName);
int result = NBIManager.receiveOrderInfo(orderInfoStruct);
if (result!=0){
throw new BusinessException(ResultCode.NOT_GET_DEVICE);
}
}
private OrderInfoStruct setResetOrderInfo(DeviceStatic device,Customer customer,RDevServiceInfoDetailStruct[] devServiceInfoDetail,String serviceName){
OrderInfoStruct orderInfo = new OrderInfoStruct();
orderInfo.receiveOrderId = "Z" + System.currentTimeMillis();
orderInfo.receiveOrderLhs = "" + System.currentTimeMillis();
orderInfo.orderTime = System.currentTimeMillis();
orderInfo.orderReceiveDate = System.currentTimeMillis();
orderInfo.orderServiceType = OrderType.ORDER_SERVICE_MODIFY;
orderInfo.order_Status = OrderStatus.ORDER_UNSETTLE;
orderInfo.order_Remark = OrderRemark.ORDER_NORMAL;
orderInfo.customerAddrNew = "";
orderInfo.customerAddrOld = "";
orderInfo.customerNameNew = "";
orderInfo.customerNameOld = "";
orderInfo.contactPersonNew = "";
orderInfo.contactPersonOld = "";
orderInfo.orderCustomerKind = CustomerType.CUSTOMER_KIND_PERSONAL;
orderInfo.pppoePassword = "";
if (customer != null) {
orderInfo.customerAddrNew = customer.getCustomAddr();
orderInfo.customerNameNew = customer.getCustomName();
orderInfo.contactPersonNew = customer.getContactType();
if (Integer.parseInt(customer.getCustomType()) == RCustType.CORP.value()) {
orderInfo.orderCustomerKind = CustomerType.CUSTOMER_KIND_ENTERPRISE;
}
}
orderInfo.systemDomain = device.getRegionAreaId();
if (device.getCorpAreaId()!=null){
orderInfo.corpoationDomain = device.getCorpAreaId();
}
if (device.getDevPppoe()!=null){
orderInfo.pppoeAcount = device.getDevPppoe();
}
orderInfo.adNo = device.getDevAdNo();
orderInfo.dummy_Flag = DummyFlag.ORDER_DUMMY_TRUE;
orderInfo.devOuiSno = device.getDevRemark3() + "-" + device.getDevSno();
orderInfo.remark = "";
orderInfo.orderDone_Flag = OrderDoneFlag.ORDER_RETURN_FALSE;
String flowType = "0";
DeviceOrderFlow deviceOrderFlow = deviceOrderFlowMapper.selectOne(new LambdaQueryWrapper<DeviceOrderFlow>()
.eq(DeviceOrderFlow::getDevId, device.getDevId())
);
if (deviceOrderFlow!=null){
flowType = deviceOrderFlow.getOrderFlowRoot();
}
String loid = "";
if (null != device.getDevRemark4() && !device.getDevRemark4().isEmpty()) {
loid = device.getDevRemark4().split("\\^")[0];
}
if (ResConstants.HN_PROVICE.equals(UIService.getProvince())) {
if (device.getDevRemark4() == null || device.getDevRemark4().isEmpty()) {
orderInfo.flowType = flowType;
orderInfo.uniqueUserId = "";
orderInfo.userSnKey = "";
orderInfo.userSnNo = "";
orderInfo.lifeTime = Utils.LONG_NULL;
} else {
orderInfo.flowType = flowType;
orderInfo.uniqueUserId = device.getDevRemark4();
orderInfo.userSnKey = "";
orderInfo.userSnNo = device.getDevRemark4().split("\\^")[0];
orderInfo.lifeTime = -999;
}
} else if (ResConstants.YN_PROVICE.equals(UIService.getProvince())) {
if (device.getDevRemark4() == null || device.getDevRemark4().isEmpty()) {
orderInfo.flowType = flowType;
orderInfo.uniqueUserId = "";
orderInfo.userSnKey = "";
orderInfo.userSnNo = "";
orderInfo.lifeTime = Utils.LONG_NULL;
} else {
orderInfo.flowType = flowType;
orderInfo.uniqueUserId = device.getDevRemark4();
orderInfo.userSnKey = "";
orderInfo.userSnNo = device.getDevRemark4().split("\\^")[0];
orderInfo.lifeTime = -999;
}
} else {
if (loid.length() == 11 || loid.length() == 18) {
orderInfo.flowType = flowType;
orderInfo.uniqueUserId = device.getDevRemark4();
orderInfo.userSnKey = "";
orderInfo.userSnNo = loid;
orderInfo.lifeTime = -999;
} else {
orderInfo.flowType = flowType;
orderInfo.uniqueUserId = "";
orderInfo.userSnKey = "";
orderInfo.userSnNo = "";
orderInfo.lifeTime = Utils.LONG_NULL;
}
}
orderInfo.operRemark = "";
orderInfo.remark1 = "";
orderInfo.remark2 = "";
orderInfo.remark3 = "";
List<OrderServiceStruct> orderServiceVec = new ArrayList<>();
for (RDevServiceInfoDetailStruct rDevServiceInfoDetailStruct : devServiceInfoDetail) {
if (rDevServiceInfoDetailStruct.devServ.servStatusTime < orderInfo.orderTime) {
orderInfo.orderTime = rDevServiceInfoDetailStruct.devServ.servStatusTime;
}
if (serviceName
.equals(rDevServiceInfoDetailStruct.servInfo.servName)) {
OrderServiceStruct orderService = new OrderServiceStruct();
orderService.servName = rDevServiceInfoDetailStruct.servInfo.servName;
orderService.servFlag = "R"; // Reset
orderService.argsName = "";
orderService.argsValueNew = "";
orderService.argsValueOld = "";
orderService.orderId = Utils.LONG_NULL;
orderService.orderServiceId = Utils.LONG_NULL;
orderServiceVec.add(orderService);
break;
}
}
orderInfo.orderServiceList = new OrderServiceStruct[orderServiceVec
.size()];
for (int i = 0; i < orderServiceVec.size(); i++) {
orderInfo.orderServiceList[i] = orderServiceVec.get(i);
}
OrderInfoDetailStruct orderInfoDetail = new OrderInfoDetailStruct();
DeviceStaticDetail devStaticDetail = deviceStaticDetailMapper.selectOne(new LambdaQueryWrapper<DeviceStaticDetail>()
.eq(DeviceStaticDetail::getDevId,device.getDevId())
);
if (devStaticDetail == null) {
orderInfoDetail.bandAccess = "";
orderInfoDetail.cardId = "";
orderInfoDetail.cardKey = "";
orderInfoDetail.detailRemark1 = "";
orderInfoDetail.detailRemark2 = "";
orderInfoDetail.detailRemark3 = "";
orderInfoDetail.downRate = "";
orderInfoDetail.iptvAccess = "";
orderInfoDetail.iptvPort = "";
orderInfoDetail.orderKind = "";
orderInfoDetail.upRate = "";
orderInfoDetail.voipPhone = "";
} else {
orderInfoDetail.bandAccess = devStaticDetail.getBandAccess();
orderInfoDetail.iptvAccess = devStaticDetail.getIptvAccess();
orderInfoDetail.orderKind = devStaticDetail.getDevOwnerClass();
orderInfoDetail.cardId = "";
orderInfoDetail.cardKey = "";
orderInfoDetail.detailRemark1 = "";
orderInfoDetail.detailRemark2 = "";
orderInfoDetail.detailRemark3 = "";
orderInfoDetail.downRate = "";
orderInfoDetail.iptvPort = "";
orderInfoDetail.upRate = "";
orderInfoDetail.voipPhone = "";
}
orderInfo.orderInfoDetail = orderInfoDetail;
return orderInfo;
}
} }

@ -16,5 +16,21 @@
<sql id="Base_Column_List"> <sql id="Base_Column_List">
dev_id, serv_id, args_tr069_name, args_value, args_update_time, serv_args_remark dev_id, serv_id, args_tr069_name, args_value, args_update_time, serv_args_remark
</sql> </sql>
<select id="resetServiceByServIdAndDevId" resultType="com.bellmann.model.entity.DeviceServiceArgs">
SELECT ITMS_DEVICE_SERVICE_ARGS.dev_id,
ITMS_DEVICE_SERVICE_ARGS.serv_id,
ITMS_DEVICE_SERVICE_ARGS.args_tr069_name,
ITMS_DEVICE_SERVICE_ARGS.args_value,
ITMS_DEVICE_SERVICE_ARGS.args_update_time,
ITMS_DEVICE_SERVICE_ARGS.serv_args_remark
FROM
ITMS_DEVICE_SERVICE_MAP,
ITMS_DEVICE_SERVICE_ARGS
WHERE
ITMS_DEVICE_SERVICE_MAP.serv_id = ITMS_DEVICE_SERVICE_ARGS.serv_id
and ITMS_DEVICE_SERVICE_MAP.dev_id = ITMS_DEVICE_SERVICE_ARGS.dev_id
and ITMS_DEVICE_SERVICE_ARGS.serv_id = #{servId}
AND ITMS_DEVICE_SERVICE_MAP.dev_id = #{devId}
</select>
</mapper> </mapper>

@ -88,4 +88,30 @@
WHERE WHERE
aa.dev_id = #{devId} aa.dev_id = #{devId}
</select> </select>
<select id="resetServiceByDevId" resultType="com.bellmann.model.bo.ResetServiceBO">
SELECT DISTINCT
ITMS_SERVICE.SERV_ID,
ITMS_SERVICE.SERV_NAME,
ITMS_SERVICE.SERV_VER_NAME,
ITMS_SERVICE.SERV_DISPLAY_NAME,
ITMS_SERVICE.SERV_DESC,
ITMS_SERVICE.PLUGIN_FILE_ID,
ITMS_DEVICE_SERVICE_MAP.DEV_ID,
ITMS_DEVICE_SERVICE_MAP.ORDER_ID,
ITMS_DEVICE_SERVICE_MAP.SERV_MAP_STATUS,
ITMS_DEVICE_SERVICE_MAP.SERV_MAP_ERROR_COUNT,
ITMS_DEVICE_SERVICE_MAP.SERV_STATUS_TIME,
ITMS_DEVICE_SERVICE_MAP.SERV_MAP_REMARK
FROM
ITMS_DEVICE_STATIC,
ITMS_DEVICE_SERVICE_MAP,
ITMS_SERVICE,
ITMS_DEVICE_SERVICE_ARGS
WHERE
ITMS_DEVICE_STATIC.DEV_ID = ITMS_DEVICE_SERVICE_MAP.DEV_ID
AND ITMS_DEVICE_SERVICE_MAP.SERV_ID = ITMS_SERVICE.SERV_ID
AND ITMS_DEVICE_STATIC.DEV_ID= ITMS_DEVICE_SERVICE_ARGS.DEV_ID
AND ITMS_DEVICE_SERVICE_MAP.DEV_ID = #{devId}
AND ITMS_SERVICE.serv_name = #{serviceName}
</select>
</mapper> </mapper>

Loading…
Cancel
Save