Bläddra i källkod

update

add_mode
DengBiao 1 år sedan
förälder
incheckning
1a1af83e27
11 ändrade filer med 467 tillägg och 5 borttagningar
  1. +126
    -0
      app/admin/hdl/enterprise_manage/hdl_central_kitchen_for_school.go
  2. +127
    -0
      app/admin/hdl/enterprise_manage/hdl_self_support_for_school.go
  3. +30
    -0
      app/admin/md/md_enterprise_manage.go
  4. +27
    -0
      app/admin/svc/enterprise_manage/svc_central_kitchen_for_school.go
  5. +47
    -0
      app/admin/svc/enterprise_manage/svc_self_support_for_school.go
  6. +58
    -0
      app/customer/hdl/self_support_for_school/hdl_faceCollection.go
  7. +8
    -0
      app/db/db_class_with_user.go
  8. +9
    -0
      app/db/db_self_support_for_user_face_info.go
  9. +22
    -0
      app/enum/enum_self_support_for_user_face_info.go
  10. +11
    -4
      app/router/admin_router.go
  11. +2
    -1
      app/router/customer_router.go

+ 126
- 0
app/admin/hdl/enterprise_manage/hdl_central_kitchen_for_school.go Visa fil

@@ -846,3 +846,129 @@ func CentralKitchenForSchoolOrdDetail(c *gin.Context) {
}, nil)
return
}

func CentralKitchenForSchoolGradeList(c *gin.Context) {
var req md.CentralKitchenForSchoolGradeListReq
err := c.ShouldBindJSON(&req)
if err != nil {
err = validate.HandleValidateErr(err)
err1 := err.(e.E)
e.OutErr(c, err1.Code, err1.Error())
return
}
enterpriseDb := db.EnterpriseDb{}
enterpriseDb.Set()
enterprise, err := enterpriseDb.GetEnterprise(req.EnterpriseId)
if err != nil {
e.OutErr(c, e.ERR_DB_ORM, err.Error())
return
}
if enterprise == nil {
e.OutErr(c, e.ERR_NO_DATA, "未查询到对应记录")
return
}

resp, total, err := svc2.CentralKitchenForSchoolGradeList(req)
if err != nil {
e.OutErr(c, e.ERR, err.Error())
return
}
e.OutSuc(c, map[string]interface{}{
"list": resp,
"total": total,
}, nil)
return
}

func CentralKitchenForSchoolClassList(c *gin.Context) {
var req md.CentralKitchenForSchoolClassListReq
err := c.ShouldBindJSON(&req)
if err != nil {
err = validate.HandleValidateErr(err)
err1 := err.(e.E)
e.OutErr(c, err1.Code, err1.Error())
return
}
enterpriseDb := db.EnterpriseDb{}
enterpriseDb.Set()
enterprise, err := enterpriseDb.GetEnterprise(req.EnterpriseId)
if err != nil {
e.OutErr(c, e.ERR_DB_ORM, err.Error())
return
}
if enterprise == nil {
e.OutErr(c, e.ERR_NO_DATA, "未查询到对应记录")
return
}

resp, total, err := svc2.CentralKitchenForSchoolClassList(req)
if err != nil {
e.OutErr(c, e.ERR, err.Error())
return
}
e.OutSuc(c, map[string]interface{}{
"list": resp,
"total": total,
}, nil)
return
}

func CentralKitchenForSchoolGradeDelete(c *gin.Context) {
gradeId := c.Param("id")
//1、查找当前年级
gradeDb := db.GradeDb{}
gradeDb.Set(0)
grade, err := gradeDb.GetGrade(utils.StrToInt(gradeId))
if err != nil {
e.OutErr(c, e.ERR_DB_ORM, err.Error())
return
}

//2、查找当前年级下是否还包含班级
classDb := db.ClassDb{}
classDb.Set(grade.Id)
class, err := classDb.FindClass()
if err != nil {
e.OutErr(c, e.ERR_DB_ORM, err.Error())
return
}
if len(*class) > 0 {
e.OutErr(c, e.ERR, "当前年级下存在未删除的班级!")
return
}
_, err = gradeDb.GradeDeleteBySession(grade.Id)
if err != nil {
e.OutErr(c, e.ERR_DB_ORM, err.Error())
return
}
e.OutSuc(c, "success", nil)
return
}

func CentralKitchenForSchoolClassDelete(c *gin.Context) {
classId := c.Param("id")
//1、查找当前年级
classDb := db.ClassDb{}
classDb.Set(0)
class, err := classDb.GetClass(utils.StrToInt(classId))
if err != nil {
e.OutErr(c, e.ERR_DB_ORM, err.Error())
return
}
_, err = classDb.ClassDeleteBySession(class.Id)
if err != nil {
e.OutErr(c, e.ERR_DB_ORM, err.Error())
return
}

//2、删除当前班级下的所有关联学生
classWithUserDb := db.ClassWithUserDb{}
classWithUserDb.Set()
_, err = classWithUserDb.DeleteClassWithUserByClass(classId)
if err != nil {
e.OutErr(c, e.ERR_DB_ORM, err.Error())
return
}
e.OutSuc(c, "success", nil)
return
}

+ 127
- 0
app/admin/hdl/enterprise_manage/hdl_self_support_for_school.go Visa fil

@@ -7,6 +7,7 @@ import (
"applet/app/db"
"applet/app/db/model"
"applet/app/e"
"applet/app/utils"
"github.com/gin-gonic/gin"
)

@@ -414,3 +415,129 @@ func SelfSupportForSchoolWorkerDelete(c *gin.Context) {
e.OutSuc(c, "success", nil)
return
}

func SelfSupportForSchoolGradeList(c *gin.Context) {
var req md.SelfSupportForSchoolGradeListReq
err := c.ShouldBindJSON(&req)
if err != nil {
err = validate.HandleValidateErr(err)
err1 := err.(e.E)
e.OutErr(c, err1.Code, err1.Error())
return
}
enterpriseDb := db.EnterpriseDb{}
enterpriseDb.Set()
enterprise, err := enterpriseDb.GetEnterprise(req.EnterpriseId)
if err != nil {
e.OutErr(c, e.ERR_DB_ORM, err.Error())
return
}
if enterprise == nil {
e.OutErr(c, e.ERR_NO_DATA, "未查询到对应记录")
return
}

resp, total, err := svc2.SelfSupportForSchoolGradeList(req)
if err != nil {
e.OutErr(c, e.ERR, err.Error())
return
}
e.OutSuc(c, map[string]interface{}{
"list": resp,
"total": total,
}, nil)
return
}

func SelfSupportForSchoolClassList(c *gin.Context) {
var req md.SelfSupportForSchoolClassListReq
err := c.ShouldBindJSON(&req)
if err != nil {
err = validate.HandleValidateErr(err)
err1 := err.(e.E)
e.OutErr(c, err1.Code, err1.Error())
return
}
enterpriseDb := db.EnterpriseDb{}
enterpriseDb.Set()
enterprise, err := enterpriseDb.GetEnterprise(req.EnterpriseId)
if err != nil {
e.OutErr(c, e.ERR_DB_ORM, err.Error())
return
}
if enterprise == nil {
e.OutErr(c, e.ERR_NO_DATA, "未查询到对应记录")
return
}

resp, total, err := svc2.SelfSupportForSchoolClassList(req)
if err != nil {
e.OutErr(c, e.ERR, err.Error())
return
}
e.OutSuc(c, map[string]interface{}{
"list": resp,
"total": total,
}, nil)
return
}

func SelfSupportForSchoolGradeDelete(c *gin.Context) {
gradeId := c.Param("id")
//1、查找当前年级
gradeDb := db.GradeDb{}
gradeDb.Set(0)
grade, err := gradeDb.GetGrade(utils.StrToInt(gradeId))
if err != nil {
e.OutErr(c, e.ERR_DB_ORM, err.Error())
return
}

//2、查找当前年级下是否还包含班级
classDb := db.ClassDb{}
classDb.Set(grade.Id)
class, err := classDb.FindClass()
if err != nil {
e.OutErr(c, e.ERR_DB_ORM, err.Error())
return
}
if len(*class) > 0 {
e.OutErr(c, e.ERR, "当前年级下存在未删除的班级!")
return
}
_, err = gradeDb.GradeDeleteBySession(grade.Id)
if err != nil {
e.OutErr(c, e.ERR_DB_ORM, err.Error())
return
}
e.OutSuc(c, "success", nil)
return
}

func SelfSupportForSchoolClassDelete(c *gin.Context) {
classId := c.Param("id")
//1、查找当前年级
classDb := db.ClassDb{}
classDb.Set(0)
class, err := classDb.GetClass(utils.StrToInt(classId))
if err != nil {
e.OutErr(c, e.ERR_DB_ORM, err.Error())
return
}
_, err = classDb.ClassDeleteBySession(class.Id)
if err != nil {
e.OutErr(c, e.ERR_DB_ORM, err.Error())
return
}

//2、删除当前班级下的所有关联学生
classWithUserDb := db.ClassWithUserDb{}
classWithUserDb.Set()
_, err = classWithUserDb.DeleteClassWithUserByClass(classId)
if err != nil {
e.OutErr(c, e.ERR_DB_ORM, err.Error())
return
}
e.OutSuc(c, "success", nil)
return
}

+ 30
- 0
app/admin/md/md_enterprise_manage.go Visa fil

@@ -326,3 +326,33 @@ type SelfSupportForSchoolWorkerDeleteReq struct {
EnterpriseId int `json:"enterprise_id" binding:"required" label:"企业id"`
UserIdentityIds []int `json:"user_identity_ids" binding:"required" label:"用户身份id"`
}

type CentralKitchenForSchoolGradeListReq struct {
EnterpriseId int `json:"enterprise_id" binding:"required" label:"企业id"`
Limit int `json:"limit" binding:"required"`
Page int `json:"page" binding:"required"`
Name string `json:"name" label:"名称"`
}

type CentralKitchenForSchoolClassListReq struct {
EnterpriseId int `json:"enterprise_id" binding:"required" label:"企业id"`
GradeId int `json:"grade_id" label:"年级id"`
Limit int `json:"limit" binding:"required"`
Page int `json:"page" binding:"required"`
Name string `json:"name" label:"名称"`
}

type SelfSupportForSchoolGradeListReq struct {
EnterpriseId int `json:"enterprise_id" binding:"required" label:"企业id"`
Limit int `json:"limit" binding:"required"`
Page int `json:"page" binding:"required"`
Name string `json:"name" label:"名称"`
}

type SelfSupportForSchoolClassListReq struct {
EnterpriseId int `json:"enterprise_id" binding:"required" label:"企业id"`
GradeId int `json:"grade_id" label:"年级id"`
Limit int `json:"limit" binding:"required"`
Page int `json:"page" binding:"required"`
Name string `json:"name" label:"名称"`
}

+ 27
- 0
app/admin/svc/enterprise_manage/svc_central_kitchen_for_school.go Visa fil

@@ -585,3 +585,30 @@ func JudgePackageOrdOrdState(outTradeNo string) (err error) {
}
return
}

func CentralKitchenForSchoolGradeList(req md.CentralKitchenForSchoolGradeListReq) (m []*model.Grade, count int64, err error) {
sess := db.Db.Where("enterprise_id =?", req.EnterpriseId)
if req.Name != "" {
sess.And("name like ?", "%"+req.Name+"%")
}
count, err = sess.Asc("id").Limit(req.Limit, (req.Page-1)*req.Limit).FindAndCount(&m)
if err != nil {
return nil, 0, err
}
return
}

func CentralKitchenForSchoolClassList(req md.CentralKitchenForSchoolClassListReq) (m []*model.Class, count int64, err error) {
sess := db.Db.Where("enterprise_id =?", req.EnterpriseId)
if req.Name != "" {
sess.And("name like ?", "%"+req.Name+"%")
}
if req.GradeId != 0 {
sess.And("grade_id = ?", req.GradeId)
}
count, err = sess.Asc("id").Limit(req.Limit, (req.Page-1)*req.Limit).FindAndCount(&m)
if err != nil {
return nil, 0, err
}
return
}

+ 47
- 0
app/admin/svc/enterprise_manage/svc_self_support_for_school.go Visa fil

@@ -73,6 +73,26 @@ func SelfSupportForSchoolUserUpdate(req md.SelfSupportForSchoolUserUpdateReq) (e
continue
}

if v.ClassId == -2 {
//TODO::为工作人员身份
_, err3 := userIdentityDb.UserIdentityInsertBySession(session, &model.UserIdentity{
Uid: req.Uid,
Name: v.Name,
IdNo: v.IdNo,
Kind: enum2.UserIdentityKindForWorker,
Identity: enum2.UserIdentityForCentralKitchenForWorker,
EnterpriseId: req.EnterpriseId,
Memo: "",
CreateAt: now.Format("2006-01-02 15:04:05"),
UpdateAt: now.Format("2006-01-02 15:04:05"),
})
if err3 != nil {
_ = session.Rollback()
return err3
}
continue
}

insertId, err1 := userIdentityDb.UserIdentityInsertBySession(session, &model.UserIdentity{
Uid: req.Uid,
Name: v.Name,
@@ -472,3 +492,30 @@ func SelfSupportForSchoolWorkerList(req md.SelfSupportForSchoolWorkerListReq) (r
}
return
}

func SelfSupportForSchoolGradeList(req md.SelfSupportForSchoolGradeListReq) (m []*model.Grade, count int64, err error) {
sess := db.Db.Where("enterprise_id =?", req.EnterpriseId)
if req.Name != "" {
sess.And("name like ?", "%"+req.Name+"%")
}
count, err = sess.Asc("id").Limit(req.Limit, (req.Page-1)*req.Limit).FindAndCount(&m)
if err != nil {
return nil, 0, err
}
return
}

func SelfSupportForSchoolClassList(req md.SelfSupportForSchoolClassListReq) (m []*model.Class, count int64, err error) {
sess := db.Db.Where("enterprise_id =?", req.EnterpriseId)
if req.Name != "" {
sess.And("name like ?", "%"+req.Name+"%")
}
if req.GradeId != 0 {
sess.And("grade_id = ?", req.GradeId)
}
count, err = sess.Asc("id").Limit(req.Limit, (req.Page-1)*req.Limit).FindAndCount(&m)
if err != nil {
return nil, 0, err
}
return
}

+ 58
- 0
app/customer/hdl/self_support_for_school/hdl_faceCollection.go Visa fil

@@ -218,3 +218,61 @@ func EducateSceneTokenCreateForConcentratedCollectApplet(c *gin.Context) {
e.OutSuc(c, info, nil)
return
}

func ConcentrateFacePassStudentList(c *gin.Context) {
page := utils.StrToInt(c.DefaultQuery("page", "1"))
if page == 0 {
page = 1
}
limit := utils.StrToInt(c.DefaultQuery("limit", "10"))
if limit == 0 {
limit = 10
}
concentrateSchoolFacePassStatus := c.DefaultQuery("concentrate_school_face_pass_status", "")

var m []*db.SelfSupportForUserFaceInfoWithUserIdentity
sess := db.Db.Where("self_support_for_user_face_info.collect_face_type =?", 2) //集采
if concentrateSchoolFacePassStatus != "" {
sess.And("self_support_for_user_face_info.concentrate_school_face_pass_status =?", concentrateSchoolFacePassStatus)
}
total, err := sess.Desc("self_support_for_user_face_info.id").
Join("LEFT", "user_identity", "self_support_for_user_face_info.user_identity_id = user_identity.id").
Limit(limit, (page-1)*limit).FindAndCount(&m)
if err != nil {
e.OutErr(c, e.ERR_DB_ORM, err.Error())
return
}

type ConcentrateFacePassStudentListResp struct {
Name string `json:"name" label:"姓名"`
IdNo string `json:"id_no" label:"身份证号码"`
ConcentrateSchoolFacePassStatus int `json:"concentrate_school_face_pass_status" label:"校园一脸通行集采状态(1:待采集 2:待确认 3:已确认)"`
}
var resp []*ConcentrateFacePassStudentListResp
for _, v := range m {
resp = append(resp, &ConcentrateFacePassStudentListResp{
Name: v.UserIdentity.Name,
IdNo: v.UserIdentity.IdNo,
ConcentrateSchoolFacePassStatus: v.SelfSupportForUserFaceInfo.ConcentrateSchoolFacePassStatus,
})
}
e.OutSuc(c, map[string]interface{}{
"list": resp,
"total": total,
"concentrate_school_face_pass_status_list": []map[string]interface{}{
{
"name": enum.SelfSupportForUserFaceInfoConcentrateSchoolFacePassStatus.String(enum.SelfSupportForUserFaceInfoConcentrateSchoolFacePassStatusByWaitCollect),
"value": enum.SelfSupportForUserFaceInfoConcentrateSchoolFacePassStatusByWaitCollect,
},
{
"name": enum.SelfSupportForUserFaceInfoConcentrateSchoolFacePassStatus.String(enum.SelfSupportForUserFaceInfoConcentrateSchoolFacePassStatusByWaitConfirm),
"value": enum.SelfSupportForUserFaceInfoConcentrateSchoolFacePassStatusByWaitConfirm,
},
{
"name": enum.SelfSupportForUserFaceInfoConcentrateSchoolFacePassStatus.String(enum.SelfSupportForUserFaceInfoConcentrateSchoolFacePassStatusByAlreadyConfirm),
"value": enum.SelfSupportForUserFaceInfoConcentrateSchoolFacePassStatusByAlreadyConfirm,
},
},
}, nil)
return
}

+ 8
- 0
app/db/db_class_with_user.go Visa fil

@@ -44,6 +44,14 @@ func (classWithUserDb *ClassWithUserDb) GetInfoByUserIdentityId(userIdentityId i
return m, nil
}

func (classWithUserDb *ClassWithUserDb) DeleteClassWithUserByClass(classId interface{}) (int64, error) {
if reflect.TypeOf(classId).Kind() == reflect.Slice {
return classWithUserDb.Db.In("class_id", classId).Delete(model2.ClassWithUser{})
} else {
return classWithUserDb.Db.Where("class_id = ?", classId).Delete(model2.ClassWithUser{})
}
}

func (classWithUserDb *ClassWithUserDb) GetClassWithUserByUserIdentityId(userIdentityId int) (m *model2.ClassWithUser, err error) {
m = new(model2.ClassWithUser)
has, err := classWithUserDb.Db.Where("user_identity_id =?", userIdentityId).Get(m)


+ 9
- 0
app/db/db_self_support_for_user_face_info.go Visa fil

@@ -78,3 +78,12 @@ func (selfSupportForUserFaceInfoDb *SelfSupportForUserFaceInfoDb) SelfSupportFor
return Db.Where("id = ?", id).Delete(model.SelfSupportForUserFaceInfo{})
}
}

type SelfSupportForUserFaceInfoWithUserIdentity struct {
model.SelfSupportForUserFaceInfo `xorm:"extends"`
model.UserIdentity `xorm:"extends"`
}

func (SelfSupportForUserFaceInfoWithUserIdentity) TableName() string {
return "self_support_for_user_face_info"
}

+ 22
- 0
app/enum/enum_self_support_for_user_face_info.go Visa fil

@@ -0,0 +1,22 @@
package enum

type SelfSupportForUserFaceInfoConcentrateSchoolFacePassStatus int

const (
SelfSupportForUserFaceInfoConcentrateSchoolFacePassStatusByWaitCollect = 1
SelfSupportForUserFaceInfoConcentrateSchoolFacePassStatusByWaitConfirm = 2
SelfSupportForUserFaceInfoConcentrateSchoolFacePassStatusByAlreadyConfirm = 3
)

func (gt SelfSupportForUserFaceInfoConcentrateSchoolFacePassStatus) String() string {
switch gt {
case SelfSupportForUserFaceInfoConcentrateSchoolFacePassStatusByWaitCollect:
return "待采集"
case SelfSupportForUserFaceInfoConcentrateSchoolFacePassStatusByWaitConfirm:
return "待确认"
case SelfSupportForUserFaceInfoConcentrateSchoolFacePassStatusByAlreadyConfirm:
return "已确认"
default:
return "未知"
}
}

+ 11
- 4
app/router/admin_router.go Visa fil

@@ -118,10 +118,13 @@ func rEnterpriseManage(r *gin.RouterGroup) {
r.POST("/centralKitchenForSchool/teacherList", hdl.CentralKitchenForSchoolTeacherList) //"央厨-学校"教师列表
r.POST("/centralKitchenForSchool/teacherUpdate", hdl.CentralKitchenForSchoolTeacherUpdate) //"央厨-学校"教师编辑
r.POST("/centralKitchenForSchool/teacherDelete", hdl.CentralKitchenForSchoolTeacherDelete) //"央厨-学校"教师删除

r.POST("/centralKitchenForSchool/ordList", hdl.CentralKitchenForSchoolOrdList) //"央厨-学校"订单列表
r.GET("/centralKitchenForSchool/ordDetail", hdl.CentralKitchenForSchoolOrdDetail) //"央厨-学校"订单详情
r.POST("/centralKitchenForSchool/ordRefund", hdl.CentralKitchenForSchoolOrdRefund) //"央厨-学校"订单退款
r.POST("/centralKitchenForSchool/gradeList", hdl.CentralKitchenForSchoolGradeList) //"央厨-学校"年级列表
r.DELETE("/centralKitchenForSchool/gradeDelete/:id", hdl.CentralKitchenForSchoolGradeDelete) //"央厨-学校"年级删除
r.POST("/centralKitchenForSchool/classList", hdl.CentralKitchenForSchoolClassList) //"央厨-学校"班级列表
r.DELETE("/centralKitchenForSchool/classDelete/:id", hdl.CentralKitchenForSchoolClassDelete) //"央厨-学校"班级删除
r.POST("/centralKitchenForSchool/ordList", hdl.CentralKitchenForSchoolOrdList) //"央厨-学校"订单列表
r.GET("/centralKitchenForSchool/ordDetail", hdl.CentralKitchenForSchoolOrdDetail) //"央厨-学校"订单详情
r.POST("/centralKitchenForSchool/ordRefund", hdl.CentralKitchenForSchoolOrdRefund) //"央厨-学校"订单退款

r.POST("/centralKitchenForSchoolOrderRefundList", hdl2.CentralKitchenForSchoolOrderRefundList) //"央厨-学校"订单退款列表
//r.POST("/centralKitchenForSchoolOrderRefundAudit", hdl2.CentralKitchenForSchoolOrderRefundAudit) //"央厨-学校"订单退款审核
@@ -147,6 +150,10 @@ func rEnterpriseManage(r *gin.RouterGroup) {
r.POST("/selfSupportForSchool/workerList", hdl.SelfSupportForSchoolWorkerList) //"自营-学校"工作人员列表
r.POST("/selfSupportForSchool/workerUpdate", hdl.SelfSupportForSchoolWorkerUpdate) //"自营-学校"工作人员编辑
r.POST("/selfSupportForSchool/workerDelete", hdl.SelfSupportForSchoolWorkerDelete) //"自营-学校"工作人员删除
r.POST("/selfSupportForSchool/gradeList", hdl.SelfSupportForSchoolGradeList) //"自营-学校"年级列表
r.DELETE("/selfSupportForSchool/gradeDelete/:id", hdl.SelfSupportForSchoolGradeDelete) //"自营-学校"年级删除
r.POST("/selfSupportForSchool/classList", hdl.SelfSupportForSchoolClassList) //"自营-学校"班级列表
r.DELETE("/selfSupportForSchool/classDelete/:id", hdl.SelfSupportForSchoolClassDelete) //"自营-学校"班级删除

}



+ 2
- 1
app/router/customer_router.go Visa fil

@@ -57,7 +57,7 @@ func rCentralKitchenForSchoolOrder(r *gin.RouterGroup) {
r.POST("/list", hdl.CentralKitchenForSchoolOrderList) // 央厨学校-订单列表
r.GET("/belowWithDay", hdl.CentralKitchenForSchoolOrderBelowWithDay) // 央厨学校-订单下订餐日期数据
r.GET("/detail", hdl.CentralKitchenForSchoolOrderDetail) // 央厨学校-订单详情
r.POST("/refund", hdl.CentralKitchenForSchoolOrderRefund) // 央厨学校-订单退款申请
r.POST("/refund", hdl.CentralKitchenForSchoolOrderRefund) // 央厨学FacePassStudentList校-订单退款申请
r.POST("/refundList", hdl.CentralKitchenForSchoolOrderRefundList) // 央厨学校-订单退款列表
}

@@ -67,6 +67,7 @@ func rSelfSupportForSchool(r *gin.RouterGroup) { //自营学校
r.GET("/educateSceneTokenCreateForApplet", selfSupportForSchoolhdl.EducateSceneTokenCreateForApplet) // 自营学校-教育场景token生成处理器(作用于 跳转到一脸通行小程序采集人脸)
r.GET("/educateSceneTokenCreateForConcentratedCollectApplet", selfSupportForSchoolhdl.EducateSceneTokenCreateForConcentratedCollectApplet) // 自营学校-教育场景token生成处理器(作用于 跳转到集采小程序)
r.GET("/educateFacepayApply", selfSupportForSchoolhdl.EducateFacepayApply) // 自营学校-创建刷脸支付开通标识
r.GET("/concentrateFacePassStudentList", selfSupportForSchoolhdl.ConcentrateFacePassStudentList) // 自营学校-集采学生列表
}

func rUserIdentity(r *gin.RouterGroup) { //用户身份


Laddar…
Avbryt
Spara