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; 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.yd.csf.service.model.CommissionSqlTemplate;
import com.baomidou.mybatisplus.core.mapper.BaseMapper; import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import org.apache.ibatis.annotations.Param;
/** /**
* <p> * <p>
...@@ -13,4 +18,6 @@ import com.baomidou.mybatisplus.core.mapper.BaseMapper; ...@@ -13,4 +18,6 @@ import com.baomidou.mybatisplus.core.mapper.BaseMapper;
*/ */
public interface CommissionSqlTemplateMapper extends BaseMapper<CommissionSqlTemplate> { public interface CommissionSqlTemplateMapper extends BaseMapper<CommissionSqlTemplate> {
IPage<ApiCommissionSqlTemplatePageResponse> page(@Param("page") Page<ApiCommissionSqlTemplatePageResponse> page,
@Param("request") ApiCommissionSqlTemplatePageRequest request);
} }
package com.yd.csf.service.service; 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.dto.CommissionSqlTemplateDto;
import com.yd.csf.service.model.CommissionSqlTemplate; import com.yd.csf.service.model.CommissionSqlTemplate;
import com.baomidou.mybatisplus.extension.service.IService; import com.baomidou.mybatisplus.extension.service.IService;
...@@ -16,5 +20,8 @@ import java.util.List; ...@@ -16,5 +20,8 @@ import java.util.List;
*/ */
public interface ICommissionSqlTemplateService extends IService<CommissionSqlTemplate> { public interface ICommissionSqlTemplateService extends IService<CommissionSqlTemplate> {
IPage<ApiCommissionSqlTemplatePageResponse> page(Page<ApiCommissionSqlTemplatePageResponse> page,
ApiCommissionSqlTemplatePageRequest request);
List<CommissionSqlTemplate> queryList(CommissionSqlTemplateDto dto); List<CommissionSqlTemplate> queryList(CommissionSqlTemplateDto dto);
} }
package com.yd.csf.service.service.impl; package com.yd.csf.service.service.impl;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; 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.dto.CommissionSqlTemplateDto;
import com.yd.csf.service.model.CommissionSqlTemplate; import com.yd.csf.service.model.CommissionSqlTemplate;
import com.yd.csf.service.dao.CommissionSqlTemplateMapper; import com.yd.csf.service.dao.CommissionSqlTemplateMapper;
...@@ -23,6 +27,12 @@ import java.util.List; ...@@ -23,6 +27,12 @@ import java.util.List;
@Service @Service
public class CommissionSqlTemplateServiceImpl extends ServiceImpl<CommissionSqlTemplateMapper, CommissionSqlTemplate> implements ICommissionSqlTemplateService { 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 * @param dto
......
...@@ -2,4 +2,14 @@ ...@@ -2,4 +2,14 @@
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd"> <!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"> <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> </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