Pārlūkot izejas kodu

新增领域信息相关接口

zhangchen 1 mēnesi atpakaļ
vecāks
revīzija
a4b85d9733

+ 145 - 0
alien-store/src/main/java/shop/alien/store/controller/LawyerExpertiseAreaController.java

@@ -0,0 +1,145 @@
+package shop.alien.store.controller;
+
+import com.baomidou.mybatisplus.core.metadata.IPage;
+import io.swagger.annotations.*;
+import lombok.RequiredArgsConstructor;
+import lombok.extern.slf4j.Slf4j;
+import org.springframework.web.bind.annotation.*;
+import shop.alien.entity.result.R;
+import shop.alien.entity.store.LawyerExpertiseArea;
+import shop.alien.store.service.LawyerExpertiseAreaService;
+import shop.alien.util.myBaticsPlus.QueryBuilder;
+
+import java.util.List;
+
+/**
+ * 领域信息 前端控制器
+ *
+ * @author system
+ * @since 2025-01-XX
+ */
+@Slf4j
+@Api(tags = {"律师平台-领域信息"})
+@ApiSort(15)
+@CrossOrigin
+@RestController
+@RequestMapping("/lawyer/expertiseArea")
+@RequiredArgsConstructor
+public class LawyerExpertiseAreaController {
+
+    private final LawyerExpertiseAreaService expertiseAreaService;
+
+    @ApiOperation("分页查询领域信息列表")
+    @ApiOperationSupport(order = 1)
+    @ApiImplicitParams({
+            @ApiImplicitParam(name = "page", value = "页数(默认1)", dataType = "int", paramType = "query"),
+            @ApiImplicitParam(name = "size", value = "页容(默认10)", dataType = "int", paramType = "query"),
+            @ApiImplicitParam(name = "expertiseAreaInfo", value = "领域信息(支持模糊查询)", dataType = "String", paramType = "query")
+    })
+    @GetMapping("/getExpertiseAreaList")
+    public R<IPage<LawyerExpertiseArea>> getExpertiseAreaList(@RequestParam(defaultValue = "1") int page,
+                                                             @RequestParam(defaultValue = "10") int size,
+                                                             @RequestParam(required = false) String expertiseAreaInfo) {
+        log.info("LawyerExpertiseAreaController.getExpertiseAreaList?page={},size={},expertiseAreaInfo={}",
+                page, size, expertiseAreaInfo);
+        int pageNum = page > 0 ? page : 1;
+        int pageSize = size > 0 ? size : 10;
+        return expertiseAreaService.getExpertiseAreaList(pageNum, pageSize, expertiseAreaInfo);
+    }
+
+    @ApiOperation("新增领域信息")
+    @ApiOperationSupport(order = 2)
+    @PostMapping("/addExpertiseArea")
+    public R<LawyerExpertiseArea> addExpertiseArea(@RequestBody LawyerExpertiseArea expertiseArea) {
+        log.info("LawyerExpertiseAreaController.addExpertiseArea?expertiseArea={}", expertiseArea);
+        return expertiseAreaService.addExpertiseArea(expertiseArea);
+    }
+
+    @ApiOperation("编辑领域信息")
+    @ApiOperationSupport(order = 3)
+    @PostMapping("/editExpertiseArea")
+    public R<LawyerExpertiseArea> editExpertiseArea(@RequestBody LawyerExpertiseArea expertiseArea) {
+        log.info("LawyerExpertiseAreaController.editExpertiseArea?expertiseArea={}", expertiseArea);
+        
+        // 参数校验:ID不能为空
+        if (expertiseArea == null || expertiseArea.getId() == null) {
+            log.warn("编辑领域信息失败:ID为空");
+            return R.fail("ID不能为空");
+        }
+        
+        return expertiseAreaService.editExpertiseArea(expertiseArea);
+    }
+
+    @ApiOperation("删除领域信息")
+    @ApiOperationSupport(order = 4)
+    @ApiImplicitParams({
+            @ApiImplicitParam(name = "id", value = "主键ID", dataType = "Integer", paramType = "query", required = true)
+    })
+    @DeleteMapping("/deleteExpertiseArea")
+    public R<Boolean> deleteExpertiseArea(@RequestParam(value = "id", required = true) Integer id) {
+        log.info("LawyerExpertiseAreaController.deleteExpertiseArea?id={}", id);
+        if (id == null) {
+            log.warn("删除领域信息失败:ID为空");
+            return R.fail("ID不能为空");
+        }
+        return expertiseAreaService.deleteExpertiseArea(id);
+    }
+
+    @ApiOperation("保存或更新领域信息")
+    @ApiOperationSupport(order = 5)
+    @PostMapping("/saveOrUpdate")
+    public R<LawyerExpertiseArea> saveOrUpdate(@RequestBody LawyerExpertiseArea expertiseArea) {
+        log.info("LawyerExpertiseAreaController.saveOrUpdate?expertiseArea={}", expertiseArea);
+        boolean result = expertiseAreaService.saveOrUpdate(expertiseArea);
+        if (result) {
+            return R.data(expertiseArea);
+        }
+        return R.fail("操作失败");
+    }
+
+    @ApiOperation("通用列表查询")
+    @ApiOperationSupport(order = 6)
+    @ApiImplicitParams({
+            @ApiImplicitParam(name = "id", value = "主键", dataType = "Integer", paramType = "query"),
+            @ApiImplicitParam(name = "expertiseAreaInfo", value = "领域信息(支持模糊查询)", dataType = "String", paramType = "query"),
+            @ApiImplicitParam(name = "deleteFlag", value = "删除标记, 0:未删除, 1:已删除", dataType = "Integer", paramType = "query"),
+            @ApiImplicitParam(name = "createdTime_Start", value = "创建时间开始(范围查询)", dataType = "String", paramType = "query"),
+            @ApiImplicitParam(name = "createdTime_End", value = "创建时间结束(范围查询)", dataType = "String", paramType = "query")
+    })
+    @GetMapping("/getList")
+    public R<List<LawyerExpertiseArea>> getList(@ModelAttribute LawyerExpertiseArea expertiseArea) {
+        log.info("LawyerExpertiseAreaController.getList?expertiseArea={}", expertiseArea);
+        List<LawyerExpertiseArea> list = QueryBuilder.of(expertiseArea)
+                .likeFields("expertiseAreaInfo")  // 领域信息支持模糊查询
+                .build()
+                .list(expertiseAreaService);
+        return R.data(list);
+    }
+
+    @ApiOperation("通用分页查询")
+    @ApiOperationSupport(order = 7)
+    @ApiImplicitParams({
+            @ApiImplicitParam(name = "page", value = "页数(默认1)", dataType = "int", paramType = "query"),
+            @ApiImplicitParam(name = "size", value = "页容(默认10)", dataType = "int", paramType = "query"),
+            @ApiImplicitParam(name = "id", value = "主键", dataType = "Integer", paramType = "query"),
+            @ApiImplicitParam(name = "expertiseAreaInfo", value = "领域信息(支持模糊查询)", dataType = "String", paramType = "query"),
+            @ApiImplicitParam(name = "deleteFlag", value = "删除标记, 0:未删除, 1:已删除", dataType = "Integer", paramType = "query"),
+            @ApiImplicitParam(name = "createdTime_Start", value = "创建时间开始(范围查询)", dataType = "String", paramType = "query"),
+            @ApiImplicitParam(name = "createdTime_End", value = "创建时间结束(范围查询)", dataType = "String", paramType = "query")
+    })
+    @GetMapping("/getPage")
+    public R<IPage<LawyerExpertiseArea>> getPage(@ModelAttribute LawyerExpertiseArea expertiseArea,
+                                                 @RequestParam(defaultValue = "1") int page,
+                                                 @RequestParam(defaultValue = "10") int size) {
+        log.info("LawyerExpertiseAreaController.getPage?expertiseArea={},page={},size={}", expertiseArea, page, size);
+        int pageNum = page > 0 ? page : 1;
+        int pageSize = size > 0 ? size : 10;
+        IPage<LawyerExpertiseArea> pageResult = QueryBuilder.of(expertiseArea)
+                .likeFields("expertiseAreaInfo")  // 领域信息支持模糊查询
+                .page(pageNum, pageSize)
+                .build()
+                .page(expertiseAreaService);
+        return R.data(pageResult);
+    }
+}
+

+ 70 - 0
alien-store/src/main/java/shop/alien/store/service/LawyerExpertiseAreaService.java

@@ -0,0 +1,70 @@
+package shop.alien.store.service;
+
+import com.baomidou.mybatisplus.core.metadata.IPage;
+import com.baomidou.mybatisplus.extension.service.IService;
+import shop.alien.entity.result.R;
+import shop.alien.entity.store.LawyerExpertiseArea;
+
+import java.util.List;
+
+/**
+ * 领域信息 服务类
+ *
+ * @author system
+ * @since 2025-01-XX
+ */
+public interface LawyerExpertiseAreaService extends IService<LawyerExpertiseArea> {
+
+    /**
+     * 分页查询领域信息列表
+     *
+     * @param pageNum           页码
+     * @param pageSize          页容
+     * @param expertiseAreaInfo 领域信息(支持模糊查询)
+     * @return IPage<LawyerExpertiseArea>
+     */
+    R<IPage<LawyerExpertiseArea>> getExpertiseAreaList(int pageNum, int pageSize, String expertiseAreaInfo);
+
+    /**
+     * 新增领域信息
+     *
+     * @param expertiseArea 领域信息
+     * @return R<LawyerExpertiseArea>
+     */
+    R<LawyerExpertiseArea> addExpertiseArea(LawyerExpertiseArea expertiseArea);
+
+    /**
+     * 编辑领域信息
+     *
+     * @param expertiseArea 领域信息
+     * @return R<LawyerExpertiseArea>
+     */
+    R<LawyerExpertiseArea> editExpertiseArea(LawyerExpertiseArea expertiseArea);
+
+    /**
+     * 删除领域信息
+     *
+     * @param id 主键
+     * @return R<Boolean>
+     */
+    R<Boolean> deleteExpertiseArea(Integer id);
+
+    /**
+     * 通用列表查询
+     *
+     * @param expertiseArea 领域信息查询条件
+     * @return List<LawyerExpertiseArea>
+     */
+    R<List<LawyerExpertiseArea>> getList(LawyerExpertiseArea expertiseArea);
+
+    /**
+     * 通用分页查询
+     *
+     * @param expertiseArea 领域信息查询条件
+     * @param page          页码
+     * @param size          页容
+     * @return IPage<LawyerExpertiseArea>
+     */
+    R<IPage<LawyerExpertiseArea>> getPage(LawyerExpertiseArea expertiseArea, int page, int size);
+}
+

+ 157 - 0
alien-store/src/main/java/shop/alien/store/service/impl/LawyerExpertiseAreaServiceImpl.java

@@ -0,0 +1,157 @@
+package shop.alien.store.service.impl;
+
+import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
+import com.baomidou.mybatisplus.core.metadata.IPage;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import lombok.RequiredArgsConstructor;
+import lombok.extern.slf4j.Slf4j;
+import org.springframework.stereotype.Service;
+import org.springframework.transaction.annotation.Transactional;
+import org.springframework.util.StringUtils;
+import shop.alien.entity.result.R;
+import shop.alien.entity.store.LawyerExpertiseArea;
+import shop.alien.mapper.LawyerExpertiseAreaMapper;
+import shop.alien.store.service.LawyerExpertiseAreaService;
+import shop.alien.util.myBaticsPlus.QueryBuilder;
+
+import java.util.Date;
+import java.util.List;
+
+/**
+ * 领域信息 服务实现类
+ *
+ * @author system
+ * @since 2025-01-XX
+ */
+@Slf4j
+@Transactional
+@Service
+@RequiredArgsConstructor
+public class LawyerExpertiseAreaServiceImpl extends ServiceImpl<LawyerExpertiseAreaMapper, LawyerExpertiseArea> implements LawyerExpertiseAreaService {
+
+    private final LawyerExpertiseAreaMapper expertiseAreaMapper;
+
+    @Override
+    public R<IPage<LawyerExpertiseArea>> getExpertiseAreaList(int pageNum, int pageSize, String expertiseAreaInfo) {
+        log.info("LawyerExpertiseAreaServiceImpl.getExpertiseAreaList?pageNum={},pageSize={},expertiseAreaInfo={}",
+                pageNum, pageSize, expertiseAreaInfo);
+        Page<LawyerExpertiseArea> page = new Page<>(pageNum, pageSize);
+        LambdaQueryWrapper<LawyerExpertiseArea> queryWrapper = new LambdaQueryWrapper<>();
+        queryWrapper.eq(LawyerExpertiseArea::getDeleteFlag, 0);
+        if (StringUtils.hasText(expertiseAreaInfo)) {
+            queryWrapper.like(LawyerExpertiseArea::getExpertiseAreaInfo, expertiseAreaInfo);
+        }
+        queryWrapper.orderByDesc(LawyerExpertiseArea::getCreatedTime);
+        IPage<LawyerExpertiseArea> pageResult = this.page(page, queryWrapper);
+        return R.data(pageResult);
+    }
+
+    @Override
+    public R<LawyerExpertiseArea> addExpertiseArea(LawyerExpertiseArea expertiseArea) {
+        log.info("LawyerExpertiseAreaServiceImpl.addExpertiseArea?expertiseArea={}", expertiseArea);
+        
+        // 参数校验
+        if (expertiseArea == null) {
+            log.warn("新增领域信息失败:参数为空");
+            return R.fail("参数不能为空");
+        }
+        
+        // 设置默认值
+        if (expertiseArea.getDeleteFlag() == null) {
+            expertiseArea.setDeleteFlag(0);
+        }
+        if (expertiseArea.getCreatedTime() == null) {
+            expertiseArea.setCreatedTime(new Date());
+        }
+        if (expertiseArea.getUpdatedTime() == null) {
+            expertiseArea.setUpdatedTime(new Date());
+        }
+        
+        boolean result = this.save(expertiseArea);
+        if (result) {
+            log.info("新增领域信息成功,ID={}", expertiseArea.getId());
+            return R.data(expertiseArea);
+        }
+        return R.fail("新增失败");
+    }
+
+    @Override
+    public R<LawyerExpertiseArea> editExpertiseArea(LawyerExpertiseArea expertiseArea) {
+        log.info("LawyerExpertiseAreaServiceImpl.editExpertiseArea?expertiseArea={}", expertiseArea);
+        
+        // 参数校验
+        if (expertiseArea == null || expertiseArea.getId() == null) {
+            log.warn("编辑领域信息失败:ID为空");
+            return R.fail("ID不能为空");
+        }
+        
+        // 查询记录是否存在
+        LawyerExpertiseArea existingArea = expertiseAreaMapper.selectById(expertiseArea.getId());
+        if (existingArea == null) {
+            log.warn("编辑领域信息失败:记录不存在,ID={}", expertiseArea.getId());
+            return R.fail("记录不存在");
+        }
+        
+        // 设置更新时间
+        expertiseArea.setUpdatedTime(new Date());
+        
+        boolean result = this.updateById(expertiseArea);
+        if (result) {
+            log.info("编辑领域信息成功,ID={}", expertiseArea.getId());
+            // 重新查询更新后的记录
+            LawyerExpertiseArea updatedArea = expertiseAreaMapper.selectById(expertiseArea.getId());
+            return R.data(updatedArea != null ? updatedArea : expertiseArea);
+        }
+        return R.fail("修改失败");
+    }
+
+    @Override
+    public R<Boolean> deleteExpertiseArea(Integer id) {
+        log.info("LawyerExpertiseAreaServiceImpl.deleteExpertiseArea?id={}", id);
+        
+        // 参数校验
+        if (id == null) {
+            log.warn("删除领域信息失败:ID为空");
+            return R.fail("ID不能为空");
+        }
+        
+        // 查询记录是否存在
+        LawyerExpertiseArea existingArea = expertiseAreaMapper.selectById(id);
+        if (existingArea == null) {
+            log.warn("删除领域信息失败:记录不存在,ID={}", id);
+            return R.fail("记录不存在");
+        }
+        
+        boolean result = this.removeById(id);
+        if (result) {
+            log.info("删除领域信息成功,ID={}", id);
+            return R.success("删除成功");
+        }
+        return R.fail("删除失败");
+    }
+
+    @Override
+    public R<List<LawyerExpertiseArea>> getList(LawyerExpertiseArea expertiseArea) {
+        log.info("LawyerExpertiseAreaServiceImpl.getList?expertiseArea={}", expertiseArea);
+        List<LawyerExpertiseArea> list = QueryBuilder.of(expertiseArea)
+                .likeFields("expertiseAreaInfo")  // 领域信息支持模糊查询
+                .build()
+                .list(this);
+        return R.data(list);
+    }
+
+    @Override
+    public R<IPage<LawyerExpertiseArea>> getPage(LawyerExpertiseArea expertiseArea, int page, int size) {
+        log.info("LawyerExpertiseAreaServiceImpl.getPage?expertiseArea={},page={},size={}", expertiseArea, page, size);
+        int pageNum = page > 0 ? page : 1;
+        int pageSize = size > 0 ? size : 10;
+        IPage<LawyerExpertiseArea> pageResult = QueryBuilder.of(expertiseArea)
+                .likeFields("expertiseAreaInfo")  // 领域信息支持模糊查询
+                .page(pageNum, pageSize)
+                .build()
+                .page(this);
+        return R.data(pageResult);
+    }
+}
+