0327-青田重要信息一览
This commit is contained in:
141
CLAUDE.md
Normal file
141
CLAUDE.md
Normal file
@@ -0,0 +1,141 @@
|
|||||||
|
# CLAUDE.md
|
||||||
|
|
||||||
|
This file provides guidance to Claude Code (claude.ai/code) when working with code in this repository.
|
||||||
|
|
||||||
|
## 项目概述
|
||||||
|
|
||||||
|
这是一个基于若依框架(RuoYi v3.8.8)的全栈银行客户关系管理系统,扩展了自定义业务逻辑,用于客户关系管理、基于网格的片区管理和移动端办公支持。
|
||||||
|
|
||||||
|
**技术栈:**
|
||||||
|
- **后端**:Spring Boot 2.5.14、Java 1.8、Maven 多模块项目
|
||||||
|
- **前端**:Vue 2.6 + Vant UI(移动端 H5 应用)
|
||||||
|
- **数据库**:MySQL + MyBatis Plus ORM
|
||||||
|
- **缓存**:Redis + JWT 认证
|
||||||
|
- **API 文档**:Swagger 3.0
|
||||||
|
|
||||||
|
## 构建与运行命令
|
||||||
|
|
||||||
|
### 后端(Maven)
|
||||||
|
```bash
|
||||||
|
# 构建整个项目(跳过测试)
|
||||||
|
mvn clean package -Dmaven.test.skip=true
|
||||||
|
|
||||||
|
# 或使用便捷脚本:
|
||||||
|
bin/package.bat # 构建
|
||||||
|
bin/run.bat # 运行(启动 RuoYiApplication)
|
||||||
|
bin/clean.bat # 清理构建产物
|
||||||
|
```
|
||||||
|
|
||||||
|
构建后的可执行 JAR 位于 `ruoyi-admin/target/ruoyi-admin.jar`。
|
||||||
|
|
||||||
|
### 前端(Vue H5)
|
||||||
|
```bash
|
||||||
|
cd szzh-h5
|
||||||
|
npm install # 安装依赖
|
||||||
|
npm run serve # 开发服务器(dev 模式)
|
||||||
|
npm run build # 生产环境构建
|
||||||
|
npm run build:dev # 开发环境构建
|
||||||
|
```
|
||||||
|
|
||||||
|
## 架构
|
||||||
|
|
||||||
|
### Maven 模块结构
|
||||||
|
```
|
||||||
|
ruoyi/ # 父 POM
|
||||||
|
├── ruoyi-admin/ # 主应用入口(RuoYiApplication)
|
||||||
|
├── ruoyi-framework/ # 框架核心(安全、配置、拦截器)
|
||||||
|
├── ruoyi-system/ # 系统管理(用户、角色、部门、菜单)
|
||||||
|
├── ruoyi-common/ # 通用工具类和基类
|
||||||
|
├── ruoyi-quartz/ # 定时任务支持
|
||||||
|
├── ruoyi-generator/ # 代码生成工具
|
||||||
|
└── ibs/ # 自定义业务逻辑模块
|
||||||
|
```
|
||||||
|
|
||||||
|
### IBS 业务模块(`ibs/src/main/java/com/ruoyi/ibs`)
|
||||||
|
核心业务域包含以下子模块:
|
||||||
|
|
||||||
|
| 模块 | 功能说明 |
|
||||||
|
|------|---------|
|
||||||
|
| `app` | 企业微信(QYWeiXin)集成、认证 |
|
||||||
|
| `audio` | 音频录制和处理 |
|
||||||
|
| `cmpm` | 客户经理关系管理(移交、认领、调整) |
|
||||||
|
| `custmap` | 客户地图可视化和收藏位置 |
|
||||||
|
| `customerselect` | 客户筛选和基于 CSV 标签的选择 |
|
||||||
|
| `dashboard` | 仪表盘数据、营销活动、通知 |
|
||||||
|
| `datavisual` | 拜访轨迹和区域数据可视化 |
|
||||||
|
| `draw` | 地图绘制图层及审核工作流 |
|
||||||
|
| `grid` | 地理网格管理、虚拟网格、地址解析 |
|
||||||
|
| `list` | 客户列表(零售、商户)、家庭成员、营销活动 |
|
||||||
|
| `qxhy` | 第三方集成(清香和一) |
|
||||||
|
| `rules` | 业务关系规则引擎 |
|
||||||
|
| `tabs` | 客户详情标签页和列表信息 |
|
||||||
|
| `task` | 拜访任务、预约、工作记录、反馈 |
|
||||||
|
|
||||||
|
### 前端结构(`szzh-h5/src`)
|
||||||
|
```
|
||||||
|
views/
|
||||||
|
├── cart/ # 购物车功能
|
||||||
|
├── category/ # 分类管理
|
||||||
|
├── customer/ # 客户视图
|
||||||
|
├── dashboard/ # 仪表盘视图
|
||||||
|
├── grid/ # 网格管理视图
|
||||||
|
├── login/ # 认证登录
|
||||||
|
├── map/ # 地图功能
|
||||||
|
├── visitingTask/ # 拜访任务管理
|
||||||
|
└── workBench/ # 工作台视图
|
||||||
|
```
|
||||||
|
|
||||||
|
## 关键配置
|
||||||
|
|
||||||
|
### 环境配置文件
|
||||||
|
- `application.yml` - 基础配置
|
||||||
|
- `application-dev.yml` - 开发环境
|
||||||
|
- `application-pre.yml` - 预生产环境
|
||||||
|
- `application-uat.yml` - UAT 环境
|
||||||
|
- `application-pro.yml` - 生产环境
|
||||||
|
|
||||||
|
### 重要路径
|
||||||
|
- MyBatis Mapper 文件:`ibs/src/main/resources/mapper/**/*.xml`
|
||||||
|
- 类型处理器:`com.ruoyi.ibs.handler`
|
||||||
|
- 上传路径(Windows):`D:/ruoyi/files/`
|
||||||
|
- 上传路径(Linux):`/home/webapp/ruoyi/files/`
|
||||||
|
|
||||||
|
## 代码规范
|
||||||
|
|
||||||
|
### 后端包结构(每个模块)
|
||||||
|
```
|
||||||
|
com.ruoyi.ibs.{module}/
|
||||||
|
├── controller/ # REST 接口
|
||||||
|
├── domain/
|
||||||
|
│ ├── entity/ # 数据库实体(@TableName)
|
||||||
|
│ ├── dto/ # 请求 DTO
|
||||||
|
│ └── vo/ # 响应 VO
|
||||||
|
├── mapper/ # MyBatis Mapper
|
||||||
|
└── service/
|
||||||
|
├── I{Xxx}Service # 接口
|
||||||
|
└── impl/
|
||||||
|
└── {Xxx}ServiceImpl # 实现
|
||||||
|
```
|
||||||
|
|
||||||
|
### 命名规范
|
||||||
|
- Controller 以 `Controller` 结尾
|
||||||
|
- Service 接口以 `I` 开头(如 `IGridService`)
|
||||||
|
- Service 实现以 `ServiceImpl` 结尾
|
||||||
|
- DTO 以 `DTO` 结尾(数据传输对象)
|
||||||
|
- VO 以 `VO` 结尾(视图对象)
|
||||||
|
- 实体类使用 `@TableName` 注解映射表名
|
||||||
|
|
||||||
|
## 认证与安全
|
||||||
|
|
||||||
|
- 基于 JWT 的认证,可配置令牌过期时间(默认 3000 分钟)
|
||||||
|
- Token 请求头:`Authorization`
|
||||||
|
- Spring Security 实现基于角色的访问控制
|
||||||
|
- 在 `/system/*`、`/monitor/*`、`/tool/*` 路径启用 XSS 过滤
|
||||||
|
|
||||||
|
## 开发注意事项
|
||||||
|
|
||||||
|
- 热部署默认禁用(`spring.devtools.restart.enabled: false`)
|
||||||
|
- `com.ruoyi` 包的日志级别为 `debug`
|
||||||
|
- 使用 Druid 连接池
|
||||||
|
- PageHelper 配置为 MySQL 分页方言
|
||||||
|
- 主应用入口:`ruoyi-admin/src/main/java/com/ruoyi/RuoYiApplication.java`
|
||||||
@@ -0,0 +1,32 @@
|
|||||||
|
package com.ruoyi.ibs.list.domain;
|
||||||
|
|
||||||
|
import lombok.Data;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 青田 932 重要信息一览-个人贷款信息
|
||||||
|
*/
|
||||||
|
@Data
|
||||||
|
public class ImportantInfoLoan932 {
|
||||||
|
|
||||||
|
private String custId;
|
||||||
|
|
||||||
|
private String custIsn;
|
||||||
|
|
||||||
|
private String contractNo;
|
||||||
|
|
||||||
|
private String conStartDt;
|
||||||
|
|
||||||
|
private String conEndDt;
|
||||||
|
|
||||||
|
private String loanBal;
|
||||||
|
|
||||||
|
private String loanRate;
|
||||||
|
|
||||||
|
private String assureWay;
|
||||||
|
|
||||||
|
private String loanPurpose;
|
||||||
|
|
||||||
|
private String orgCode;
|
||||||
|
|
||||||
|
private String dataDate;
|
||||||
|
}
|
||||||
@@ -0,0 +1,11 @@
|
|||||||
|
package com.ruoyi.ibs.list.mapper;
|
||||||
|
|
||||||
|
import com.ruoyi.ibs.list.domain.ImportantInfoLoan932;
|
||||||
|
import org.apache.ibatis.annotations.Param;
|
||||||
|
|
||||||
|
import java.util.List;
|
||||||
|
|
||||||
|
public interface ImportantInfoLoan932Mapper {
|
||||||
|
|
||||||
|
List<ImportantInfoLoan932> selectByCustId(@Param("custId") String custId);
|
||||||
|
}
|
||||||
@@ -0,0 +1,38 @@
|
|||||||
|
<?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.ruoyi.ibs.list.mapper.ImportantInfoLoan932Mapper">
|
||||||
|
|
||||||
|
<resultMap id="ImportantInfoLoan932Result" type="com.ruoyi.ibs.list.domain.ImportantInfoLoan932">
|
||||||
|
<result property="custId" column="cust_id"/>
|
||||||
|
<result property="custIsn" column="cust_isn"/>
|
||||||
|
<result property="contractNo" column="contract_no"/>
|
||||||
|
<result property="conStartDt" column="con_start_dt"/>
|
||||||
|
<result property="conEndDt" column="con_end_dt"/>
|
||||||
|
<result property="loanBal" column="loan_bal"/>
|
||||||
|
<result property="loanRate" column="loan_rate"/>
|
||||||
|
<result property="assureWay" column="assure_way"/>
|
||||||
|
<result property="loanPurpose" column="loan_purpose"/>
|
||||||
|
<result property="orgCode" column="org_code"/>
|
||||||
|
<result property="dataDate" column="data_date"/>
|
||||||
|
</resultMap>
|
||||||
|
|
||||||
|
<select id="selectByCustId" resultMap="ImportantInfoLoan932Result">
|
||||||
|
select cust_id,
|
||||||
|
cust_isn,
|
||||||
|
contract_no,
|
||||||
|
con_start_dt,
|
||||||
|
con_end_dt,
|
||||||
|
loan_bal,
|
||||||
|
loan_rate,
|
||||||
|
assure_way,
|
||||||
|
loan_purpose,
|
||||||
|
org_code,
|
||||||
|
data_date
|
||||||
|
from important_info_list_for_loan_932
|
||||||
|
where cust_id = #{custId}
|
||||||
|
order by data_date desc, contract_no desc
|
||||||
|
</select>
|
||||||
|
|
||||||
|
</mapper>
|
||||||
Reference in New Issue
Block a user