Commit 0febd2b4 by zhangxingmin

银行基础信息

parent ac8391b6
package com.yd.base.api.controller;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.yd.base.api.service.ApiBankService;
import com.yd.base.feign.client.bank.ApiBankFeignClient;
import com.yd.base.feign.request.bank.ApiBankAddRequest;
import com.yd.base.feign.request.bank.ApiBankEditRequest;
import com.yd.base.feign.request.bank.ApiBankListRequest;
import com.yd.base.feign.request.bank.ApiBankPageRequest;
import com.yd.base.feign.response.bank.ApiBankDetailResponse;
import com.yd.base.feign.response.bank.ApiBankPageResponse;
import com.yd.common.result.Result;
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;
import java.util.List;
/**
* 银行基础信息
*
* @author zxm
* @since 2025-12-22
*/
@RestController
@RequestMapping("/bank")
@Validated
public class ApiBankController implements ApiBankFeignClient {
@Autowired
private ApiBankService apiBankService;
/**
* 分页列表查询-银行信息
* @param request
* @return
*/
@Override
public Result<IPage<ApiBankPageResponse>> page(ApiBankPageRequest request) {
return apiBankService.page(request);
}
/**
* 列表查询-银行信息
* @param request
* @return
*/
@Override
public Result<List<ApiBankDetailResponse>> list(ApiBankListRequest request) {
return apiBankService.list(request);
}
/**
* 添加-银行信息
* @param request
* @return
*/
@Override
public Result add(ApiBankAddRequest request) {
return apiBankService.add(request);
}
/**
* 编辑-银行信息
* @param request
* @return
*/
@Override
public Result edit(ApiBankEditRequest request) {
return apiBankService.edit(request);
}
/**
* 详情-银行信息
* @param bankBizId 银行信息表唯一业务ID
* @return
*/
@Override
public Result<ApiBankDetailResponse> detail(String bankBizId) {
return apiBankService.detail(bankBizId);
}
/**
* 删除-银行信息
* @param bankBizId 银行信息表唯一业务ID
* @return
*/
@Override
public Result del(String bankBizId) {
return apiBankService.del(bankBizId);
}
/**
* 编辑银行信息状态
* @param bankBizId 银行信息唯一标识(业务ID)
* @param status 状态:1-有效,0-无效。
* @return
*/
@Override
public Result editStatus(String bankBizId, Integer status) {
return apiBankService.editStatus(bankBizId,status);
}
}
package com.yd.base.api.service;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.yd.base.feign.request.bank.ApiBankAddRequest;
import com.yd.base.feign.request.bank.ApiBankEditRequest;
import com.yd.base.feign.request.bank.ApiBankListRequest;
import com.yd.base.feign.request.bank.ApiBankPageRequest;
import com.yd.base.feign.response.bank.ApiBankDetailResponse;
import com.yd.base.feign.response.bank.ApiBankPageResponse;
import com.yd.common.result.Result;
import java.util.List;
public interface ApiBankService {
Result<IPage<ApiBankPageResponse>> page(ApiBankPageRequest request);
Result<List<ApiBankDetailResponse>> list(ApiBankListRequest request);
Result add(ApiBankAddRequest request);
Result edit(ApiBankEditRequest request);
Result<ApiBankDetailResponse> detail(String bankBizId);
Result del(String bankBizId);
Result editStatus(String bankBizId, Integer status);
}
package com.yd.base.api.service.impl;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.yd.base.api.service.ApiBankService;
import com.yd.base.feign.request.bank.ApiBankAddRequest;
import com.yd.base.feign.request.bank.ApiBankEditRequest;
import com.yd.base.feign.request.bank.ApiBankListRequest;
import com.yd.base.feign.request.bank.ApiBankPageRequest;
import com.yd.base.feign.response.bank.ApiBankDetailResponse;
import com.yd.base.feign.response.bank.ApiBankPageResponse;
import com.yd.base.service.service.IBankService;
import com.yd.common.result.Result;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import java.util.List;
@Slf4j
@Service
public class ApiBankServiceImpl implements ApiBankService {
@Autowired
private IBankService iBankService;
/**
* 分页列表查询-银行信息
* @param request
* @return
*/
@Override
public Result<IPage<ApiBankPageResponse>> page(ApiBankPageRequest request) {
Page<ApiBankPageResponse> page = new Page<>(request.getPageNo(), request.getPageSize());
IPage<ApiBankPageResponse> iPage = iBankService.page(page, request);
return Result.success(iPage);
}
/**
* 列表查询-银行信息
* @param request
* @return
*/
@Override
public Result<List<ApiBankDetailResponse>> list(ApiBankListRequest request) {
return null;
}
/**
* 添加-银行信息
* @param request
* @return
*/
@Override
public Result add(ApiBankAddRequest request) {
return null;
}
/**
* 编辑-银行信息
* @param request
* @return
*/
@Override
public Result edit(ApiBankEditRequest request) {
return null;
}
/**
* 详情-银行信息
* @param bankBizId 银行信息表唯一业务ID
* @return
*/
@Override
public Result<ApiBankDetailResponse> detail(String bankBizId) {
return null;
}
/**
* 删除-银行信息
* @param bankBizId 银行信息表唯一业务ID
* @return
*/
@Override
public Result del(String bankBizId) {
return null;
}
/**
* 编辑银行信息状态
* @param bankBizId 银行信息唯一标识(业务ID)
* @param status 状态:1-有效,0-无效。
* @return
*/
@Override
public Result editStatus(String bankBizId, Integer status) {
return null;
}
}
package com.yd.base.feign.client.bank;
import com.yd.base.feign.fallback.bank.ApiBankFeignFallbackFactory;
import com.yd.base.feign.request.bank.ApiBankAddRequest;
import com.yd.base.feign.request.bank.ApiBankEditRequest;
import com.yd.base.feign.request.bank.ApiBankListRequest;
import com.yd.base.feign.request.bank.ApiBankPageRequest;
import com.yd.base.feign.response.bank.ApiBankDetailResponse;
import com.yd.common.result.Result;
import org.springframework.cloud.openfeign.FeignClient;
import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.*;
import javax.validation.constraints.NotBlank;
import javax.validation.constraints.NotNull;
import java.util.List;
/**
* 基础数据服务-银行基础信息Feign客户端
*/
@FeignClient(name = "yd-base-api", fallbackFactory = ApiBankFeignFallbackFactory.class)
public interface ApiBankFeignClient {
/**
* 分页列表查询-银行信息
* @param request
* @return
*/
@PostMapping("/page")
Result page(@RequestBody ApiBankPageRequest request);
/**
* 列表查询-银行信息
* @param request
* @return
*/
@PostMapping("/list")
Result<List<ApiBankDetailResponse>> list(@RequestBody ApiBankListRequest request);
/**
* 添加-银行信息
* @param request
* @return
*/
@PostMapping("/add")
Result add(@Validated @RequestBody ApiBankAddRequest request);
/**
* 编辑-银行信息
* @param request
* @return
*/
@PutMapping("/edit")
Result edit(@Validated @RequestBody ApiBankEditRequest request);
/**
* 详情-银行信息
* @param bankBizId 银行信息表唯一业务ID
* @return
*/
@GetMapping("/detail")
Result<ApiBankDetailResponse> detail(@NotBlank(message = "银行信息表唯一业务ID能为空") @RequestParam(value = "bankBizId") String bankBizId);
/**
* 删除-银行信息
* @param bankBizId 银行信息表唯一业务ID
* @return
*/
@DeleteMapping("/del")
Result del(@NotBlank(message = "银行信息表唯一业务ID能为空") @RequestParam(value = "bankBizId") String bankBizId);
/**
* 编辑银行信息状态
* @param bankBizId 银行信息唯一标识(业务ID)
* @param status 状态:1-有效,0-无效。
* @return
*/
@PatchMapping("/edit/status")
Result editStatus(@NotBlank(message = "银行信息表唯一业务ID能为空") @RequestParam(value = "bankBizId") String bankBizId,
@NotNull(message = "状态不能为空") @RequestParam(value = "status") Integer status);
}
package com.yd.base.feign.fallback.bank;
import com.yd.base.feign.client.bank.ApiBankFeignClient;
import com.yd.base.feign.request.bank.ApiBankAddRequest;
import com.yd.base.feign.request.bank.ApiBankEditRequest;
import com.yd.base.feign.request.bank.ApiBankListRequest;
import com.yd.base.feign.request.bank.ApiBankPageRequest;
import com.yd.base.feign.response.bank.ApiBankDetailResponse;
import com.yd.common.result.Result;
import lombok.extern.slf4j.Slf4j;
import org.springframework.cloud.openfeign.FallbackFactory;
import org.springframework.stereotype.Component;
import java.util.List;
/**
* 基础数据服务-银行基础信息Feign降级处理
*/
@Slf4j
@Component
public class ApiBankFeignFallbackFactory implements FallbackFactory<ApiBankFeignClient> {
@Override
public ApiBankFeignClient create(Throwable cause) {
return new ApiBankFeignClient() {
@Override
public Result page(ApiBankPageRequest request) {
return null;
}
@Override
public Result<List<ApiBankDetailResponse>> list(ApiBankListRequest request) {
return null;
}
@Override
public Result add(ApiBankAddRequest request) {
return null;
}
@Override
public Result edit(ApiBankEditRequest request) {
return null;
}
@Override
public Result<ApiBankDetailResponse> detail(String bankBizId) {
return null;
}
@Override
public Result del(String bankBizId) {
return null;
}
@Override
public Result editStatus(String bankBizId, Integer status) {
return null;
}
};
}
}
package com.yd.base.feign.request.bank;
import lombok.Data;
@Data
public class ApiBankAddRequest {
}
package com.yd.base.feign.request.bank;
import lombok.Data;
@Data
public class ApiBankEditRequest {
}
package com.yd.base.feign.request.bank;
import lombok.Data;
@Data
public class ApiBankListRequest {
}
package com.yd.base.feign.request.bank;
import com.yd.common.dto.PageDto;
import lombok.Data;
@Data
public class ApiBankPageRequest extends PageDto {
/**
* 查询内容(银行机构全称/简称,支持模糊搜索)
*/
private String queryContent;
}
package com.yd.base.feign.response.bank;
import lombok.Data;
@Data
public class ApiBankDetailResponse {
}
package com.yd.base.feign.response.bank;
import lombok.Data;
import java.time.LocalDateTime;
@Data
public class ApiBankPageResponse {
/**
* 银行基础信息表主键ID
*/
private Long id;
/**
* 银行基础信息表唯一业务ID
*/
private String bankBizId;
/**
* 银行层级(银行层级:1-总行,2-分行,3-支行,4-分理处。)
*/
private String bankLevel;
/**
* 上级行ID,关联本表主键。总行的 parent_bank_id = 0。
*/
private String parentBankId;
/**
* 银行机构全称。例如:中国工商银行,中国工商银行北京市分行,中国工商银行北京海淀支行。
*/
private String bankName;
/**
* 银行机构简称。例如:工行,工行北京分行,工行海淀支行
*/
private String bankShortName;
/**
* 银行类型:1-央行,2-国有大行,3-股份制,4-城商行,5-农商行,6-外资行,7-邮储,8-香港银行,9-国际银行。
*/
private String bankType;
/**
* 所属地区:1-大陆,2-香港,3-澳门,4-台湾,5-国际。
*/
private String region;
/**
* 银行Logo URL。存储银行logo图片的链接地址。
*/
private String logoUrl;
/**
* 客服电话。
*/
private String customerServicePhone;
/**
* 官方网站。
*/
private String officialWebsite;
/**
* 是否合作银行:1-是,0-否。标记与我司有业务合作的银行。
*/
private String isCooperation;
/**
* 合作级别:1-战略合作,2-重要合作,3-一般合作。仅为合作银行设置。
*/
private String cooperationLevel;
/**
* 合作开始日期
*/
private LocalDateTime cooperationStartDate;
/**
* 合作结束日期。
*/
private LocalDateTime cooperationEndDate;
/**
* 状态:1-有效,0-无效。
*/
private Integer status;
/**
* 排序号。
*/
private String sortOrder;
/**
* 是否热门。
*/
private String isPopular;
/**
* 热门排序
*/
private String popularOrder;
/**
* 开户所需资料
*/
private String materials;
}
package com.yd.base.service.dao;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.yd.base.feign.request.bank.ApiBankPageRequest;
import com.yd.base.feign.response.bank.ApiBankPageResponse;
import com.yd.base.service.model.Bank;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import org.apache.ibatis.annotations.Param;
/**
* <p>
* 银行基础信息 Mapper 接口
* </p>
*
* @author zxm
* @since 2025-12-22
*/
public interface BankMapper extends BaseMapper<Bank> {
IPage<ApiBankPageResponse> page(@Param("page") Page<ApiBankPageResponse> page,
@Param("request") ApiBankPageRequest request);
}
package com.yd.base.service.model;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import java.io.Serializable;
import java.time.LocalDateTime;
import lombok.Getter;
import lombok.Setter;
/**
* <p>
* 银行基础信息表
* </p>
*
* @author zxm
* @since 2025-12-22
*/
@Getter
@Setter
@TableName("bank")
public class Bank implements Serializable {
private static final long serialVersionUID = 1L;
@TableId(value = "id", type = IdType.AUTO)
private Long id;
/**
* 银行基础信息表唯一业务ID
*/
@TableField("bank_biz_id")
private String bankBizId;
/**
* 银行层级(银行层级:1-总行,2-分行,3-支行,4-分理处。)
*/
@TableField("bank_level")
private String bankLevel;
/**
* 上级行ID,关联本表主键。总行的 parent_bank_id = 0。
*/
@TableField("parent_bank_id")
private String parentBankId;
/**
* 银行机构全称。例如:中国工商银行,中国工商银行北京市分行,中国工商银行北京海淀支行。
*/
@TableField("bank_name")
private String bankName;
/**
* 银行机构简称。例如:工行,工行北京分行,工行海淀支行
*/
@TableField("bank_short_name")
private String bankShortName;
/**
* 银行类型:1-央行,2-国有大行,3-股份制,4-城商行,5-农商行,6-外资行,7-邮储,8-香港银行,9-国际银行。
*/
@TableField("bank_type")
private String bankType;
/**
* 所属地区:1-大陆,2-香港,3-澳门,4-台湾,5-国际。
*/
@TableField("region")
private String region;
/**
* 银行Logo URL。存储银行logo图片的链接地址。
*/
@TableField("logo_url")
private String logoUrl;
/**
* 客服电话。
*/
@TableField("customer_service_phone")
private String customerServicePhone;
/**
* 官方网站。
*/
@TableField("official_website")
private String officialWebsite;
/**
* 是否合作银行:1-是,0-否。标记与我司有业务合作的银行。
*/
@TableField("is_cooperation")
private String isCooperation;
/**
* 合作级别:1-战略合作,2-重要合作,3-一般合作。仅为合作银行设置。
*/
@TableField("cooperation_level")
private String cooperationLevel;
/**
* 合作开始日期
*/
@TableField("cooperation_start_date")
private LocalDateTime cooperationStartDate;
/**
* 合作结束日期。
*/
@TableField("cooperation_end_date")
private LocalDateTime cooperationEndDate;
/**
* 状态:1-有效,0-无效。
*/
@TableField("status")
private Integer status;
/**
* 排序号。
*/
@TableField("sort_order")
private String sortOrder;
/**
* 是否热门。
*/
@TableField("is_popular")
private String isPopular;
/**
* 热门排序
*/
@TableField("popular_order")
private String popularOrder;
/**
* 开户所需资料
*/
@TableField("materials")
private String materials;
/**
* 通用备注
*/
@TableField("remark")
private String remark;
/**
* 删除标识: 0-正常, 1-删除
*/
@TableField("is_deleted")
private Integer isDeleted;
/**
* 创建人ID
*/
@TableField("creator_id")
private String creatorId;
/**
* 更新人ID
*/
@TableField("updater_id")
private String updaterId;
/**
* 创建时间
*/
@TableField("create_time")
private LocalDateTime createTime;
/**
* 更新时间
*/
@TableField("update_time")
private LocalDateTime updateTime;
}
package com.yd.base.service.service;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.yd.base.feign.request.bank.ApiBankPageRequest;
import com.yd.base.feign.response.bank.ApiBankPageResponse;
import com.yd.base.service.model.Bank;
import com.baomidou.mybatisplus.extension.service.IService;
/**
* <p>
* 银行基础信息 服务类
* </p>
*
* @author zxm
* @since 2025-12-22
*/
public interface IBankService extends IService<Bank> {
IPage<ApiBankPageResponse> page(Page<ApiBankPageResponse> page,
ApiBankPageRequest request);
}
package com.yd.base.service.service.impl;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.yd.base.feign.request.bank.ApiBankPageRequest;
import com.yd.base.feign.response.bank.ApiBankPageResponse;
import com.yd.base.service.model.Bank;
import com.yd.base.service.dao.BankMapper;
import com.yd.base.service.service.IBankService;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import org.springframework.stereotype.Service;
/**
* <p>
* 银行基础信息 服务实现类
* </p>
*
* @author zxm
* @since 2025-12-22
*/
@Service
public class BankServiceImpl extends ServiceImpl<BankMapper, Bank> implements IBankService {
@Override
public IPage<ApiBankPageResponse> page(Page<ApiBankPageResponse> page,
ApiBankPageRequest request) {
return baseMapper.page(page,request);
}
}
......@@ -5,7 +5,7 @@ import com.baomidou.mybatisplus.generator.engine.FreemarkerTemplateEngine;
public class MyBatisPlusCodeGenerator {
public static void main(String[] args) {
FastAutoGenerator.create("jdbc:mysql://localhost:3306/yd_product?serverTimezone=GMT%2B8", "root", "123456")
FastAutoGenerator.create("jdbc:mysql://139.224.145.34:3308/yd_base?serverTimezone=GMT%2B8", "root", "Zxm7320017")
.globalConfig(builder -> {
builder.author("zxm")
// .outputDir("src/main/java/com/yd/user/service");
......@@ -21,7 +21,7 @@ public class MyBatisPlusCodeGenerator {
})
.strategyConfig(builder -> {
builder.addInclude(
"species_type"
"bank"
)
.entityBuilder()
.enableLombok()
......
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.yd.base.service.dao.BankMapper">
<select id="page" resultType="com.yd.base.feign.response.bank.ApiBankPageResponse">
select b.* from bank b
<where>
<if test="request.queryContent != null and request.queryContent != ''">
and (
b.bank_name like concat('%', #{request.queryContent}, '%')
or b.bank_short_name like concat('%', #{request.queryContent}, '%')
)
</if>
and b.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