feat: 设备类型绑定TR069

master
李小林 10 months ago
parent eccdd30fc6
commit c5a1887974
  1. 1
      src/main/java/com/bellmann/common/util/FTPUtils.java
  2. 43
      src/main/java/com/bellmann/controller/ServiceController.java
  3. 5
      src/main/java/com/bellmann/mapper/ServiceMapper.java
  4. 9
      src/main/java/com/bellmann/mapper/Tr069ServiceMapMapper.java
  5. 16
      src/main/java/com/bellmann/model/entity/Tr069ServiceMap.java
  6. 15
      src/main/java/com/bellmann/model/form/BindingServiceForm.java
  7. 15
      src/main/java/com/bellmann/service/ServiceService.java
  8. 5
      src/main/java/com/bellmann/service/impl/AuthServiceImpl.java
  9. 56
      src/main/java/com/bellmann/service/impl/ServiceServiceImpl.java
  10. 7
      src/main/resources/application-prod.yml
  11. 25
      src/main/resources/mapper/ServiceMapper.xml

@ -211,7 +211,6 @@ public class FTPUtils {
String path = changeEncoding(dirPath);
changeAndMakeWorkingDir(path);
String[] fileNames = ftpClient.listNames();
log.info(Arrays.toString(fileNames));
if (fileNames == null || fileNames.length == 0) {
throw new BusinessException(ResultCode.FILE_NOT_EXIST);
}

@ -0,0 +1,43 @@
package com.bellmann.controller;
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.vo.DeviceServiceVO;
import com.bellmann.service.ServiceService;
import io.swagger.v3.oas.annotations.Operation;
import lombok.RequiredArgsConstructor;
import org.springframework.web.bind.annotation.*;
import java.util.List;
@RestController
@RequiredArgsConstructor
@RequestMapping("/api/service/v1")
public class ServiceController {
private final ServiceService serviceService;
@PostMapping("/tr069-service-list/{tr069VerId}")
@Operation(summary = "查找绑定tr069的service")
public PageResult<DeviceServiceVO> tr069ServiceList(@RequestBody BasePageQuery query, @PathVariable Long tr069VerId){
Page<DeviceServiceVO> page = serviceService.tr069ServiceList(query,tr069VerId);
return PageResult.success(page);
}
@PostMapping("/no-binding-service/{tr069VerId}")
@Operation(summary = "查找为绑定tr069的service")
public PageResult<DeviceServiceVO> noBindingServicePage(@RequestBody BasePageQuery query, @PathVariable Long tr069VerId){
Page<DeviceServiceVO> page = serviceService.noBindingServicePage(query,tr069VerId);
return PageResult.success(page);
}
@PostMapping("/binding-service/{tr069VerId}")
@Operation(summary = "绑定tr069业务信息")
public Result<String> bindingService(@RequestBody List<Long> ids, @PathVariable Long tr069VerId){
return serviceService.bindingService(ids,tr069VerId);
}
@DeleteMapping("/remove-binding-service/{servId}/{tr069VerId}")
@Operation(summary = "解除绑定tr069业务信息")
public Result<String> removeBindingService(@PathVariable Long servId, @PathVariable Long tr069VerId){
return serviceService.removeBindingService(servId,tr069VerId);
}
}

@ -12,4 +12,9 @@ import java.util.List;
@Mapper
public interface ServiceMapper extends BaseMapper<Service> {
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);
}

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

@ -0,0 +1,16 @@
package com.bellmann.model.entity;
import com.baomidou.mybatisplus.annotation.TableName;
import lombok.Data;
import java.io.Serializable;
@Data
@TableName("itms_tr069_service_map")
public class Tr069ServiceMap implements Serializable {
private static final long serialVersionUID = -761811066201051664L;
private Long servId;
private Long tr069VerId;
}

@ -0,0 +1,15 @@
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
@Schema(description = "TR069绑定业务表单")
public class BindingServiceForm {
@Schema(description = "业务信息ids")
private List<Long> ids;
}

@ -1,4 +1,19 @@
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.vo.DeviceServiceVO;
import java.util.List;
public interface ServiceService {
Page<DeviceServiceVO> tr069ServiceList(BasePageQuery query, Long tr069VerId);
Page<DeviceServiceVO> noBindingServicePage(BasePageQuery query, Long tr069VerId);
Result<String> bindingService(List<Long> ids, Long tr069VerId);
Result<String> removeBindingService(Long servId, Long tr069VerId);
}

@ -16,6 +16,7 @@ import com.bellmann.service.AuthService;
import com.bellmann.security.util.JwtUtils;
import lombok.RequiredArgsConstructor;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.data.redis.core.RedisTemplate;
import org.springframework.http.HttpHeaders;
import org.springframework.security.authentication.AuthenticationManager;
@ -42,7 +43,9 @@ import java.util.concurrent.TimeUnit;
@Slf4j
public class AuthServiceImpl implements AuthService {
private final AuthenticationManager authenticationManager;
private final AuthenticationManager authenticationManager;
private final RedisTemplate<String,Object> redisTemplate;
private final CodeGenerator codeGenerator;
private final Font captchaFont;

@ -1,10 +1,66 @@
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.result.Result;
import com.bellmann.common.result.ResultCode;
import com.bellmann.mapper.ServiceMapper;
import com.bellmann.mapper.Tr069ServiceMapMapper;
import com.bellmann.model.entity.Tr069ServiceMap;
import com.bellmann.model.form.BindingServiceForm;
import com.bellmann.model.vo.DeviceServiceVO;
import com.bellmann.service.ServiceService;
import lombok.RequiredArgsConstructor;
import org.springframework.stereotype.Service;
import java.util.List;
@Service
@RequiredArgsConstructor
public class ServiceServiceImpl implements ServiceService {
private final ServiceMapper serviceMapper;
private final Tr069ServiceMapMapper tr069ServiceMapMapper;
@Override
public Page<DeviceServiceVO> tr069ServiceList(BasePageQuery query, Long tr069VerId) {
int pageNum = query.getPageNum();
int pageSize = query.getPageSize();
Page<DeviceServiceVO> page = new Page<>(pageNum,pageSize);
List<DeviceServiceVO> list = serviceMapper.tr069ServiceList(page,tr069VerId);
return page.setRecords(list);
}
@Override
public Page<DeviceServiceVO> noBindingServicePage(BasePageQuery query, Long tr069VerId) {
int pageNum = query.getPageNum();
int pageSize = query.getPageSize();
Page<DeviceServiceVO> page = new Page<>(pageNum,pageSize);
List<DeviceServiceVO> list = serviceMapper.noBindingTr069ServiceList(page,tr069VerId);
return page.setRecords(list);
}
@Override
public Result<String> bindingService(List<Long> ids, Long tr069VerId) {
if(ids.isEmpty()){
return Result.failed(ResultCode.IDS_IS_NULL);
}
for (Long servId:ids){
Tr069ServiceMap tr069ServiceMap = new Tr069ServiceMap();
tr069ServiceMap.setServId(servId);
tr069ServiceMap.setTr069VerId(tr069VerId);
tr069ServiceMapMapper.insert(tr069ServiceMap);
}
return Result.success();
}
@Override
public Result<String> removeBindingService(Long servId, Long tr069VerId) {
tr069ServiceMapMapper.delete(new LambdaQueryWrapper<Tr069ServiceMap>()
.eq(Tr069ServiceMap::getServId,servId)
.eq(Tr069ServiceMap::getTr069VerId,tr069VerId)
);
return Result.success();
}
}

@ -11,14 +11,13 @@ spring:
type: com.alibaba.druid.pool.DruidDataSource
driver-class-name: org.postgresql.Driver
url: jdbc:postgresql://180.166.220.225:5432/itms-new
username: property
password: 7iUK0gcC1
username: postgres
password: V8GNgzJ1
redis:
database: 6
host: 47.115.231.99
port: 6379
password: 522227lxlfml
password: 522227lxlfml.
timeout: 10s
lettuce:
pool:

@ -18,4 +18,29 @@
WHERE
itms_device_type_ver.type_and_ver_id = #{typeAndVerId}
</select>
<select id="tr069ServiceList" resultType="com.bellmann.model.vo.DeviceServiceVO">
SELECT
itms_service.serv_id,
itms_service.serv_name,
itms_service.serv_ver_name,
itms_service.serv_display_name,
itms_service.serv_desc
FROM
itms_service
INNER JOIN itms_tr069_service_map ON itms_service.serv_id = itms_tr069_service_map.serv_id
WHERE
itms_tr069_service_map.tr069_ver_id = #{tr069VerId}
</select>
<select id="noBindingTr069ServiceList" resultType="com.bellmann.model.vo.DeviceServiceVO">
SELECT
itms_service.serv_id,
itms_service.serv_name,
itms_service.serv_ver_name,
itms_service.serv_display_name,
itms_service.serv_desc
FROM
itms_service
WHERE
serv_id NOT IN ( SELECT serv_id FROM itms_tr069_service_map WHERE tr069_ver_id = #{tr069VerId} )
</select>
</mapper>

Loading…
Cancel
Save