From 064aa6e2f88b91ccc339dc77bb413a72fc53985a Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?=E6=9D=8E=E5=B0=8F=E6=9E=97?= <320730042@qq.com>
Date: Thu, 20 Jun 2024 16:44:17 +0800
Subject: [PATCH] =?UTF-8?q?feat:=20=E5=B7=A5=E5=8D=95=E5=8F=82=E6=95=B0?=
=?UTF-8?q?=E4=BF=AE=E6=94=B9?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
.../controller/OrderInfoDetailController.java | 21 +++++
.../controller/OrderServiceController.java | 13 +++
.../converter/OrderServiceConverter.java | 7 ++
.../mapper/OrderInfoDetailMapper.java | 18 ++++
.../bellmann/mapper/OrderInfoDetailMapper.xml | 27 ++++++
.../model/entity/OrderInfoDetail.java | 90 +++++++++++++++++++
.../com/bellmann/model/vo/OrderServiceVO.java | 21 +++++
.../service/OrderInfoDetailService.java | 13 +++
.../bellmann/service/OrderServiceService.java | 8 ++
.../impl/OrderInfoDetailServiceImpl.java | 17 ++++
.../service/impl/OrderServiceServiceImpl.java | 59 +++++++++++-
.../resources/mapper/DeviceStaticMapper.xml | 3 +-
12 files changed, 293 insertions(+), 4 deletions(-)
create mode 100644 src/main/java/com/bellmann/controller/OrderInfoDetailController.java
create mode 100644 src/main/java/com/bellmann/mapper/OrderInfoDetailMapper.java
create mode 100644 src/main/java/com/bellmann/mapper/OrderInfoDetailMapper.xml
create mode 100644 src/main/java/com/bellmann/model/entity/OrderInfoDetail.java
create mode 100644 src/main/java/com/bellmann/model/vo/OrderServiceVO.java
create mode 100644 src/main/java/com/bellmann/service/OrderInfoDetailService.java
create mode 100644 src/main/java/com/bellmann/service/impl/OrderInfoDetailServiceImpl.java
diff --git a/src/main/java/com/bellmann/controller/OrderInfoDetailController.java b/src/main/java/com/bellmann/controller/OrderInfoDetailController.java
new file mode 100644
index 0000000..e3d59a8
--- /dev/null
+++ b/src/main/java/com/bellmann/controller/OrderInfoDetailController.java
@@ -0,0 +1,21 @@
+package com.bellmann.controller;
+
+
+import org.springframework.web.bind.annotation.RequestMapping;
+
+import org.springframework.web.bind.annotation.RestController;
+
+/**
+ *
+ * 前端控制器
+ *
+ *
+ * @author 李小林
+ * @since 2024-06-20
+ */
+@RestController
+@RequestMapping("/orderInfoDetail")
+public class OrderInfoDetailController {
+
+}
+
diff --git a/src/main/java/com/bellmann/controller/OrderServiceController.java b/src/main/java/com/bellmann/controller/OrderServiceController.java
index fc03657..ddec9df 100644
--- a/src/main/java/com/bellmann/controller/OrderServiceController.java
+++ b/src/main/java/com/bellmann/controller/OrderServiceController.java
@@ -3,13 +3,17 @@ package com.bellmann.controller;
import com.bellmann.common.base.BasePageQuery;
import com.bellmann.common.result.PageResult;
+import com.bellmann.common.result.Result;
import com.bellmann.model.vo.OrderInfoBusinessVO;
+import com.bellmann.model.vo.OrderServiceVO;
import com.bellmann.service.OrderServiceService;
import io.swagger.v3.oas.annotations.Operation;
import io.swagger.v3.oas.annotations.tags.Tag;
import lombok.RequiredArgsConstructor;
import org.springframework.web.bind.annotation.*;
+import java.util.List;
+
/**
*
* 前端控制器
@@ -31,5 +35,14 @@ public class OrderServiceController {
public PageResult orderInfoBusinessPage(@RequestBody BasePageQuery query, @PathVariable Long orderId){
return orderServiceService.orderInfoBusinessPage(query,orderId);
}
+
+ @PostMapping("/order-service-parameter/{orderId}/{service}")
+ public PageResult orderServiceParameterPage(@RequestBody BasePageQuery query,@PathVariable Long orderId, @PathVariable String service){
+ return orderServiceService.orderServiceParameterPage(query,orderId,service);
+ }
+ @PostMapping("/service-parameter-update/{orderId}/{service}/{serviceFlag}")
+ public Result updateOrderServiceParameter(@RequestBody List list, @PathVariable Long orderId, @PathVariable String service, @PathVariable String serviceFlag){
+ return orderServiceService.updateOrderServiceParameter(list,orderId,service,serviceFlag);
+ }
}
diff --git a/src/main/java/com/bellmann/converter/OrderServiceConverter.java b/src/main/java/com/bellmann/converter/OrderServiceConverter.java
index d25deb0..eeed920 100644
--- a/src/main/java/com/bellmann/converter/OrderServiceConverter.java
+++ b/src/main/java/com/bellmann/converter/OrderServiceConverter.java
@@ -3,10 +3,13 @@ package com.bellmann.converter;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.bellmann.model.entity.OrderService;
import com.bellmann.model.vo.OrderInfoBusinessVO;
+import com.bellmann.model.vo.OrderServiceVO;
import org.mapstruct.Mapper;
import org.mapstruct.Mapping;
import org.mapstruct.Mappings;
+import java.util.List;
+
/**
* 用户对象转换器
*
@@ -24,4 +27,8 @@ public interface OrderServiceConverter {
Page entity2PageVo(Page entity);
+ Page entity2VOPage(Page voPage);
+
+ List vos2Entities(List list);
+
}
diff --git a/src/main/java/com/bellmann/mapper/OrderInfoDetailMapper.java b/src/main/java/com/bellmann/mapper/OrderInfoDetailMapper.java
new file mode 100644
index 0000000..31a8dea
--- /dev/null
+++ b/src/main/java/com/bellmann/mapper/OrderInfoDetailMapper.java
@@ -0,0 +1,18 @@
+package com.bellmann.mapper;
+
+import com.bellmann.model.entity.OrderInfoDetail;
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import org.apache.ibatis.annotations.Mapper;
+
+/**
+ *
+ * Mapper 接口
+ *
+ *
+ * @author 李小林
+ * @since 2024-06-20
+ */
+@Mapper
+public interface OrderInfoDetailMapper extends BaseMapper {
+
+}
diff --git a/src/main/java/com/bellmann/mapper/OrderInfoDetailMapper.xml b/src/main/java/com/bellmann/mapper/OrderInfoDetailMapper.xml
new file mode 100644
index 0000000..5be210d
--- /dev/null
+++ b/src/main/java/com/bellmann/mapper/OrderInfoDetailMapper.xml
@@ -0,0 +1,27 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ order_id, voip_phone, iptv_port, iptv_access, band_access, up_rate, down_rate, detail_remark1, detail_remark2, detail_remark3, order_kind, card_id, card_key
+
+
+
diff --git a/src/main/java/com/bellmann/model/entity/OrderInfoDetail.java b/src/main/java/com/bellmann/model/entity/OrderInfoDetail.java
new file mode 100644
index 0000000..b9318ed
--- /dev/null
+++ b/src/main/java/com/bellmann/model/entity/OrderInfoDetail.java
@@ -0,0 +1,90 @@
+package com.bellmann.model.entity;
+
+import com.baomidou.mybatisplus.annotation.TableName;
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+
+import java.io.Serializable;
+
+/**
+ *
+ *
+ *
+ *
+ * @author 李小林
+ * @since 2024-06-20
+ */
+@Data
+@EqualsAndHashCode(callSuper = false)
+@TableName("itms_order_info_detail")
+public class OrderInfoDetail implements Serializable {
+
+ private static final long serialVersionUID = 1L;
+
+ /**
+ * 工单编号ID
+ */
+ private Long orderId;
+
+ /**
+ * 电话号码
+ */
+ private String voipPhone;
+
+ /**
+ * IPTV路数
+ */
+ private String iptvPort;
+
+ /**
+ * IPTV接入号
+ */
+ private String iptvAccess;
+
+ /**
+ * 宽带接入号
+ */
+ private String bandAccess;
+
+ /**
+ * 上行速率
+ */
+ private String upRate;
+
+ /**
+ * 下行速率
+ */
+ private String downRate;
+
+ /**
+ * 预留字段1
+ */
+ private String detailRemark1;
+
+ /**
+ * 预留字段2
+ */
+ private String detailRemark2;
+
+ /**
+ * 预留字段3
+ */
+ private String detailRemark3;
+
+ /**
+ * 工单类型: 0表示家庭用户工单, 1表示政企用户工单
+ */
+ private String orderKind;
+
+ /**
+ * 机卡分离工单的卡序列号
+ */
+ private String cardId;
+
+ /**
+ * 机卡分离工单的卡密钥
+ */
+ private String cardKey;
+
+
+}
diff --git a/src/main/java/com/bellmann/model/vo/OrderServiceVO.java b/src/main/java/com/bellmann/model/vo/OrderServiceVO.java
new file mode 100644
index 0000000..2c6d1dd
--- /dev/null
+++ b/src/main/java/com/bellmann/model/vo/OrderServiceVO.java
@@ -0,0 +1,21 @@
+package com.bellmann.model.vo;
+
+import io.swagger.v3.oas.annotations.media.Schema;
+import lombok.Data;
+
+@Data
+@Schema(description = "工单参数列表视图")
+public class OrderServiceVO {
+
+ private Long orderId;
+
+ private String service;
+
+ private String argsName;
+
+ private String argsValueNew;
+
+ private String argsValueOld;
+
+
+}
diff --git a/src/main/java/com/bellmann/service/OrderInfoDetailService.java b/src/main/java/com/bellmann/service/OrderInfoDetailService.java
new file mode 100644
index 0000000..f7a55eb
--- /dev/null
+++ b/src/main/java/com/bellmann/service/OrderInfoDetailService.java
@@ -0,0 +1,13 @@
+package com.bellmann.service;
+
+/**
+ *
+ * 服务类
+ *
+ *
+ * @author 李小林
+ * @since 2024-06-20
+ */
+public interface OrderInfoDetailService{
+
+}
diff --git a/src/main/java/com/bellmann/service/OrderServiceService.java b/src/main/java/com/bellmann/service/OrderServiceService.java
index 9561a36..88a8ccd 100644
--- a/src/main/java/com/bellmann/service/OrderServiceService.java
+++ b/src/main/java/com/bellmann/service/OrderServiceService.java
@@ -2,7 +2,11 @@ package com.bellmann.service;
import com.bellmann.common.base.BasePageQuery;
import com.bellmann.common.result.PageResult;
+import com.bellmann.common.result.Result;
import com.bellmann.model.vo.OrderInfoBusinessVO;
+import com.bellmann.model.vo.OrderServiceVO;
+
+import java.util.List;
/**
*
@@ -15,4 +19,8 @@ import com.bellmann.model.vo.OrderInfoBusinessVO;
public interface OrderServiceService {
PageResult orderInfoBusinessPage(BasePageQuery query, Long orderId);
+
+ PageResult orderServiceParameterPage(BasePageQuery query, Long orderId, String service);
+
+ Result updateOrderServiceParameter(List list, Long orderId, String service, String serviceFlag);
}
diff --git a/src/main/java/com/bellmann/service/impl/OrderInfoDetailServiceImpl.java b/src/main/java/com/bellmann/service/impl/OrderInfoDetailServiceImpl.java
new file mode 100644
index 0000000..60bd8ee
--- /dev/null
+++ b/src/main/java/com/bellmann/service/impl/OrderInfoDetailServiceImpl.java
@@ -0,0 +1,17 @@
+package com.bellmann.service.impl;
+
+import com.bellmann.service.OrderInfoDetailService;
+import org.springframework.stereotype.Service;
+
+/**
+ *
+ * 服务实现类
+ *
+ *
+ * @author 李小林
+ * @since 2024-06-20
+ */
+@Service
+public class OrderInfoDetailServiceImpl implements OrderInfoDetailService {
+
+}
diff --git a/src/main/java/com/bellmann/service/impl/OrderServiceServiceImpl.java b/src/main/java/com/bellmann/service/impl/OrderServiceServiceImpl.java
index 72b2571..ef938ee 100644
--- a/src/main/java/com/bellmann/service/impl/OrderServiceServiceImpl.java
+++ b/src/main/java/com/bellmann/service/impl/OrderServiceServiceImpl.java
@@ -1,19 +1,30 @@
package com.bellmann.service.impl;
+import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
+import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.bellmann.common.base.BasePageQuery;
+import com.bellmann.common.base.IBaseEnum;
+import com.bellmann.common.enums.ServiceFlagEnum;
import com.bellmann.common.result.PageResult;
+import com.bellmann.common.result.Result;
import com.bellmann.converter.OrderServiceConverter;
+import com.bellmann.mapper.OrderInfoDetailMapper;
import com.bellmann.mapper.OrderServiceMapper;
+import com.bellmann.model.entity.OrderInfoDetail;
import com.bellmann.model.entity.OrderService;
import com.bellmann.model.vo.OrderInfoBusinessVO;
+import com.bellmann.model.vo.OrderServiceVO;
import com.bellmann.service.OrderServiceService;
import lombok.RequiredArgsConstructor;
import org.springframework.stereotype.Service;
+import org.springframework.transaction.annotation.Transactional;
+
+import java.util.List;
/**
*
- * 服务实现类
+ * 服务实现类
*
*
* @author 李小林
@@ -26,12 +37,54 @@ public class OrderServiceServiceImpl implements OrderServiceService {
private final OrderServiceMapper orderServiceMapper;
private final OrderServiceConverter orderServiceConverter;
+
+ private final OrderInfoDetailMapper orderInfoDetailMapper;
+
@Override
public PageResult orderInfoBusinessPage(BasePageQuery query, Long orderId) {
int pageNum = query.getPageNum();
int pageSize = query.getPageSize();
- Page page = new Page<>(pageNum,pageSize);
- Page dataPage = orderServiceMapper.orderInfoBusinessPage(page,orderId);
+ Page page = new Page<>(pageNum, pageSize);
+ Page dataPage = orderServiceMapper.orderInfoBusinessPage(page, orderId);
return PageResult.success(orderServiceConverter.entity2PageVo(dataPage));
}
+
+ @Override
+ public PageResult orderServiceParameterPage(BasePageQuery query, Long orderId, String service) {
+ int pageNum = query.getPageNum();
+ int pageSize = query.getPageSize();
+ Page page = new Page<>(pageNum, pageSize);
+ Page voPage = orderServiceMapper.selectPage(page, new LambdaQueryWrapper()
+ .eq(OrderService::getOrderId, orderId)
+ .eq(OrderService::getService, service)
+ );
+ return PageResult.success(orderServiceConverter.entity2VOPage(voPage));
+ }
+
+ @Override
+ @Transactional
+ public Result updateOrderServiceParameter(List list, Long orderId, String service, String serviceFlag) {
+
+ int rows = orderServiceMapper.delete(new LambdaQueryWrapper()
+ .eq(OrderService::getService, service)
+ .eq(OrderService::getOrderId, orderId)
+ );
+ if (rows > 0) {
+ List serviceList = orderServiceConverter.vos2Entities(list);
+ for (OrderService orderService : serviceList) {
+ orderService.setServiceId(-999L);
+ orderService.setServiceFlag((String) IBaseEnum.getValueByLabel(serviceFlag, ServiceFlagEnum.class));
+ orderServiceMapper.insert(orderService);
+ if (orderService.getArgsName().equals("user_tid") || orderService.getArgsName().equals("rg_port_id")) {
+ orderInfoDetailMapper.update(null,
+ new LambdaUpdateWrapper()
+ .eq(OrderInfoDetail::getOrderId, orderService.getOrderId())
+ .set(OrderInfoDetail::getDetailRemark3, orderService.getArgsValueNew())
+ );
+ }
+ }
+ }
+
+ return Result.success();
+ }
}
diff --git a/src/main/resources/mapper/DeviceStaticMapper.xml b/src/main/resources/mapper/DeviceStaticMapper.xml
index a24741b..94d1bd7 100644
--- a/src/main/resources/mapper/DeviceStaticMapper.xml
+++ b/src/main/resources/mapper/DeviceStaticMapper.xml
@@ -145,7 +145,8 @@
limit 1
-