注入
TSXinject
1import {
2 ContainerRegistryManager,
3 PartnerService,
4 Inject,
5 Service,
6} from "@quan-erp/shared-backend-core";
7
8@Service()
9export class MyPluginService {
10 @Inject(PartnerService, ContainerRegistryManager.BUILTIN_PLUGIN)
11 private partnerService: PartnerService;
12}查询方法
- getPartnerById(id) — 按 id 取合作方
- getPartner({ search?, isCustomer?, isSupplier?, skip, limit }) — 带筛选的分页列表
- sportlightSearch(dto, user) — Spotlight 搜索(拼写与源码一致)
TSXlookup
1import {
2 ContainerRegistryManager,
3 Inject,
4 PartnerService,
5 Service,
6} from "@quan-erp/shared-backend-core";
7
8@Service()
9export class SalePartnerService {
10 @Inject(PartnerService, ContainerRegistryManager.BUILTIN_PLUGIN)
11 private partnerService: PartnerService;
12
13 async customers(search?: string) {
14 return this.partnerService.getPartner({
15 search,
16 isCustomer: true,
17 skip: 0,
18 limit: 20,
19 });
20 }
21
22 async byId(id: number) {
23 return this.partnerService.getPartnerById(id);
24 }
25}创建 / 更新 / 删除
CreateServiceProps 形如 { data, manager?, createdByUserId? }。保持 isCustomer / isSupplier 与实际用途一致。
- create(props) — 创建合作方(firstName、lastName 必填)
- createMany(props) — 批量创建
- update(id, partner, updateBy?) — 按 id 更新
- delete(id) — 删除
TSXcreate
1import {
2 ContainerRegistryManager,
3 Inject,
4 PartnerService,
5 Service,
6} from "@quan-erp/shared-backend-core";
7
8@Service()
9export class CustomerOnboardService {
10 @Inject(PartnerService, ContainerRegistryManager.BUILTIN_PLUGIN)
11 private partnerService: PartnerService;
12
13 async createCustomer(createdByUserId: number) {
14 return this.partnerService.create({
15 createdByUserId,
16 data: {
17 firstName: "Aung",
18 lastName: "Kyaw",
19 phone: "09123456789",
20 isCustomer: true,
21 isSupplier: false,
22 },
23 });
24 }
25}说明
- 优先使用本服务,不要自建插件内客户/供应商实体
- 前端 partner hooks/组件由 base 插件暴露