فهرست منبع

wip:认领列表调整

fuwencai 3 سال پیش
والد
کامیت
10627a5dbc

+ 9 - 13
entity/model.go

@@ -1,17 +1,13 @@
 package entity
 
 type EntClaim struct {
-	Id              string `json:"id,omitempty"`          // id
-	AppId           string `json:"appid"`                 // appid
-	UserId          int    `json:"user_id"`               // 用户id
-	EntId           string `json:"ent_id"`                // 企业id
-	EntName         string `json:"ent_name"`              // 企业名称
-	Status          int    `json:"status"`                // '状态;-1:取消认领 1:认领'
-	Type            int    `json:"type"`                  // '类型;1:医疗机构 2:经销商'
-	Address         string `json:"address"`               // 企业地址
-	EstablishDate   string `json:"establish_date"`        // 成立日期
-	RegisterCapital string `json:"regist_capital"`        // 注册资本
-	Phone           string `json:"phone"`                 // 联系方式
-	UpdateTime      string `json:"update_time,omitempty"` // 修改时间
-	CreateTime      string `json:"create_time"`           // 创建时间
+	Id         string `json:"id,omitempty"`          // id
+	AppId      string `json:"appid"`                 // appid
+	UserId     int    `json:"user_id"`               // 用户id
+	EntId      string `json:"ent_id"`                // 企业id
+	EntName    string `json:"ent_name"`              // 企业名称
+	Status     int    `json:"status"`                // '状态;-1:取消认领 1:认领'
+	Type       int    `json:"type"`                  // '类型;1:医疗机构 2:经销商'
+	UpdateTime string `json:"update_time,omitempty"` // 修改时间
+	CreateTime string `json:"create_time"`           // 创建时间
 }

+ 27 - 5
rpc/medical/internal/logic/claimeddistributorlistlogic.go

@@ -30,17 +30,39 @@ func (l *ClaimedDistributorListLogic) ClaimedDistributorList(in *medical.Claimed
 	rs, total := l.svcCtx.EntClaimSrv.DistributorList(int(in.UserId), in.AppId, int(in.Page), int(in.PageSize))
 	resultList := medical.EntClaimListStruct{}
 	if rs != nil {
+		// 补充信息
+		// 获取id  构造查询条件
+		var entIds []interface{}
 		for i := 0; i < len(*rs); i++ {
+			entIds = append(entIds, common.ObjToString((*rs)[i]["ent_id"]))
+		}
+		// 查询信息
+		entRs := l.svcCtx.EntClaimSrv.GetInstitutionByIds(entIds)
+		//处理成map
+		entInfos := map[string]map[string]interface{}{}
+		if entRs != nil {
+			for i := 0; i < len(*entRs); i++ {
+				idTmp := common.ObjToString((*entRs)[i]["company_id"])
+				entInfos[idTmp] = (*entRs)[i]
+			}
+		}
+		// 拼接信息
+		for i := 0; i < len(*rs); i++ {
+			entId := common.ObjToString((*rs)[i]["ent_id"])
+			info := map[string]interface{}{}
+			if tmp, ok := entInfos[entId]; ok {
+				info = tmp
+			}
 			resultList.List = append(resultList.List,
 				&medical.EntClaim{
 					Id:            encrypt.SE.Encode2Hex(fmt.Sprintf("%v", (*rs)[i]["id"])),
 					AppId:         common.ObjToString((*rs)[i]["appid"]),
-					EntId:         encrypt.SE.Encode2Hex(common.ObjToString((*rs)[i]["ent_id"])),
+					EntId:         encrypt.SE.Encode2Hex(entId),
 					EntName:       common.ObjToString((*rs)[i]["ent_name"]),
-					Address:       common.ObjToString((*rs)[i]["address"]),
-					EstablishDate: common.ObjToString((*rs)[i]["establish_date"]),
-					Capital:       common.ObjToString((*rs)[i]["regist_capital"]),
-					CompanyPhone:  common.ObjToString((*rs)[i]["phone"]),
+					Address:       common.ObjToString(info["company_address"]),
+					EstablishDate: common.ObjToString(info["establish_date"]),
+					Capital:       common.ObjToString(info["capital"]),
+					CompanyPhone:  common.ObjToString(info["company_phone"]),
 					UpdateTime:    common.ObjToString((*rs)[i]["update_time"]),
 					CreateTime:    common.ObjToString((*rs)[i]["create_time"])},
 			)

+ 29 - 5
rpc/medical/internal/logic/claimedinstitutionlistlogic.go

@@ -31,18 +31,42 @@ func NewClaimedInstitutionListLogic(ctx context.Context, svcCtx *svc.ServiceCont
 func (l *ClaimedInstitutionListLogic) ClaimedInstitutionList(in *medical.ClaimedReq) (*medical.EntClaimListResp, error) {
 	rs, total := l.svcCtx.EntClaimSrv.InstitutionList(int(in.UserId), in.AppId, int(in.Page), int(in.PageSize))
 	resultList := medical.EntClaimListStruct{}
+
 	if rs != nil {
+		// 补充信息
+		// 获取id  构造查询条件
+		var entIds []interface{}
 		for i := 0; i < len(*rs); i++ {
+			entIds = append(entIds, common.ObjToString((*rs)[i]["ent_id"]))
+		}
+		// 查询信息
+		entRs := l.svcCtx.EntClaimSrv.GetInstitutionByIds(entIds)
+		//处理成map
+		entInfos := map[string]map[string]interface{}{}
+		if entRs != nil {
+			for i := 0; i < len(*entRs); i++ {
+				idTmp := common.ObjToString((*entRs)[i]["company_id"])
+				entInfos[idTmp] = (*entRs)[i]
+			}
+		}
+		// 拼接信息
+		for i := 0; i < len(*rs); i++ {
+			entId := common.ObjToString((*rs)[i]["ent_id"])
+			info := map[string]interface{}{}
+			if tmp, ok := entInfos[entId]; ok {
+				info = tmp
+			}
+
 			resultList.List = append(resultList.List,
 				&medical.EntClaim{
 					Id:            encrypt.SE.Encode2Hex(fmt.Sprintf("%v", (*rs)[i]["id"])),
 					AppId:         common.ObjToString((*rs)[i]["appid"]),
-					EntId:         encrypt.SE.Encode2Hex(common.ObjToString((*rs)[i]["ent_id"])),
+					EntId:         encrypt.SE.Encode2Hex(entId),
 					EntName:       common.ObjToString((*rs)[i]["ent_name"]),
-					Address:       common.ObjToString((*rs)[i]["address"]),
-					EstablishDate: common.ObjToString((*rs)[i]["establish_date"]),
-					Capital:       common.ObjToString((*rs)[i]["regist_capital"]),
-					CompanyPhone:  common.ObjToString((*rs)[i]["phone"]),
+					Address:       common.ObjToString(info["company_address"]),
+					EstablishDate: common.ObjToString(info["establish_date"]),
+					Capital:       common.ObjToString(info["capital"]),
+					CompanyPhone:  common.ObjToString(info["company_phone"]),
 					UpdateTime:    common.ObjToString((*rs)[i]["update_time"]),
 					CreateTime:    common.ObjToString((*rs)[i]["create_time"])},
 			)

+ 7 - 11
rpc/medical/internal/logic/claimlogic.go

@@ -41,17 +41,13 @@ func (l *ClaimLogic) Claim(in *medical.ClaimReq) (*medical.CommonResp, error) {
 	}
 
 	rs := l.svcCtx.EntClaimSrv.Claim(&entity.EntClaim{
-		AppId:           in.AppId,
-		UserId:          int(in.UserId),
-		EntId:           in.EntId,
-		EntName:         tmp.CompanyName,
-		Status:          entity.StatusClaimed,
-		Type:            int(in.Type),
-		Address:         tmp.CompanyAddress,
-		EstablishDate:   tmp.EstablishDate,
-		RegisterCapital: tmp.Capital,
-		Phone:           tmp.CompanyPhone,
-		CreateTime:      date.NowFormat(date.Date_Full_Layout),
+		AppId:      in.AppId,
+		UserId:     int(in.UserId),
+		EntId:      in.EntId,
+		EntName:    tmp.CompanyName,
+		Status:     entity.StatusClaimed,
+		Type:       int(in.Type),
+		CreateTime: date.NowFormat(date.Date_Full_Layout),
 	})
 	if !rs {
 		return &medical.CommonResp{

+ 12 - 2
service/claim.go

@@ -72,7 +72,7 @@ func (e *EntClaimService) DistributorList(userId int, appId string, page int, pa
 		"type":    entity.TypeDistributor,
 		"status":  entity.StatusClaimed,
 	}
-	field := "id,appid,user_id,ent_id,ent_name,address,create_time,establish_date,regist_capital,phone"
+	field := "id,appid,user_id,ent_id,ent_name,create_time"
 	order := "create_time desc"
 	total := e.BaseMysql.Count(entity.TableDomainEntClaim, query)
 	if total == 0 {
@@ -89,7 +89,7 @@ func (e *EntClaimService) InstitutionList(userId int, appId string, page int, pa
 		"type":    entity.TypeInstitution,
 		"status":  entity.StatusClaimed,
 	}
-	field := "id,appid,user_id,ent_id,ent_name,address,create_time,establish_date,regist_capital,phone"
+	field := "id,appid,user_id,ent_id,ent_name,create_time"
 	order := "create_time desc"
 	total := e.BaseMysql.Count(entity.TableDomainEntClaim, query)
 	if total == 0 {
@@ -106,3 +106,13 @@ func (e EntClaimService) GetInstitution(id string) *map[string]interface{} {
 	field := "company_name,establish_date,company_address,capital,company_phone"
 	return e.GlobalCommonData.FindOne(entity.TableCompanyBasInfo, query, field, "")
 }
+
+// GetInstitutionByIds GetInstitution 获取机构信息
+func (e EntClaimService) GetInstitutionByIds(ids []interface{}) *[]map[string]interface{} {
+	query := map[string]interface{}{
+
+		"company_id": map[string]interface{}{"in": ids},
+	}
+	field := "company_id,company_name,establish_date,company_address,capital,company_phone"
+	return e.GlobalCommonData.Find(entity.TableCompanyBasInfo, query, field, "", 0, 0)
+}

+ 3 - 3
service/claim_test.go

@@ -20,11 +20,11 @@ func TestEntClaimService_Claim(t *testing.T) {
 		want bool
 	}{
 		{"认领医疗机构", args{
-			data: &entity.EntClaim{UserId: 1, AppId: "10000", EntId: "1122", EntName: "877", Status: entity.StatusClaimed, Type: entity.TypeInstitution, Address: "2223", EstablishDate: "2022", RegisterCapital: "dd", Phone: "18238182402", CreateTime: "2022-08-19 15:08:00"},
+			data: &entity.EntClaim{UserId: 1, AppId: "10000", EntId: "1122", EntName: "877", Status: entity.StatusClaimed, Type: entity.TypeInstitution, CreateTime: "2022-08-19 15:08:00"},
 		}, true,
 		},
 		{"认领医疗机构-2", args{
-			data: &entity.EntClaim{UserId: 2, AppId: "10000", EntId: "7", EntName: "8757", Status: entity.StatusClaimed, Type: entity.TypeDistributor, Address: "2223", EstablishDate: "2022", RegisterCapital: "dd", Phone: "18238182402", CreateTime: "2022-08-19 15:08:00"},
+			data: &entity.EntClaim{UserId: 2, AppId: "10000", EntId: "7", EntName: "8757", Status: entity.StatusClaimed, Type: entity.TypeDistributor, CreateTime: "2022-08-19 15:08:00"},
 		}, true,
 		},
 	}
@@ -82,7 +82,7 @@ func TestEntClaimService_InstitutionList(t *testing.T) {
 		want *[]map[string]interface{}
 	}{
 		{
-			name: "我认领的医疗机构", args: args{userId: 1, appId: "10000", page: 0, pageSize: 10}, want: nil,
+			name: "我认领的医疗机构", args: args{userId: 22, appId: "10000", page: 0, pageSize: 10}, want: nil,
 		},
 		{
 			name: "我认领的医疗机构-2", args: args{userId: 3, appId: "10000", page: 0, pageSize: 10}, want: nil,