Commit 6ecb80ae by zhangxingmin

保险险种信息

parent 77923ca6
package com.yd.insurance.base.api.controller;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.yd.common.result.Result;
import com.yd.insurance.base.api.service.ApiInsuranceCategoryService;
import com.yd.insurance.base.feign.client.insurancecategory.ApiInsuranceCategoryFeignClient;
import com.yd.insurance.base.feign.request.insurancecategory.ApiInsuranceCategoryAddRequest;
import com.yd.insurance.base.feign.request.insurancecategory.ApiInsuranceCategoryPageRequest;
import com.yd.insurance.base.feign.response.insurancecategory.ApiInsuranceCategoryDetailResponse;
import com.yd.insurance.base.feign.response.insurancecategory.ApiInsuranceCategoryEditRequest;
import com.yd.insurance.base.feign.response.insurancecategory.ApiInsuranceCategoryPageResponse;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
/**
* 保险险种信息
*
* @author zxm
* @since 2025-12-22
*/
@RestController
@RequestMapping("/insuranceCategory")
@Validated
public class ApiInsuranceCategoryController implements ApiInsuranceCategoryFeignClient {
@Autowired
private ApiInsuranceCategoryService apiInsuranceCategoryService;
/**
* 分页列表查询-保险险种信息
* @param request
* @return
*/
@Override
public Result<IPage<ApiInsuranceCategoryPageResponse>> page(ApiInsuranceCategoryPageRequest request) {
return apiInsuranceCategoryService.page(request);
}
/**
* 详情-保险险种信息
* @param insuranceCategoryBizId 保险险种表唯一业务ID
* @return
*/
@Override
public Result<ApiInsuranceCategoryDetailResponse> detail(String insuranceCategoryBizId) {
return apiInsuranceCategoryService.detail(insuranceCategoryBizId);
}
/**
* 添加-保险险种信息
* @param request
* @return
*/
@Override
public Result add(ApiInsuranceCategoryAddRequest request) {
return apiInsuranceCategoryService.add(request);
}
/**
* 编辑-保险险种信息
* @param request
* @return
*/
@Override
public Result edit(ApiInsuranceCategoryEditRequest request) {
return apiInsuranceCategoryService.edit(request);
}
/**
* 删除-保险险种信息
* @param insuranceCategoryBizId 保险险种表唯一业务ID
* @return
*/
@Override
public Result del(String insuranceCategoryBizId) {
return apiInsuranceCategoryService.del(insuranceCategoryBizId);
}
/**
* 编辑-保险险种信息状态
* @param insuranceCategoryBizId 保险险种表唯一业务ID
* @param status 状态(0:停用 1:启用)
* @return
*/
@Override
public Result editStatus(String insuranceCategoryBizId, String status) {
return apiInsuranceCategoryService.editStatus(insuranceCategoryBizId,status);
}
}
package com.yd.insurance.base.api.controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
/**
* <p>
* 保险险种表 前端控制器
* </p>
*
* @author zxm
* @since 2025-12-22
*/
@RestController
@RequestMapping("/insuranceCategory")
public class InsuranceCategoryController {
}
package com.yd.insurance.base.api.service;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.yd.common.result.Result;
import com.yd.insurance.base.feign.request.insurancecategory.ApiInsuranceCategoryAddRequest;
import com.yd.insurance.base.feign.request.insurancecategory.ApiInsuranceCategoryPageRequest;
import com.yd.insurance.base.feign.response.insurancecategory.ApiInsuranceCategoryDetailResponse;
import com.yd.insurance.base.feign.response.insurancecategory.ApiInsuranceCategoryEditRequest;
import com.yd.insurance.base.feign.response.insurancecategory.ApiInsuranceCategoryPageResponse;
public interface ApiInsuranceCategoryService {
Result<IPage<ApiInsuranceCategoryPageResponse>> page(ApiInsuranceCategoryPageRequest request);
Result<ApiInsuranceCategoryDetailResponse> detail(String insuranceCategoryBizId);
Result add(ApiInsuranceCategoryAddRequest request);
Result edit(ApiInsuranceCategoryEditRequest request);
Result del(String insuranceCategoryBizId);
Result editStatus(String insuranceCategoryBizId, String status);
}
package com.yd.insurance.base.api.service.impl;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.yd.common.result.Result;
import com.yd.insurance.base.api.service.ApiInsuranceCategoryService;
import com.yd.insurance.base.feign.request.insurancecategory.ApiInsuranceCategoryAddRequest;
import com.yd.insurance.base.feign.request.insurancecategory.ApiInsuranceCategoryPageRequest;
import com.yd.insurance.base.feign.response.insurancecategory.ApiInsuranceCategoryDetailResponse;
import com.yd.insurance.base.feign.response.insurancecategory.ApiInsuranceCategoryEditRequest;
import com.yd.insurance.base.feign.response.insurancecategory.ApiInsuranceCategoryPageResponse;
import com.yd.insurance.base.service.service.IInsuranceCategoryService;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
@Slf4j
@Service
public class ApiInsuranceCategoryServiceImpl implements ApiInsuranceCategoryService {
@Autowired
private IInsuranceCategoryService iInsuranceCategoryService;
/**
* 分页列表查询-保险险种信息
* @param request
* @return
*/
@Override
public Result<IPage<ApiInsuranceCategoryPageResponse>> page(ApiInsuranceCategoryPageRequest request) {
Page<ApiInsuranceCategoryPageResponse> page = new Page<>(request.getPageNo(), request.getPageSize());
IPage<ApiInsuranceCategoryPageResponse> iPage = iInsuranceCategoryService.page(page, request);
return Result.success(iPage);
}
/**
* 详情-保险险种信息
* @param insuranceCategoryBizId 保险险种表唯一业务ID
* @return
*/
@Override
public Result<ApiInsuranceCategoryDetailResponse> detail(String insuranceCategoryBizId) {
return null;
}
/**
* 添加-保险险种信息
* @param request
* @return
*/
@Override
public Result add(ApiInsuranceCategoryAddRequest request) {
return null;
}
/**
* 编辑-保险险种信息
* @param request
* @return
*/
@Override
public Result edit(ApiInsuranceCategoryEditRequest request) {
return null;
}
/**
* 删除-保险险种信息
* @param insuranceCategoryBizId 保险险种表唯一业务ID
* @return
*/
@Override
public Result del(String insuranceCategoryBizId) {
return null;
}
/**
* 编辑-保险险种信息状态
* @param insuranceCategoryBizId 保险险种表唯一业务ID
* @param status 状态(0:停用 1:启用)
* @return
*/
@Override
public Result editStatus(String insuranceCategoryBizId, String status) {
return null;
}
}
package com.yd.insurance.base.feign.client.insurancecategory;
import com.yd.common.result.Result;
import com.yd.insurance.base.feign.fallback.insurancecategory.ApiInsuranceCategoryFeignFallbackFactory;
import com.yd.insurance.base.feign.request.insurancecategory.ApiInsuranceCategoryAddRequest;
import com.yd.insurance.base.feign.request.insurancecategory.ApiInsuranceCategoryPageRequest;
import com.yd.insurance.base.feign.response.insurancecategory.ApiInsuranceCategoryDetailResponse;
import com.yd.insurance.base.feign.response.insurancecategory.ApiInsuranceCategoryEditRequest;
import org.springframework.cloud.openfeign.FeignClient;
import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.*;
import javax.validation.constraints.NotBlank;
/**
* 保险险种信息Feign客户端
*/
@FeignClient(name = "yd-user-api", fallbackFactory = ApiInsuranceCategoryFeignFallbackFactory.class)
public interface ApiInsuranceCategoryFeignClient {
/**
* 分页列表查询-保险险种信息
* @param request
* @return
*/
@PostMapping("/page")
Result page(@RequestBody ApiInsuranceCategoryPageRequest request);
/**
* 详情-保险险种信息
* @param insuranceCategoryBizId 保险险种表唯一业务ID
* @return
*/
@GetMapping("/detail")
Result<ApiInsuranceCategoryDetailResponse> detail(@NotBlank(message = "保险险种表唯一业务ID不能为空") @RequestParam(value = "insuranceCategoryBizId") String insuranceCategoryBizId);
/**
* 添加-保险险种信息
* @param request
* @return
*/
@PostMapping("/add")
Result add(@Validated @RequestBody ApiInsuranceCategoryAddRequest request);
/**
* 编辑-保险险种信息
* @param request
* @return
*/
@PutMapping("/edit")
Result edit(@Validated @RequestBody ApiInsuranceCategoryEditRequest request);
/**
* 删除-保险险种信息
* @param insuranceCategoryBizId 保险险种表唯一业务ID
* @return
*/
@DeleteMapping("/del")
Result del(@RequestParam(value = "insuranceCategoryBizId") String insuranceCategoryBizId);
/**
* 编辑-保险险种信息状态
* @param insuranceCategoryBizId 保险险种表唯一业务ID
* @param status 状态(0:停用 1:启用)
* @return
*/
@PatchMapping("/edit/status")
Result editStatus(@NotBlank(message = "保险险种表唯一业务ID不能为空") @RequestParam(value = "insuranceCategoryBizId") String insuranceCategoryBizId,
@NotBlank(message = "状态不能为空") @RequestParam(value = "status") String status);
}
package com.yd.insurance.base.feign.fallback.insurancecategory;
import com.yd.common.result.Result;
import com.yd.insurance.base.feign.client.insurancecategory.ApiInsuranceCategoryFeignClient;
import com.yd.insurance.base.feign.request.insurancecategory.ApiInsuranceCategoryAddRequest;
import com.yd.insurance.base.feign.request.insurancecategory.ApiInsuranceCategoryPageRequest;
import com.yd.insurance.base.feign.response.insurancecategory.ApiInsuranceCategoryDetailResponse;
import com.yd.insurance.base.feign.response.insurancecategory.ApiInsuranceCategoryEditRequest;
import lombok.extern.slf4j.Slf4j;
import org.springframework.cloud.openfeign.FallbackFactory;
import org.springframework.stereotype.Component;
/**
* 保险险种信息Feign降级处理
*/
@Slf4j
@Component
public class ApiInsuranceCategoryFeignFallbackFactory implements FallbackFactory<ApiInsuranceCategoryFeignClient> {
@Override
public ApiInsuranceCategoryFeignClient create(Throwable cause) {
return new ApiInsuranceCategoryFeignClient() {
@Override
public Result page(ApiInsuranceCategoryPageRequest request) {
return null;
}
@Override
public Result<ApiInsuranceCategoryDetailResponse> detail(String insuranceCategoryBizId) {
return null;
}
@Override
public Result add(ApiInsuranceCategoryAddRequest request) {
return null;
}
@Override
public Result edit(ApiInsuranceCategoryEditRequest request) {
return null;
}
@Override
public Result del(String insuranceCategoryBizId) {
return null;
}
@Override
public Result editStatus(String insuranceCategoryBizId,String status) {
return null;
}
};
}
}
package com.yd.insurance.base.feign.request.insurancecategory;
import lombok.Data;
@Data
public class ApiInsuranceCategoryAddRequest {
}
package com.yd.insurance.base.feign.request.insurancecategory;
import com.yd.common.dto.PageDto;
import lombok.Data;
@Data
public class ApiInsuranceCategoryPageRequest extends PageDto {
/**
* 分类名称(分类名称,中文显示名称。例如:储蓄险,医疗险,意外险。)
*/
private String name;
}
package com.yd.insurance.base.feign.response.insurancecategory;
import lombok.Data;
@Data
public class ApiInsuranceCategoryDetailResponse {
}
package com.yd.insurance.base.feign.response.insurancecategory;
import lombok.Data;
@Data
public class ApiInsuranceCategoryEditRequest {
}
package com.yd.insurance.base.feign.response.insurancecategory;
import lombok.Data;
@Data
public class ApiInsuranceCategoryPageResponse {
/**
* 保险险种表主键ID
*/
private Long id;
/**
* 保险险种表唯一业务ID
*/
private String insuranceCategoryBizId;
/**
* 分类类别(区分是国内还是港险还是通用)
*/
private String type;
/**
* 分类编码
*/
private String code;
/**
* 分类名称(分类名称,中文显示名称。例如:储蓄险,医疗险,意外险。)
*/
private String name;
/**
* 父级id
*/
private String pid;
/**
* 分类层级
*/
private Integer level;
/**
* 排序
*/
private Integer sortOrder;
/**
* 图标链接。存储该类别的图标或图片URL,用于前端展示。
*/
private String iconUrl;
/**
* 父子路径
*/
private String path;
/**
* 状态(0:停用 1:启用)
*/
private Integer status;
/**
* 分类描述(分类描述,详细说明此分类的范围和特点。)
*/
private String description;
}
package com.yd.insurance.base.service.dao;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.yd.insurance.base.feign.request.insurancecategory.ApiInsuranceCategoryPageRequest;
import com.yd.insurance.base.feign.response.insurancecategory.ApiInsuranceCategoryPageResponse;
import com.yd.insurance.base.service.model.InsuranceCategory;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import org.apache.ibatis.annotations.Param;
/**
* <p>
......@@ -13,4 +18,6 @@ import com.baomidou.mybatisplus.core.mapper.BaseMapper;
*/
public interface InsuranceCategoryMapper extends BaseMapper<InsuranceCategory> {
IPage<ApiInsuranceCategoryPageResponse> page(@Param("page") Page<ApiInsuranceCategoryPageResponse> page,
@Param("request") ApiInsuranceCategoryPageRequest request);
}
package com.yd.insurance.base.service.service;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.yd.insurance.base.feign.request.insurancecategory.ApiInsuranceCategoryPageRequest;
import com.yd.insurance.base.feign.response.insurancecategory.ApiInsuranceCategoryPageResponse;
import com.yd.insurance.base.service.model.InsuranceCategory;
import com.baomidou.mybatisplus.extension.service.IService;
......@@ -13,4 +17,6 @@ import com.baomidou.mybatisplus.extension.service.IService;
*/
public interface IInsuranceCategoryService extends IService<InsuranceCategory> {
IPage<ApiInsuranceCategoryPageResponse> page(Page<ApiInsuranceCategoryPageResponse> page,
ApiInsuranceCategoryPageRequest request);
}
package com.yd.insurance.base.service.service.impl;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.yd.insurance.base.feign.request.insurancecategory.ApiInsuranceCategoryPageRequest;
import com.yd.insurance.base.feign.response.insurancecategory.ApiInsuranceCategoryPageResponse;
import com.yd.insurance.base.service.model.InsuranceCategory;
import com.yd.insurance.base.service.dao.InsuranceCategoryMapper;
import com.yd.insurance.base.service.service.IInsuranceCategoryService;
......@@ -17,4 +21,9 @@ import org.springframework.stereotype.Service;
@Service
public class InsuranceCategoryServiceImpl extends ServiceImpl<InsuranceCategoryMapper, InsuranceCategory> implements IInsuranceCategoryService {
@Override
public IPage<ApiInsuranceCategoryPageResponse> page(Page<ApiInsuranceCategoryPageResponse> page,
ApiInsuranceCategoryPageRequest request) {
return baseMapper.page(page,request);
}
}
......@@ -2,4 +2,14 @@
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.yd.insurance.base.service.dao.InsuranceCategoryMapper">
<select id="page"
resultType="com.yd.insurance.base.feign.response.insurancecategory.ApiInsuranceCategoryPageResponse">
select ic.* from insurance_category ic
<where>
<if test="request.name != null and request.name != ''">
and ic.name like concat('%', #{request.name}, '%')
</if>
and ic.is_deleted = 0
</where>
</select>
</mapper>
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment