feat: 业务信息

master
李小林 9 months ago
parent 6f515e450b
commit 77d0b15152
  1. 1
      src/main/java/com/bellmann/common/enums/FileUrlEnum.java
  2. 4
      src/main/java/com/bellmann/common/result/ResultCode.java
  3. 9
      src/main/java/com/bellmann/controller/DeviceTypeController.java
  4. 5
      src/main/java/com/bellmann/controller/DeviceTypeVerController.java
  5. 4
      src/main/java/com/bellmann/controller/DomainController.java
  6. 60
      src/main/java/com/bellmann/controller/ServiceController.java
  7. 7
      src/main/java/com/bellmann/controller/Tr069VerController.java
  8. 8
      src/main/java/com/bellmann/converter/ServiceConverter.java
  9. 3
      src/main/java/com/bellmann/manger/DomainManager.java
  10. 4
      src/main/java/com/bellmann/manger/FileRecordManager.java
  11. 4
      src/main/java/com/bellmann/manger/impl/DomainManagerImpl.java
  12. 8
      src/main/java/com/bellmann/manger/impl/FileRecordManagerImpl.java
  13. 1
      src/main/java/com/bellmann/manger/impl/ServiceManagerImpl.java
  14. 3
      src/main/java/com/bellmann/mapper/DeviceTypeMapper.java
  15. 6
      src/main/java/com/bellmann/mapper/ServiceMapper.java
  16. 5
      src/main/java/com/bellmann/model/entity/Business.java
  17. 1
      src/main/java/com/bellmann/model/form/BindingServiceForm.java
  18. 24
      src/main/java/com/bellmann/model/form/BusinessForm.java
  19. 36
      src/main/java/com/bellmann/model/vo/BusinessVO.java
  20. 7
      src/main/java/com/bellmann/model/vo/TransferOption.java
  21. 3
      src/main/java/com/bellmann/service/DeviceTypeService.java
  22. 4
      src/main/java/com/bellmann/service/DomainService.java
  23. 22
      src/main/java/com/bellmann/service/ServiceService.java
  24. 4
      src/main/java/com/bellmann/service/Tr069VerService.java
  25. 17
      src/main/java/com/bellmann/service/impl/DeviceTypeServiceImpl.java
  26. 16
      src/main/java/com/bellmann/service/impl/DomainServiceImpl.java
  27. 124
      src/main/java/com/bellmann/service/impl/ServiceServiceImpl.java
  28. 12
      src/main/java/com/bellmann/service/impl/Tr069VerServiceImpl.java
  29. 18
      src/main/resources/mapper/DeviceTypeMapper.xml
  30. 15
      src/main/resources/mapper/ServiceMapper.xml

@ -8,6 +8,7 @@ public enum FileUrlEnum implements IBaseEnum<String> {
CORP_CONF_FILE_URL("1","devtypever/conf/%s/"),
TR069_FILE_URL("3","tr069/%s"),
SERVICE_PLUGIN_FILE_URL("4","service/plugin/%s")
;
@Getter
private String value;

@ -95,7 +95,9 @@ public enum ResultCode implements IResultCode, Serializable {
DATA_NOT_FOUND("F0006", "查不到数据"),
IDS_IS_NULL("F0007", "ids为空"),
DEVICE_TYPE_VER("F008","存在该设备类型的软件版本或设备"),
DEVICE_TYPE_VER("F0008","存在该设备类型的软件版本或设备"),
TR069_BINDING_SERVICE("F0009","TR069数据模型已经和业务绑定"),
;
@Override
public String getCode() {

@ -1,10 +1,10 @@
package com.bellmann.controller;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.bellmann.common.base.BasePageQuery;
import com.bellmann.common.model.Option;
import com.bellmann.common.result.PageResult;
import com.bellmann.common.result.Result;
import com.bellmann.model.form.BindingTr069Form;
import com.bellmann.model.query.DeviceTypeQuery;
import com.bellmann.model.query.Tr069BindingPageQuery;
import com.bellmann.model.vo.DeviceTypePageVO;
@ -82,4 +82,11 @@ public class DeviceTypeController {
return PageResult.success(page);
}
@PostMapping("/service-binding-dev-type-page/{servId}")
@Operation(summary = "支持该业务的设备类型与设备类型软件版本列表")
public PageResult<Tr069BindingVO> serviceBindingDevTypePage(@RequestBody BasePageQuery query,@PathVariable Long servId){
Page<Tr069BindingVO> page = deviceTypeService.serviceBindingDevTypePage(query,servId);
return PageResult.success(page);
}
}

@ -10,11 +10,8 @@ import com.bellmann.model.form.VendorProfileForm;
import com.bellmann.model.query.DeviceTypeToVerQuery;
import com.bellmann.model.vo.DeviceServiceVO;
import com.bellmann.model.vo.DeviceTypeToVerVO;
import com.bellmann.model.vo.DomainOption;
import com.bellmann.model.vo.FileRecordVO;
import com.bellmann.security.util.SecurityUtils;
import com.bellmann.service.DeviceTypeVerService;
import com.bellmann.service.FileRecordService;
import io.swagger.v3.oas.annotations.Operation;
import io.swagger.v3.oas.annotations.tags.Tag;
import lombok.RequiredArgsConstructor;
@ -23,8 +20,6 @@ import org.springframework.web.bind.annotation.*;
import javax.validation.Valid;
import javax.validation.constraints.NotNull;
import java.util.List;
import java.util.concurrent.ExecutionException;
import java.util.concurrent.Future;
@Tag(name = "12.设备类型软件接口")
@RestController

@ -4,7 +4,7 @@ import com.bellmann.common.model.Option;
import com.bellmann.common.result.Result;
import com.bellmann.model.form.DomainForm;
import com.bellmann.model.query.DomainQuery;
import com.bellmann.model.vo.DomainOption;
import com.bellmann.model.vo.TransferOption;
import com.bellmann.model.vo.DomainVO;
import com.bellmann.service.DomainService;
import io.swagger.v3.oas.annotations.Operation;
@ -60,7 +60,7 @@ public class DomainController {
}
@Operation(summary = "获取穿梭框数据")
@GetMapping("/transfer-option")
public Result<List<DomainOption<Long>>> transferOption(){
public Result<List<TransferOption<Long>>> transferOption(){
return domainService.transferOption();
}

@ -4,6 +4,9 @@ import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.bellmann.common.base.BasePageQuery;
import com.bellmann.common.result.PageResult;
import com.bellmann.common.result.Result;
import com.bellmann.model.form.BusinessForm;
import com.bellmann.model.form.FileRecordForm;
import com.bellmann.model.vo.BusinessVO;
import com.bellmann.model.vo.DeviceServiceVO;
import com.bellmann.service.ServiceService;
import io.swagger.v3.oas.annotations.Operation;
@ -18,6 +21,7 @@ import java.util.List;
public class ServiceController {
private final ServiceService serviceService;
//----------------tr069和业务信息相关接口开始------------------------------
@PostMapping("/tr069-service-list/{tr069VerId}")
@Operation(summary = "查找绑定tr069的service")
public PageResult<DeviceServiceVO> tr069ServiceList(@RequestBody BasePageQuery query, @PathVariable Long tr069VerId){
@ -40,4 +44,60 @@ public class ServiceController {
public Result<String> removeBindingService(@PathVariable Long servId, @PathVariable Long tr069VerId){
return serviceService.removeBindingService(servId,tr069VerId);
}
//-------------------------介绍-----------------------------------------------
//-------------------------业务管理相关接口开始--------------------------------
@PostMapping("/business-page")
@Operation(summary = "业务信息分页接口")
public PageResult<BusinessVO> businessPage(@RequestBody BasePageQuery query){
Page<BusinessVO> page = serviceService.businessPage(query);
return PageResult.success(page);
}
@PostMapping("/add")
@Operation(summary = "新增业务信息 ")
public Result<Long> addBusiness(@RequestBody BusinessForm form){
return serviceService.addBusiness(form);
}
@PostMapping("/add_business_file")
@Operation(summary = "新增业务信息文件记录")
public Result<Long> addBusinessFile(@RequestBody FileRecordForm form){
return serviceService.addBusinessFile(form);
}
@GetMapping("/binding-option/{servId}")
@Operation(summary = "查找已绑定的tr069的option")
public Result<List<Long>> bindingTr069Option(@PathVariable Long servId){
return serviceService.bindingTr069Option(servId);
}
@PostMapping("/binding/{servId}")
@Operation(summary = "绑定的tr069")
public Result<String> bindingTr069(@RequestBody List<Long> ids,@PathVariable Long servId){
return serviceService.bindingTr069(ids,servId);
}
@GetMapping("/form/{servId}")
@Operation(summary = "根据ID查找表单数据")
public Result<BusinessForm> getBusinessFormById(@PathVariable Long servId){
return serviceService.getBusinessFormById(servId);
}
@PostMapping("/edit")
@Operation(summary = "编辑业务信息 ")
public Result<Long> editBusiness(@RequestBody BusinessForm form){
return serviceService.editBusiness(form);
}
@PostMapping("/delete")
@Operation(summary = "删除业务信息 ")
public Result<String> deleteBusiness(@RequestBody List<Long> ids){
return serviceService.deleteBusiness(ids);
}
@DeleteMapping("/delete-file/{fileId}/{servId}")
@Operation(summary = "删除插件 ")
public Result<String> deleteBusinessFile(@PathVariable Long fileId, @PathVariable Long servId){
return serviceService.deleteBusinessFile(fileId,servId);
}
}

@ -9,6 +9,7 @@ import com.bellmann.common.result.Result;
import com.bellmann.common.util.Tr069XmlUtils;
import com.bellmann.model.form.Tr069VerForm;
import com.bellmann.model.vo.Tr069VerVO;
import com.bellmann.model.vo.TransferOption;
import com.bellmann.service.FileOptionService;
import com.bellmann.service.Tr069VerService;
import io.swagger.v3.oas.annotations.Operation;
@ -63,5 +64,9 @@ public class Tr069VerController {
public Result<Integer> addTr069Form(@RequestBody Tr069VerForm editTr069Form){
return Result.success(tr069VerService.addTr069Form(editTr069Form));
}
@GetMapping("/transfer-option")
@Operation(summary = "tr069穿梭框option")
public Result<List<TransferOption<Long>>> transferTr069Option(){
return Result.success(tr069VerService.transferTr069Option());
}
}

@ -1,14 +1,14 @@
package com.bellmann.converter;
import com.bellmann.model.entity.Service;
import com.bellmann.model.vo.DeviceServiceVO;
import com.bellmann.model.entity.Business;
import com.bellmann.model.form.BusinessForm;
import org.mapstruct.Mapper;
import java.util.List;
@Mapper(componentModel = "spring")
public interface ServiceConverter {
Business form2Entity(BusinessForm form);
BusinessForm entity2Form(Business business);
}

@ -2,9 +2,6 @@ package com.bellmann.manger;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.bellmann.common.base.BasePageQuery;
import com.bellmann.model.vo.DomainOption;
import java.util.List;
public interface DomainManager {
Page<String> pageJoinTypeVerByTypeAndVerId(Long typeAndVerId, BasePageQuery pageQuery);

@ -2,7 +2,6 @@ package com.bellmann.manger;
import com.bellmann.model.bo.DevTypeVerFileBO;
import com.bellmann.model.entity.FileRecord;
import com.bellmann.model.vo.FileRecordVO;
import java.util.List;
@ -18,4 +17,7 @@ public interface FileRecordManager {
List<FileRecord> listVendorProfile(Long typeAndVerId);
List<FileRecord> findFileByType(String fileType);
Long addBusinessFile(FileRecord fileRecord);
}

@ -1,19 +1,15 @@
package com.bellmann.manger.impl;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.bellmann.common.base.BasePageQuery;
import com.bellmann.common.util.PathUtils;
import com.bellmann.manger.DomainManager;
import com.bellmann.mapper.DomainMapper;
import com.bellmann.model.entity.Domain;
import com.bellmann.model.vo.DomainOption;
import lombok.RequiredArgsConstructor;
import org.springframework.stereotype.Component;
import java.util.List;
import java.util.stream.Collectors;
import java.util.stream.Stream;
@Component
@RequiredArgsConstructor

@ -4,11 +4,11 @@ import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.bellmann.common.constant.StringUtilsConstants;
import com.bellmann.common.enums.FileTypeEnum;
import com.bellmann.common.enums.FileUrlEnum;
import com.bellmann.common.result.Result;
import com.bellmann.manger.FileRecordManager;
import com.bellmann.mapper.FileRecordMapper;
import com.bellmann.model.bo.DevTypeVerFileBO;
import com.bellmann.model.entity.FileRecord;
import com.bellmann.model.vo.FileRecordVO;
import lombok.RequiredArgsConstructor;
import org.springframework.stereotype.Component;
@ -64,4 +64,10 @@ public class FileRecordManagerImpl implements FileRecordManager {
.eq(FileRecord::getFileType,fileType)
);
}
@Override
public Long addBusinessFile(FileRecord fileRecord) {
fileRecordMapper.insert(fileRecord);
return fileRecord.getFileId();
}
}

@ -5,7 +5,6 @@ import com.bellmann.common.base.BasePageQuery;
import com.bellmann.converter.ServiceConverter;
import com.bellmann.manger.ServiceManager;
import com.bellmann.mapper.ServiceMapper;
import com.bellmann.model.entity.Service;
import com.bellmann.model.vo.DeviceServiceVO;
import lombok.RequiredArgsConstructor;
import org.springframework.stereotype.Component;

@ -35,4 +35,7 @@ public interface DeviceTypeMapper extends BaseMapper<DeviceType> {
Long countJoinStaticJoinVer(@Param("id") Long id);
List<DeviceTypePageBO> tr069BindingDevTypePage(Page<DeviceTypePageBO> page,@Param("query") Tr069BindingPageQuery query,@Param("domainId") Long domainId);
List<DeviceTypePageBO> serviceBindingDevTypePage(Page<DeviceTypePageBO> page, @Param("servId") Long servId, @Param("domainId") Long domainId);
}

@ -2,7 +2,8 @@ package com.bellmann.mapper;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.bellmann.model.entity.Service;
import com.bellmann.model.entity.Business;
import com.bellmann.model.vo.BusinessVO;
import com.bellmann.model.vo.DeviceServiceVO;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;
@ -10,11 +11,12 @@ import org.apache.ibatis.annotations.Param;
import java.util.List;
@Mapper
public interface ServiceMapper extends BaseMapper<Service> {
public interface ServiceMapper extends BaseMapper<Business> {
List<DeviceServiceVO> pageDevVerService(Page<DeviceServiceVO> page, @Param("typeAndVerId") Long typeAndVerId);
List<DeviceServiceVO> tr069ServiceList(Page<DeviceServiceVO> page, @Param("tr069VerId") Long tr069VerId);
List<DeviceServiceVO> noBindingTr069ServiceList(Page<DeviceServiceVO> page, Long tr069VerId);
List<BusinessVO> businessPage(Page<BusinessVO> page);
}

@ -1,5 +1,7 @@
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;
@ -7,11 +9,12 @@ import java.io.Serializable;
@Data
@TableName("itms_service")
public class Service implements Serializable {
public class Business implements Serializable {
private static final long serialVersionUID = 3425958771027987055L;
@TableId(type = IdType.AUTO)
private Long servId;
private String servName;

@ -2,7 +2,6 @@ package com.bellmann.model.form;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;
import org.springframework.web.bind.annotation.PathVariable;
import java.util.List;
@Data

@ -0,0 +1,24 @@
package com.bellmann.model.form;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;
@Data
@Schema(description = "业务管理业务信息表单")
public class BusinessForm {
private Long servId;
@Schema(description = "业务名称")
private String servName;
@Schema(description = "业务版本")
private String servVerName;
@Schema(description = "业务显示名称")
private String servDisplayName;
@Schema(description = "业务描述")
private String servDesc;
private Long pluginFileId;
}

@ -0,0 +1,36 @@
package com.bellmann.model.vo;
import com.fasterxml.jackson.annotation.JsonFormat;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;
import java.time.LocalDateTime;
@Data
@Schema(description = "业务管理业务信息视图")
public class BusinessVO {
private Long servId;
@Schema(description = "业务名称")
private String servName;
@Schema(description = "业务版本")
private String servVerName;
@Schema(description = "业务显示名称")
private String servDisplayName;
@Schema(description = "业务描述")
private String servDesc;
@Schema(description = "文件名称")
private Long fileId;
@Schema(description = "文件名称")
private String fileName;
@Schema(description = "文件上传时间")
@JsonFormat(pattern = "yyyy-MM-dd hh:mm:ss")
private LocalDateTime fileCreateTime;
}

@ -1,12 +1,9 @@
package com.bellmann.model.vo;
import com.fasterxml.jackson.annotation.JsonInclude;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;
import lombok.NoArgsConstructor;
import java.util.List;
/**
* 下拉选项对象
*
@ -16,9 +13,9 @@ import java.util.List;
@Schema(description ="穿梭框选择对象")
@Data
@NoArgsConstructor
public class DomainOption<T> {
public class TransferOption<T> {
public DomainOption(T key, String label) {
public TransferOption(T key, String label) {
this.key = key;
this.label = label;
}

@ -1,6 +1,7 @@
package com.bellmann.service;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.bellmann.common.base.BasePageQuery;
import com.bellmann.common.model.Option;
import com.bellmann.common.result.Result;
import com.bellmann.model.query.DeviceTypeQuery;
@ -28,4 +29,6 @@ public interface DeviceTypeService {
Result<String> deleteByIds(ArrayList<Long> ids);
Page<Tr069BindingVO> tr069BindingPage(Tr069BindingPageQuery query);
Page<Tr069BindingVO> serviceBindingDevTypePage(BasePageQuery query, Long servId);
}

@ -4,7 +4,7 @@ import com.bellmann.common.model.Option;
import com.bellmann.common.result.Result;
import com.bellmann.model.form.DomainForm;
import com.bellmann.model.query.DomainQuery;
import com.bellmann.model.vo.DomainOption;
import com.bellmann.model.vo.TransferOption;
import com.bellmann.model.vo.DomainVO;
import java.util.List;
@ -51,6 +51,6 @@ public interface DomainService {
* 获取domain穿梭框数据
* @return
*/
Result<List<DomainOption<Long>>> transferOption();
Result<List<TransferOption<Long>>> transferOption();
}

@ -3,7 +3,9 @@ package com.bellmann.service;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.bellmann.common.base.BasePageQuery;
import com.bellmann.common.result.Result;
import com.bellmann.model.form.BindingServiceForm;
import com.bellmann.model.form.BusinessForm;
import com.bellmann.model.form.FileRecordForm;
import com.bellmann.model.vo.BusinessVO;
import com.bellmann.model.vo.DeviceServiceVO;
import java.util.List;
@ -16,4 +18,22 @@ public interface ServiceService {
Result<String> bindingService(List<Long> ids, Long tr069VerId);
Result<String> removeBindingService(Long servId, Long tr069VerId);
Page<BusinessVO> businessPage(BasePageQuery query);
Result<Long> addBusiness(BusinessForm form);
Result<Long> addBusinessFile(FileRecordForm form);
Result<List<Long>> bindingTr069Option(Long servId);
Result<String> bindingTr069(List<Long> ids, Long servId);
Result<BusinessForm> getBusinessFormById(Long servId);
Result<Long> editBusiness(BusinessForm form);
Result<String> deleteBusiness(List<Long> ids);
Result<String> deleteBusinessFile(Long fileId, Long servId);
}

@ -5,6 +5,7 @@ import com.bellmann.common.base.BasePageQuery;
import com.bellmann.common.model.Option;
import com.bellmann.model.form.Tr069VerForm;
import com.bellmann.model.vo.Tr069VerVO;
import com.bellmann.model.vo.TransferOption;
import java.util.List;
@ -18,4 +19,7 @@ public interface Tr069VerService {
Integer editTr069Form(Tr069VerForm editTr069Form);
Integer addTr069Form(Tr069VerForm editTr069Form);
List<TransferOption<Long>> transferTr069Option();
}

@ -2,10 +2,10 @@ package com.bellmann.service.impl;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
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.DevTypeVerStatusEnum;
import com.bellmann.common.model.Option;
import com.bellmann.common.result.IResultCode;
import com.bellmann.common.result.Result;
import com.bellmann.common.result.ResultCode;
import com.bellmann.converter.DeviceTypeConverter;
@ -132,6 +132,19 @@ public class DeviceTypeServiceImpl implements DeviceTypeService {
int pageSize = query.getPageSize();
Page<DeviceTypePageBO> page = new Page<>(pageNum,pageSize);
List<DeviceTypePageBO> list = deviceTypeMapper.tr069BindingDevTypePage(page,query,SecurityUtils.getGroupId());
return getTr069BindingVOPage(pageNum, pageSize, page, list);
}
@Override
public Page<Tr069BindingVO> serviceBindingDevTypePage(BasePageQuery query, Long servId) {
int pageNum = query.getPageNum();
int pageSize = query.getPageSize();
Page<DeviceTypePageBO> page = new Page<>(pageNum,pageSize);
List<DeviceTypePageBO> list = deviceTypeMapper.serviceBindingDevTypePage(page,servId,SecurityUtils.getGroupId());
return getTr069BindingVOPage(pageNum, pageSize, page, list);
}
private Page<Tr069BindingVO> getTr069BindingVOPage(int pageNum, int pageSize, Page<DeviceTypePageBO> page, List<DeviceTypePageBO> list) {
List<Tr069BindingVO> collect = list.stream().map(deviceTypePageBO -> {
Tr069BindingVO tr069BindingVO = new Tr069BindingVO();
String sb = deviceTypePageBO.getDevVendorName() +
@ -142,7 +155,7 @@ public class DeviceTypeServiceImpl implements DeviceTypeService {
tr069BindingVO.setDevType(sb);
tr069BindingVO.setDevTypeSoftVer(deviceTypePageBO.getSoftVer());
tr069BindingVO.setDevTypeVerStatus(
IBaseEnum.getLabelByValue(deviceTypePageBO.getDevTypeVerStatus(), DevTypeVerStatusEnum.class)
IBaseEnum.getLabelByValue(deviceTypePageBO.getDevTypeVerStatus(), DevTypeVerStatusEnum.class)
);
tr069BindingVO.setDevTypeId(deviceTypePageBO.getDevTypeId());
return tr069BindingVO;

@ -2,17 +2,15 @@ package com.bellmann.service.impl;
import cn.hutool.core.collection.CollectionUtil;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.bellmann.common.enums.StatusEnum;
import com.bellmann.common.model.Option;
import com.bellmann.common.result.Result;
import com.bellmann.common.util.PathUtils;
import com.bellmann.converter.DomainConverter;
import com.bellmann.mapper.DomainMapper;
import com.bellmann.model.entity.Domain;
import com.bellmann.model.entity.SysDept;
import com.bellmann.model.form.DomainForm;
import com.bellmann.model.query.DomainQuery;
import com.bellmann.model.vo.DomainOption;
import com.bellmann.model.vo.TransferOption;
import com.bellmann.model.vo.DomainVO;
import com.bellmann.service.DomainService;
import lombok.RequiredArgsConstructor;
@ -149,14 +147,14 @@ public class DomainServiceImpl implements DomainService {
}
@Override
public Result<List<DomainOption<Long>>> transferOption() {
public Result<List<TransferOption<Long>>> transferOption() {
List<Domain> list = domainMapper.selectList(new LambdaQueryWrapper<>());
List<Domain> newDomains = PathUtils.objBuildPath(list);
List<DomainOption<Long>> collect = newDomains.stream().map(domain -> {
DomainOption<Long> longDomainOption = new DomainOption<>();
longDomainOption.setKey(domain.getGroupId());
longDomainOption.setLabel(domain.getGroupName());
return longDomainOption;
List<TransferOption<Long>> collect = newDomains.stream().map(domain -> {
TransferOption<Long> longTransferOption = new TransferOption<>();
longTransferOption.setKey(domain.getGroupId());
longTransferOption.setLabel(domain.getGroupName());
return longTransferOption;
}).collect(Collectors.toList());
return Result.success(collect);

@ -1,20 +1,33 @@
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.result.Result;
import com.bellmann.common.result.ResultCode;
import com.bellmann.converter.FileRecordConverter;
import com.bellmann.converter.ServiceConverter;
import com.bellmann.manger.FileRecordManager;
import com.bellmann.mapper.ServiceMapper;
import com.bellmann.mapper.Tr069ServiceMapMapper;
import com.bellmann.model.entity.Business;
import com.bellmann.model.entity.FileRecord;
import com.bellmann.model.entity.Tr069ServiceMap;
import com.bellmann.model.form.BindingServiceForm;
import com.bellmann.model.form.BusinessForm;
import com.bellmann.model.form.FileRecordForm;
import com.bellmann.model.vo.BusinessVO;
import com.bellmann.model.vo.DeviceServiceVO;
import com.bellmann.security.util.SecurityUtils;
import com.bellmann.service.FileOptionService;
import com.bellmann.service.ServiceService;
import lombok.RequiredArgsConstructor;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import java.util.Date;
import java.util.List;
import java.util.stream.Collectors;
@Service
@RequiredArgsConstructor
@ -23,6 +36,14 @@ public class ServiceServiceImpl implements ServiceService {
private final ServiceMapper serviceMapper;
private final Tr069ServiceMapMapper tr069ServiceMapMapper;
private final ServiceConverter serviceConverter;
private final FileRecordManager fileRecordManager;
private final FileRecordConverter fileRecordConverter;
private final FileOptionService fileOptionService;
@Override
public Page<DeviceServiceVO> tr069ServiceList(BasePageQuery query, Long tr069VerId) {
int pageNum = query.getPageNum();
@ -63,4 +84,105 @@ public class ServiceServiceImpl implements ServiceService {
);
return Result.success();
}
@Override
public Page<BusinessVO> businessPage(BasePageQuery query) {
int pageNum = query.getPageNum();
int pageSize = query.getPageSize();
Page<BusinessVO> page = new Page<>(pageNum,pageSize);
List<BusinessVO> list = serviceMapper.businessPage(page);
return page.setRecords(list);
}
@Override
public Result<Long> addBusiness(BusinessForm form) {
Business business = serviceConverter.form2Entity(form);
serviceMapper.insert(business);
return Result.success(business.getServId());
}
@Override
public Result<Long> addBusinessFile(FileRecordForm form) {
FileRecord fileRecord = fileRecordConverter.form2Entity(form);
fileRecord.setFileServId(1L);
fileRecord.setFileCreateTime(new Date());
fileRecord.setUserName(SecurityUtils.getUsername());
return Result.success(fileRecordManager.addBusinessFile(fileRecord));
}
@Override
public Result<List<Long>> bindingTr069Option(Long servId) {
List<Long> list = tr069ServiceMapMapper.selectList(
new LambdaQueryWrapper<Tr069ServiceMap>()
.eq(Tr069ServiceMap::getServId,servId)
).stream().map(Tr069ServiceMap::getTr069VerId).collect(Collectors.toList());
return Result.success(list);
}
@Override
public Result<String> bindingTr069(List<Long> ids, Long servId) {
if (ids.isEmpty()){
tr069ServiceMapMapper.delete(new LambdaQueryWrapper<Tr069ServiceMap>()
.eq(Tr069ServiceMap::getServId,servId)
);
return Result.success();
}
for (Long tr069VerId:ids){
Tr069ServiceMap tr069ServiceMap = new Tr069ServiceMap();
tr069ServiceMap.setTr069VerId(tr069VerId);
tr069ServiceMap.setServId(servId);
tr069ServiceMapMapper.insert(tr069ServiceMap);
}
return Result.success();
}
@Override
public Result<BusinessForm> getBusinessFormById(Long servId) {
Business business = serviceMapper.selectOne(new LambdaQueryWrapper<Business>()
.eq(Business::getServId, servId)
);
if (business==null){
return Result.failed(ResultCode.DATA_NOT_FOUND);
}
BusinessForm form = serviceConverter.entity2Form(business);
return Result.success(form);
}
@Override
public Result<Long> editBusiness(BusinessForm form) {
Business business = serviceConverter.form2Entity(form);
serviceMapper.update(business, new LambdaQueryWrapper<Business>()
.eq(Business::getServId, business.getServId())
);
return Result.success(business.getServId());
}
@Override
public Result<String> deleteBusiness(List<Long> ids) {
Long count = tr069ServiceMapMapper.selectCount(new LambdaQueryWrapper<Tr069ServiceMap>()
.in(Tr069ServiceMap::getServId, ids)
);
if (count!=0){
return Result.failed(ResultCode.TR069_BINDING_SERVICE);
}
serviceMapper.deleteBatchIds(ids);
return Result.success();
}
@Override
@Transactional
public Result<String> deleteBusinessFile(Long fileId, Long servId) {
FileRecord fileRecord = fileRecordManager.findFileRecordById(fileId);
boolean b = fileOptionService.removeFile(fileRecord.getFileUrl(), fileRecord.getFileName());
if (!b){
return Result.failed(ResultCode.FILE_DELETE_FAIL);
}
fileRecordManager.deleteByFileId(fileId);
serviceMapper.update(null,new LambdaUpdateWrapper<Business>()
.eq(Business::getServId,servId)
.set(Business::getPluginFileId,null)
);
return Result.success();
}
}

@ -12,6 +12,7 @@ import com.bellmann.model.entity.FileRecord;
import com.bellmann.model.entity.Tr069Ver;
import com.bellmann.model.form.Tr069VerForm;
import com.bellmann.model.vo.Tr069VerVO;
import com.bellmann.model.vo.TransferOption;
import com.bellmann.service.Tr069VerService;
import lombok.RequiredArgsConstructor;
import org.springframework.stereotype.Service;
@ -72,4 +73,15 @@ public class Tr069VerServiceImpl implements Tr069VerService {
tr069Ver.setTr069VerCreateTime(new Date());
return tr069VerMapper.insert(tr069Ver) ;
}
@Override
public List<TransferOption<Long>> transferTr069Option() {
List<Tr069Ver> list = tr069VerMapper.selectList(new LambdaQueryWrapper<Tr069Ver>());
return list.stream().map(tr069Ver -> {
TransferOption<Long> option = new TransferOption<>();
option.setKey(tr069Ver.getTr069VerId());
option.setLabel(tr069Ver.getTr069VerName());
return option;
}).collect(Collectors.toList());
}
}

@ -115,4 +115,22 @@
AND itms_device_type.dev_hard_ver = #{query.devHardVer}
</if>
</select>
<select id="serviceBindingDevTypePage" resultType="com.bellmann.model.bo.DeviceTypePageBO">
SELECT
itms_device_type.dev_type_id,
itms_device_type.dev_vendor_name,
itms_device_type.dev_type_name,
itms_device_type.dev_hard_ver,
itms_device_type_ver.dev_type_ver_status,
itms_device_type_ver.soft_ver
FROM
itms_device_type
INNER JOIN itms_device_type_ver ON itms_device_type.dev_type_id = itms_device_type_ver.dev_type_id
INNER JOIN itms_devtypever_sysdomain_map ON itms_devtypever_sysdomain_map.type_and_ver_id = itms_device_type_ver.type_and_ver_id
INNER JOIN itms_tr069_service_map ON itms_tr069_service_map.tr069_ver_id = itms_device_type_ver.tr069_ver_id
WHERE
itms_devtypever_sysdomain_map.sys_domain_id = #{domainId}
AND itms_tr069_service_map.serv_id = #{servId}
</select>
</mapper>

@ -43,4 +43,19 @@
WHERE
serv_id NOT IN ( SELECT serv_id FROM itms_tr069_service_map WHERE tr069_ver_id = #{tr069VerId} )
</select>
<select id="businessPage" resultType="com.bellmann.model.vo.BusinessVO">
SELECT
itms_service.serv_id,
itms_service.serv_name,
itms_service.serv_ver_name,
itms_service.serv_display_name,
itms_service.serv_desc,
itms_file.file_id,
itms_file.file_create_time,
itms_file.file_name
FROM
itms_service
LEFT JOIN itms_file ON itms_service.plugin_file_id = itms_file.file_id
</select>
</mapper>

Loading…
Cancel
Save