feat: 工单参数修改

master
李小林 9 months ago
parent 74c22d3dc1
commit 064aa6e2f8
  1. 21
      src/main/java/com/bellmann/controller/OrderInfoDetailController.java
  2. 13
      src/main/java/com/bellmann/controller/OrderServiceController.java
  3. 7
      src/main/java/com/bellmann/converter/OrderServiceConverter.java
  4. 18
      src/main/java/com/bellmann/mapper/OrderInfoDetailMapper.java
  5. 27
      src/main/java/com/bellmann/mapper/OrderInfoDetailMapper.xml
  6. 90
      src/main/java/com/bellmann/model/entity/OrderInfoDetail.java
  7. 21
      src/main/java/com/bellmann/model/vo/OrderServiceVO.java
  8. 13
      src/main/java/com/bellmann/service/OrderInfoDetailService.java
  9. 8
      src/main/java/com/bellmann/service/OrderServiceService.java
  10. 17
      src/main/java/com/bellmann/service/impl/OrderInfoDetailServiceImpl.java
  11. 59
      src/main/java/com/bellmann/service/impl/OrderServiceServiceImpl.java
  12. 3
      src/main/resources/mapper/DeviceStaticMapper.xml

@ -0,0 +1,21 @@
package com.bellmann.controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
/**
* <p>
* 前端控制器
* </p>
*
* @author 李小林
* @since 2024-06-20
*/
@RestController
@RequestMapping("/orderInfoDetail")
public class OrderInfoDetailController {
}

@ -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;
/**
* <p>
* 前端控制器
@ -31,5 +35,14 @@ public class OrderServiceController {
public PageResult<OrderInfoBusinessVO> orderInfoBusinessPage(@RequestBody BasePageQuery query, @PathVariable Long orderId){
return orderServiceService.orderInfoBusinessPage(query,orderId);
}
@PostMapping("/order-service-parameter/{orderId}/{service}")
public PageResult<OrderServiceVO> 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<String> updateOrderServiceParameter(@RequestBody List<OrderServiceVO> list, @PathVariable Long orderId, @PathVariable String service, @PathVariable String serviceFlag){
return orderServiceService.updateOrderServiceParameter(list,orderId,service,serviceFlag);
}
}

@ -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<OrderInfoBusinessVO> entity2PageVo(Page<OrderService> entity);
Page<OrderServiceVO> entity2VOPage(Page<OrderService> voPage);
List<OrderService> vos2Entities(List<OrderServiceVO> list);
}

@ -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;
/**
* <p>
* Mapper 接口
* </p>
*
* @author 李小林
* @since 2024-06-20
*/
@Mapper
public interface OrderInfoDetailMapper extends BaseMapper<OrderInfoDetail> {
}

@ -0,0 +1,27 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.bellmann.mapper.OrderInfoDetailMapper">
<!-- 通用查询映射结果 -->
<resultMap id="BaseResultMap" type="com.bellmann.model.entity.OrderInfoDetail">
<id column="order_id" property="orderId" />
<result column="voip_phone" property="voipPhone" />
<result column="iptv_port" property="iptvPort" />
<result column="iptv_access" property="iptvAccess" />
<result column="band_access" property="bandAccess" />
<result column="up_rate" property="upRate" />
<result column="down_rate" property="downRate" />
<result column="detail_remark1" property="detailRemark1" />
<result column="detail_remark2" property="detailRemark2" />
<result column="detail_remark3" property="detailRemark3" />
<result column="order_kind" property="orderKind" />
<result column="card_id" property="cardId" />
<result column="card_key" property="cardKey" />
</resultMap>
<!-- 通用查询结果列 -->
<sql id="Base_Column_List">
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
</sql>
</mapper>

@ -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;
/**
* <p>
*
* </p>
*
* @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;
}

@ -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;
}

@ -0,0 +1,13 @@
package com.bellmann.service;
/**
* <p>
* 服务类
* </p>
*
* @author 李小林
* @since 2024-06-20
*/
public interface OrderInfoDetailService{
}

@ -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;
/**
* <p>
@ -15,4 +19,8 @@ import com.bellmann.model.vo.OrderInfoBusinessVO;
public interface OrderServiceService {
PageResult<OrderInfoBusinessVO> orderInfoBusinessPage(BasePageQuery query, Long orderId);
PageResult<OrderServiceVO> orderServiceParameterPage(BasePageQuery query, Long orderId, String service);
Result<String> updateOrderServiceParameter(List<OrderServiceVO> list, Long orderId, String service, String serviceFlag);
}

@ -0,0 +1,17 @@
package com.bellmann.service.impl;
import com.bellmann.service.OrderInfoDetailService;
import org.springframework.stereotype.Service;
/**
* <p>
* 服务实现类
* </p>
*
* @author 李小林
* @since 2024-06-20
*/
@Service
public class OrderInfoDetailServiceImpl implements OrderInfoDetailService {
}

@ -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;
/**
* <p>
* 服务实现类
* 服务实现类
* </p>
*
* @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<OrderInfoBusinessVO> orderInfoBusinessPage(BasePageQuery query, Long orderId) {
int pageNum = query.getPageNum();
int pageSize = query.getPageSize();
Page<OrderService> page = new Page<>(pageNum,pageSize);
Page<OrderService> dataPage = orderServiceMapper.orderInfoBusinessPage(page,orderId);
Page<OrderService> page = new Page<>(pageNum, pageSize);
Page<OrderService> dataPage = orderServiceMapper.orderInfoBusinessPage(page, orderId);
return PageResult.success(orderServiceConverter.entity2PageVo(dataPage));
}
@Override
public PageResult<OrderServiceVO> orderServiceParameterPage(BasePageQuery query, Long orderId, String service) {
int pageNum = query.getPageNum();
int pageSize = query.getPageSize();
Page<OrderService> page = new Page<>(pageNum, pageSize);
Page<OrderService> voPage = orderServiceMapper.selectPage(page, new LambdaQueryWrapper<OrderService>()
.eq(OrderService::getOrderId, orderId)
.eq(OrderService::getService, service)
);
return PageResult.success(orderServiceConverter.entity2VOPage(voPage));
}
@Override
@Transactional
public Result<String> updateOrderServiceParameter(List<OrderServiceVO> list, Long orderId, String service, String serviceFlag) {
int rows = orderServiceMapper.delete(new LambdaQueryWrapper<OrderService>()
.eq(OrderService::getService, service)
.eq(OrderService::getOrderId, orderId)
);
if (rows > 0) {
List<OrderService> 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<OrderInfoDetail>()
.eq(OrderInfoDetail::getOrderId, orderService.getOrderId())
.set(OrderInfoDetail::getDetailRemark3, orderService.getArgsValueNew())
);
}
}
}
return Result.success();
}
}

@ -145,7 +145,8 @@
</where>
limit 1
</select>
<select id="orderByDevSnoOui" resultType="com.bellmann.model.bo.DeviceDetailBO">
<select id="orderByPppoeAccount" resultType="com.bellmann.model.bo.DeviceDetailBO">
SELECT
ITMS_DEVICE_STATIC.DEV_ID,
ITMS_DEVICE_STATIC.TYPE_AND_VER_ID,

Loading…
Cancel
Save