Commit 028ddd2a by zhangxingmin

push

parent 0b8db80c
package com.yd.csf.api.controller;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.yd.common.result.Result;
import com.yd.csf.api.service.ApiCommissionSqlTemplateService;
import com.yd.csf.feign.client.commissionsqltemplate.ApiCommissionSqlTemplateFeignClient;
import com.yd.csf.feign.request.commissionsqltemplate.ApiCommissionSqlTemplatePageRequest;
import com.yd.csf.feign.response.commissionsqltemplate.ApiCommissionSqlTemplatePageResponse;
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;
/**
* SQL模板信息
*
* @author zxm
* @since 2025-10-15
*/
@RestController
@RequestMapping("/commissionSqlTemplate")
@Validated
public class ApiCommissionSqlTemplateController implements ApiCommissionSqlTemplateFeignClient {
@Autowired
private ApiCommissionSqlTemplateService apiCommissionSqlTemplateService;
/**
* 分页查询-SQL模板信息
* @param request
* @return
*/
@Override
public Result<IPage<ApiCommissionSqlTemplatePageResponse>> page(ApiCommissionSqlTemplatePageRequest request) {
return apiCommissionSqlTemplateService.page(request);
}
}
package com.yd.csf.api.controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
/**
* <p>
* SQL模板表 - 存储所有佣金计算相关的动态SQL模板,支持灵活配置和参数化查询,实现业务逻辑与代码解耦 前端控制器
* </p>
*
* @author zxm
* @since 2025-10-15
*/
@RestController
@RequestMapping("/commissionSqlTemplate")
public class CommissionSqlTemplateController {
}
package com.yd.csf.api.service;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.yd.common.result.Result;
import com.yd.csf.feign.request.commissionsqltemplate.ApiCommissionSqlTemplatePageRequest;
import com.yd.csf.feign.response.commissionsqltemplate.ApiCommissionSqlTemplatePageResponse;
public interface ApiCommissionSqlTemplateService {
Result<IPage<ApiCommissionSqlTemplatePageResponse>> page(ApiCommissionSqlTemplatePageRequest request);
}
package com.yd.csf.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.csf.api.service.ApiCommissionSqlTemplateService;
import com.yd.csf.feign.request.commissionsqltemplate.ApiCommissionSqlTemplatePageRequest;
import com.yd.csf.feign.response.commissionsqltemplate.ApiCommissionSqlTemplatePageResponse;
import com.yd.csf.service.service.ICommissionSqlTemplateService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
@Service
public class ApiCommissionSqlTemplateServiceImpl implements ApiCommissionSqlTemplateService {
@Autowired
private ICommissionSqlTemplateService iCommissionSqlTemplateService;
/**
* 分页查询-SQL模板信息
* @param request
* @return
*/
@Override
public Result<IPage<ApiCommissionSqlTemplatePageResponse>> page(ApiCommissionSqlTemplatePageRequest request) {
Page<ApiCommissionSqlTemplatePageResponse> page = new Page<>(request.getPageNo(), request.getPageSize());
IPage<ApiCommissionSqlTemplatePageResponse> iPage = iCommissionSqlTemplateService.page(page, request);
return Result.success(iPage);
}
}
package com.yd.csf.feign.client.commissionsqltemplate;
import com.yd.common.result.Result;
import com.yd.csf.feign.fallback.commissionsqltemplate.ApiCommissionSqlTemplateFeignFallbackFactory;
import com.yd.csf.feign.request.commissionsqltemplate.ApiCommissionSqlTemplatePageRequest;
import org.springframework.cloud.openfeign.FeignClient;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestBody;
/**
* 香港保险服务-SQL模板信息Feign客户端
*/
@FeignClient(name = "yd-csf-api", fallbackFactory = ApiCommissionSqlTemplateFeignFallbackFactory.class)
public interface ApiCommissionSqlTemplateFeignClient {
/**
* 分页查询-SQL模板信息
* @param request
* @return
*/
@PostMapping("/page")
Result page(@RequestBody ApiCommissionSqlTemplatePageRequest request);
}
package com.yd.csf.feign.fallback.commissionsqltemplate;
import com.yd.common.result.Result;
import com.yd.csf.feign.client.commissionsqltemplate.ApiCommissionSqlTemplateFeignClient;
import com.yd.csf.feign.request.commissionsqltemplate.ApiCommissionSqlTemplatePageRequest;
import lombok.extern.slf4j.Slf4j;
import org.springframework.cloud.openfeign.FallbackFactory;
import org.springframework.stereotype.Component;
/**
* 香港保险服务-SQL模板信息Feign降级处理
*/
@Slf4j
@Component
public class ApiCommissionSqlTemplateFeignFallbackFactory implements FallbackFactory<ApiCommissionSqlTemplateFeignClient> {
@Override
public ApiCommissionSqlTemplateFeignClient create(Throwable cause) {
return new ApiCommissionSqlTemplateFeignClient() {
@Override
public Result page(ApiCommissionSqlTemplatePageRequest request) {
return null;
}
};
}
}
package com.yd.csf.feign.request.commissionsqltemplate;
import com.yd.common.dto.PageDto;
import lombok.Data;
@Data
public class ApiCommissionSqlTemplatePageRequest extends PageDto {
/**
* 模板名称
*/
private String sqlTemplateName;
}
package com.yd.csf.feign.response.commissionsqltemplate;
import lombok.Data;
import java.time.LocalDateTime;
@Data
public class ApiCommissionSqlTemplatePageResponse {
/**
* 主键ID
*/
private Long id;
/**
* SQL模板表唯一业务ID
*/
private String sqlTemplateBizId;
/**
* 模板编码
*/
private String sqlTemplateCode;
/**
* 模板名称
*/
private String sqlTemplateName;
/**
* 模板类型
*/
private String sqlTemplateType;
/**
* 模板详细描述
*/
private String description;
/**
* SQL模板内容,支持参数化查询,使用 :参数名 作为占位符,如:SELECT SUM(fyc) FROM policy WHERE agent_id = :agentId AND period = :period
*/
private String sqlTemplate;
/**
* 参数定义,JSON格式,定义SQL模板所需的参数列表,如:[{"name": "agentId", "type": "STRING", "required": true, "description": "业务员ID"}, {"name": "period", "type": "STRING", "required": true, "description": "计算周期"}]
*/
private String parameters;
/**
* 显示顺序
*/
private Integer displayOrder;
/**
* 创建时间
*/
private LocalDateTime createTime;
/**
* 更新时间
*/
private LocalDateTime updateTime;
}
package com.yd.csf.service.dao;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.yd.csf.feign.request.commissionsqltemplate.ApiCommissionSqlTemplatePageRequest;
import com.yd.csf.feign.response.commissionsqltemplate.ApiCommissionSqlTemplatePageResponse;
import com.yd.csf.service.model.CommissionSqlTemplate;
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 CommissionSqlTemplateMapper extends BaseMapper<CommissionSqlTemplate> {
IPage<ApiCommissionSqlTemplatePageResponse> page(@Param("page") Page<ApiCommissionSqlTemplatePageResponse> page,
@Param("request") ApiCommissionSqlTemplatePageRequest request);
}
package com.yd.csf.service.service;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.yd.csf.feign.request.commissionsqltemplate.ApiCommissionSqlTemplatePageRequest;
import com.yd.csf.feign.response.commissionsqltemplate.ApiCommissionSqlTemplatePageResponse;
import com.yd.csf.service.dto.CommissionSqlTemplateDto;
import com.yd.csf.service.model.CommissionSqlTemplate;
import com.baomidou.mybatisplus.extension.service.IService;
......@@ -16,5 +20,8 @@ import java.util.List;
*/
public interface ICommissionSqlTemplateService extends IService<CommissionSqlTemplate> {
IPage<ApiCommissionSqlTemplatePageResponse> page(Page<ApiCommissionSqlTemplatePageResponse> page,
ApiCommissionSqlTemplatePageRequest request);
List<CommissionSqlTemplate> queryList(CommissionSqlTemplateDto dto);
}
package com.yd.csf.service.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.yd.csf.feign.request.commissionsqltemplate.ApiCommissionSqlTemplatePageRequest;
import com.yd.csf.feign.response.commissionsqltemplate.ApiCommissionSqlTemplatePageResponse;
import com.yd.csf.service.dto.CommissionSqlTemplateDto;
import com.yd.csf.service.model.CommissionSqlTemplate;
import com.yd.csf.service.dao.CommissionSqlTemplateMapper;
......@@ -23,6 +27,12 @@ import java.util.List;
@Service
public class CommissionSqlTemplateServiceImpl extends ServiceImpl<CommissionSqlTemplateMapper, CommissionSqlTemplate> implements ICommissionSqlTemplateService {
@Override
public IPage<ApiCommissionSqlTemplatePageResponse> page(Page<ApiCommissionSqlTemplatePageResponse> page,
ApiCommissionSqlTemplatePageRequest request) {
return baseMapper.page(page,request);
}
/**
* 查询列表
* @param dto
......
......@@ -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.csf.service.dao.CommissionSqlTemplateMapper">
<select id="page"
resultType="com.yd.csf.feign.response.commissionsqltemplate.ApiCommissionSqlTemplatePageResponse">
select * from commission_sql_template cst
<where>
<if test="request.sqlTemplateName != null and request.sqlTemplateName != ''">
and cst.sqlTemplateName like concat('%', #{request.sqlTemplateName}, '%')
</if>
and cst.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