故障管理CURD

dev.saas.customer
冷调 2024-09-17 22:00:38 +08:00
parent 21c796a9d9
commit 3fface7039
6 changed files with 177 additions and 6 deletions

View File

@ -5,8 +5,11 @@ import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName; import com.baomidou.mybatisplus.annotation.TableName;
import com.muyu.common.core.annotation.Excel; import com.muyu.common.core.annotation.Excel;
import com.muyu.common.core.web.domain.BaseEntity; import com.muyu.common.core.web.domain.BaseEntity;
import lombok.AllArgsConstructor;
import lombok.Data; import lombok.Data;
import lombok.EqualsAndHashCode; import lombok.EqualsAndHashCode;
import lombok.NoArgsConstructor;
import lombok.experimental.SuperBuilder;
/** /**
* @author Lenovo * @author Lenovo
@ -18,6 +21,9 @@ import lombok.EqualsAndHashCode;
*/ */
@EqualsAndHashCode(callSuper = true) @EqualsAndHashCode(callSuper = true)
@Data @Data
@SuperBuilder
@NoArgsConstructor
@AllArgsConstructor
@TableName("sys_car_fault") @TableName("sys_car_fault")
public class BreakDown extends BaseEntity { public class BreakDown extends BaseEntity {

View File

@ -1,4 +1,4 @@
package com.muyu; package com.muyu.breakdown;
import com.muyu.common.security.annotation.EnableCustomConfig; import com.muyu.common.security.annotation.EnableCustomConfig;
import com.muyu.common.security.annotation.EnableMyFeignClients; import com.muyu.common.security.annotation.EnableMyFeignClients;
@ -18,6 +18,6 @@ import org.springframework.boot.autoconfigure.SpringBootApplication;
@SpringBootApplication @SpringBootApplication
public class BreakDownApplication { public class BreakDownApplication {
public static void main(String[] args) { public static void main(String[] args) {
SpringApplication.run(BreakDownApplication.class, args); SpringApplication.run(BreakDownApplication.class);
} }
} }

View File

@ -1,10 +1,20 @@
package com.muyu.breakdown.controller; package com.muyu.breakdown.controller;
import com.muyu.breakdown.domain.BreakDown;
import com.muyu.breakdown.service.BreakDownService; import com.muyu.breakdown.service.BreakDownService;
import com.muyu.common.core.domain.Result;
import com.muyu.common.core.utils.poi.ExcelUtil;
import com.muyu.common.core.web.controller.BaseController; import com.muyu.common.core.web.controller.BaseController;
import com.muyu.common.core.web.page.TableDataInfo;
import com.muyu.common.security.annotation.RequiresPermissions;
import com.muyu.common.security.utils.SecurityUtils;
import jakarta.servlet.http.HttpServletResponse;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.RestController; import org.springframework.web.bind.annotation.*;
import java.util.Arrays;
import java.util.List;
/** /**
* @ ToolIntelliJ IDEA * @ ToolIntelliJ IDEA
@ -20,6 +30,80 @@ public class BreakDownController extends BaseController {
@Autowired @Autowired
private BreakDownService breakDownService; private BreakDownService breakDownService;
/**
*
*/
@RequiresPermissions("breakdown:breakdown:list")
@GetMapping("/list")
public Result<TableDataInfo<BreakDown>> list(BreakDown breakDown)
{
startPage();
List<BreakDown> list = breakDownService.selectBreakDownList(breakDown);
return getDataTable(list);
}
/**
*
*/
@RequiresPermissions("breakdown:breakdown:export")
@PostMapping("/export")
public void export(HttpServletResponse response, BreakDown breakDown)
{
List<BreakDown> list = breakDownService.selectBreakDownList(breakDown);
ExcelUtil<BreakDown> util = new ExcelUtil<BreakDown>(BreakDown.class);
util.exportExcel(response, list, "车辆故障数据");
}
/**
*
*/
@RequiresPermissions("breakdown:breakdown:query")
@GetMapping(value = "/{id}")
public Result<List<BreakDown>> getInfo(@PathVariable("id") Long id)
{
return success(breakDownService.selectBreakDownById(id));
}
/**
*
*/
@RequiresPermissions("breakdown:breakdown:add")
@PostMapping
public Result<Integer> add(
@Validated @RequestBody BreakDown breakDown)
{
if (breakDownService.checkIdUnique(breakDown)) {
return error("新增 车辆故障 '" + breakDown + "'失败,车辆故障已存在");
}
breakDown.setCreateBy(SecurityUtils.getUsername());
return toAjax(breakDownService.save(breakDown));
}
/**
*
*/
@RequiresPermissions("breakdown:breakdown:edit")
@PutMapping
public Result<Integer> edit(
@Validated @RequestBody BreakDown breakDown)
{
if (!breakDownService.checkIdUnique(breakDown)) {
return error("修改 车辆故障 '" + breakDown + "'失败,车辆故障不存在");
}
breakDown.setUpdateBy(SecurityUtils.getUsername());
return toAjax(breakDownService.updateById(breakDown));
}
/**
*
*/
@RequiresPermissions("breakdown:breakdown:remove")
@DeleteMapping("/{ids}")
public Result<Integer> remove(@PathVariable("ids") Long[] ids)
{
breakDownService.removeBatchByIds(Arrays.asList(ids));
return success();
}
} }

View File

@ -3,6 +3,8 @@ package com.muyu.breakdown.service;
import com.baomidou.mybatisplus.extension.service.IService; import com.baomidou.mybatisplus.extension.service.IService;
import com.muyu.breakdown.domain.BreakDown; import com.muyu.breakdown.domain.BreakDown;
import java.util.List;
/** /**
* @ ToolIntelliJ IDEA * @ ToolIntelliJ IDEA
* @ AuthorCHX * @ AuthorCHX
@ -12,4 +14,27 @@ import com.muyu.breakdown.domain.BreakDown;
* @author Lenovo * @author Lenovo
*/ */
public interface BreakDownService extends IService<BreakDown> { public interface BreakDownService extends IService<BreakDown> {
/**
*
*
* @param id
* @return
*/
public BreakDown selectBreakDownById(Long id);
/**
*
*
* @param breakDown
* @return
*/
public List<BreakDown> selectBreakDownList(BreakDown breakDown);
/**
* id
* @param breakDown
* @return
*/
Boolean checkIdUnique(BreakDown breakDown);
} }

View File

@ -1,11 +1,16 @@
package com.muyu.breakdown.service.impl; package com.muyu.breakdown.service.impl;
import cn.hutool.core.lang.Assert;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.muyu.breakdown.domain.BreakDown; import com.muyu.breakdown.domain.BreakDown;
import com.muyu.breakdown.mapper.BreakDownMapper; import com.muyu.breakdown.mapper.BreakDownMapper;
import com.muyu.breakdown.service.BreakDownService; import com.muyu.breakdown.service.BreakDownService;
import com.muyu.common.core.utils.StringUtils;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import java.util.List;
/** /**
* @ ToolIntelliJ IDEA * @ ToolIntelliJ IDEA
* @ AuthorCHX * @ AuthorCHX
@ -16,4 +21,55 @@ import org.springframework.stereotype.Service;
*/ */
@Service @Service
public class BreakDownServiceImpl extends ServiceImpl<BreakDownMapper, BreakDown> implements BreakDownService { public class BreakDownServiceImpl extends ServiceImpl<BreakDownMapper, BreakDown> implements BreakDownService {
/**
*
*
* @param id
* @return
*/
@Override
public BreakDown selectBreakDownById(Long id)
{
LambdaQueryWrapper<BreakDown> queryWrapper = new LambdaQueryWrapper<>();
Assert.notNull(id, "id不可为空");
queryWrapper.eq(BreakDown::getId, id);
return this.getOne(queryWrapper);
}
/**
*
*
* @param breakDown
* @return
*/
@Override
public List<BreakDown> selectBreakDownList(BreakDown breakDown)
{
LambdaQueryWrapper<BreakDown> queryWrapper = new LambdaQueryWrapper<>();
if (StringUtils.isNotEmpty(breakDown.getFaultCode())){
queryWrapper.eq(BreakDown::getFaultCode, breakDown.getFaultCode());
}
if (StringUtils.isNotEmpty(breakDown.getFaultType())){
queryWrapper.eq(BreakDown::getFaultType, breakDown.getFaultType());
}
if (StringUtils.isNotEmpty(breakDown.getCarVin())){
queryWrapper.eq(BreakDown::getCarVin, breakDown.getCarVin());
}
return this.list(queryWrapper);
}
/**
*
* @param breakDown
* @return
*/
@Override
public Boolean checkIdUnique(BreakDown breakDown) {
LambdaQueryWrapper<BreakDown> queryWrapper = new LambdaQueryWrapper<>();
queryWrapper.eq(BreakDown::getId, breakDown.getId());
return this.count(queryWrapper) > 0;
}
} }

View File

@ -1,6 +1,6 @@
# Tomcat # Tomcat
server: server:
port: 9701 port: 9702
# nacos线上地址 # nacos线上地址
nacos: nacos:
@ -57,4 +57,4 @@ spring:
- application-rabbit-config-${spring.profiles.active}.${spring.cloud.nacos.config.file-extension} - application-rabbit-config-${spring.profiles.active}.${spring.cloud.nacos.config.file-extension}
logging: logging:
level: level:
com.muyu.system.mapper: DEBUG com.muyu.breakdown.mapper: DEBUG