Ver código fonte

update

add_mode
DengBiao 1 ano atrás
pai
commit
d8f005cadd
8 arquivos alterados com 367 adições e 21 exclusões
  1. +55
    -1
      app/admin/hdl/enterprise_manage/hdl_central_kitchen_for_school.go
  2. +32
    -0
      app/admin/hdl/hdl_data_statistics.go
  3. +8
    -0
      app/admin/md/md_central_kitchen_for_school_export_records.go
  4. +15
    -0
      app/admin/md/md_enterprise.go
  5. +52
    -0
      app/admin/svc/enterprise_manage/svc_central_kitchen_for_school.go
  6. +183
    -0
      app/admin/svc/svc_data_statisstics.go
  7. +1
    -1
      app/db/model/central_kitchen_for_school_export_records.go
  8. +21
    -19
      app/router/admin_router.go

+ 55
- 1
app/admin/hdl/enterprise_manage/hdl_central_kitchen_for_school.go Ver arquivo

@@ -231,6 +231,60 @@ func CentralKitchenForSchoolStudentAdmission(c *gin.Context) {
return
}

func CentralKitchenForSchoolBatchStudentAdmission(c *gin.Context) {
Kind := c.DefaultQuery("kind", "1")
switch Kind {
case "1":
//按学校
var req md.CentralKitchenForSchoolStudentAdmissionBySchool
err := c.ShouldBindJSON(&req)
if err != nil {
err = validate.HandleValidateErr(err)
err1 := err.(e.E)
e.OutErr(c, err1.Code, err1.Error())
return
}
err = svc2.CentralKitchenForSchoolStudentAdmissionBySchool(req)
if err != nil {
e.OutErr(c, e.ERR, err.Error())
return
}
break
case "2":
//按年级
var req md.CentralKitchenForSchoolStudentAdmissionByGrade
err := c.ShouldBindJSON(&req)
if err != nil {
err = validate.HandleValidateErr(err)
err1 := err.(e.E)
e.OutErr(c, err1.Code, err1.Error())
return
}
err = svc2.CentralKitchenForSchoolStudentAdmissionByGrade(req)
if err != nil {
e.OutErr(c, e.ERR, err.Error())
return
}
break
case "3":
//按班级
var req md.CentralKitchenForSchoolStudentAdmissionByClass
err := c.ShouldBindJSON(&req)
if err != nil {
err = validate.HandleValidateErr(err)
err1 := err.(e.E)
e.OutErr(c, err1.Code, err1.Error())
return
}
err = svc2.CentralKitchenForSchoolStudentAdmissionByClass(req)
if err != nil {
e.OutErr(c, e.ERR, err.Error())
return
}
break
}
}

func CentralKitchenForSchoolStudentDelete(c *gin.Context) {
var req md.CentralKitchenForSchoolStudentDeleteReq
err := c.ShouldBindJSON(&req)
@@ -1039,6 +1093,7 @@ func CentralKitchenForSchoolBatchAskForLeave(c *gin.Context) {
Kind := c.DefaultQuery("kind", "1")
switch Kind {
case "1":
//按学校
var req md.CentralKitchenForSchoolBatchAskForLeaveReqBySchool
err := c.ShouldBindJSON(&req)
if err != nil {
@@ -1052,7 +1107,6 @@ func CentralKitchenForSchoolBatchAskForLeave(c *gin.Context) {
e.OutErr(c, e.ERR, err.Error())
return
}
//按学校
break
case "2":
//按年级


+ 32
- 0
app/admin/hdl/hdl_data_statistics.go Ver arquivo

@@ -70,6 +70,10 @@ func CentralKitchenForSchoolDataStatisticsList(c *gin.Context) {
"name": "学校预定数量统计表",
"value": 8,
},
{
"name": "数据对比",
"value": 9,
},
},
}, nil)
return
@@ -125,6 +129,34 @@ func CentralKitchenForSchoolDataStatisticsExport(c *gin.Context) {
return
}

func CentralKitchenForSchoolDataStatisticsContrast(c *gin.Context) {
var req md.CentralKitchenForSchoolDataStatisticsContrastReq
err := c.ShouldBindJSON(&req)
if err != nil {
err = validate.HandleValidateErr(err)
err1 := err.(e.E)
e.OutErr(c, err1.Code, err1.Error())
return
}
if req.EnterpriseId != 0 {
enterpriseDb := db.EnterpriseDb{}
enterpriseDb.Set()
enterprise, err1 := enterpriseDb.GetEnterprise(req.EnterpriseId)
if err1 != nil {
e.OutErr(c, e.ERR_DB_ORM, err1.Error())
return
}
req.EnterpriseName = enterprise.Name
}

go svc.CentralKitchenForSchoolDataStatisticsContrast(req)

e.OutSuc(c, map[string]interface{}{
"msg": "导出成功,请稍后刷新数据列表",
}, nil)
return
}

func NursingHomeDataStatisticsList(c *gin.Context) {
var req md.NursingHomeExportRecordsListReq
err := c.ShouldBindJSON(&req)


+ 8
- 0
app/admin/md/md_central_kitchen_for_school_export_records.go Ver arquivo

@@ -17,6 +17,14 @@ type CentralKitchenForSchoolDataStatisticsExportReq struct {
EnterpriseName string `json:"enterprise_name" label:"校企名称"`
}

type CentralKitchenForSchoolDataStatisticsContrastReq struct {
Date1 []string `json:"date_1" binding:"required" label:"起始时间"`
Date2 []string `json:"date_2" binding:"required" label:"截止时间"`
MealKindList []int `json:"meal_kind_list" label:"就餐类型(1:早餐 2:午餐 3:晚餐)"`
EnterpriseId int `json:"enterprise_id" label:"校企id"`
EnterpriseName string `json:"enterprise_name" label:"校企名称"`
}

type NursingHomeExportRecordsListReq struct {
Page int `json:"page" label:"页码"`
Kind int `json:"kind" label:"导出类型"`


+ 15
- 0
app/admin/md/md_enterprise.go Ver arquivo

@@ -108,3 +108,18 @@ type CentralKitchenForSchoolPackageForSystemWithDay struct {
IsOpenDinner int `json:"is_open_dinner"`
IsOpenReplenish int `json:"is_open_replenish"`
}

type CentralKitchenForSchoolStudentAdmissionBySchool struct {
EnterpriseIds []int `json:"enterprise_ids" binding:"required" label:"企业id"`
}

type CentralKitchenForSchoolStudentAdmissionByGrade struct {
EnterpriseId int `json:"enterprise_id" binding:"required" label:"企业id"`
GradeIds []int `json:"grade_ids" binding:"required" label:"年级id"`
}

type CentralKitchenForSchoolStudentAdmissionByClass struct {
EnterpriseId int `json:"enterprise_id" binding:"required" label:"企业id"`
GradeId int `json:"grade_id" binding:"required" label:"年级id"`
ClassIds []int `json:"class_ids" label:"班级id"`
}

+ 52
- 0
app/admin/svc/enterprise_manage/svc_central_kitchen_for_school.go Ver arquivo

@@ -534,6 +534,58 @@ func CentralKitchenForSchoolStudentAdmission(req md.CentralKitchenForSchoolStude
return
}

func CentralKitchenForSchoolStudentAdmissionByClass(req md.CentralKitchenForSchoolStudentAdmissionByClass) (err error) {
// 删除 class_with_user 记录
_, err = db.Db.In("class_id = ?", req.ClassIds).Delete(model.ClassWithUser{})
return
}

func CentralKitchenForSchoolStudentAdmissionByGrade(req md.CentralKitchenForSchoolStudentAdmissionByGrade) (err error) {
for _, v := range req.GradeIds {
// 查找班级记录
classDb := db.ClassDb{}
classDb.Set(v)
classes, err1 := classDb.FindClass()
if err1 != nil {
return err1
}
var classesIds []int
for _, v := range *classes {
classesIds = append(classesIds, v.Id)
}

// 删除 class_with_user 记录
_, err = db.Db.In("class_id", classesIds).Delete(model.ClassWithUser{})
if err != nil {
return
}
}
return
}

func CentralKitchenForSchoolStudentAdmissionBySchool(req md.CentralKitchenForSchoolStudentAdmissionBySchool) (err error) {
for _, v := range req.EnterpriseIds {
// 查找班级记录
classDb := db.ClassDb{}
classDb.Set(0)
classes, err1 := classDb.FindClassByEnterprise(v)
if err1 != nil {
return err1
}
var classesIds []int
for _, v := range *classes {
classesIds = append(classesIds, v.Id)
}

// 删除 class_with_user 记录
_, err = db.Db.In("class_id", classesIds).Delete(model.ClassWithUser{})
if err != nil {
return
}
}
return
}

func CentralKitchenForSchoolOrdList(req md.CentralKitchenForSchoolOrdListReq) (resp []md.CentralKitchenForSchoolOrdListResp, count int64, err error) {
var classWithUserIdentityIdsOne []int
var classWithUserIdentityIdsTwo []int


+ 183
- 0
app/admin/svc/svc_data_statisstics.go Ver arquivo

@@ -1328,6 +1328,189 @@ func CentralKitchenForSchoolDataStatisticsExport(req md.CentralKitchenForSchoolD
}
}

func CentralKitchenForSchoolDataStatisticsContrast(req md.CentralKitchenForSchoolDataStatisticsContrastReq) {
var titleList []string
var fileName, downloadPath string
var now = time.Now()

xlsx := excelize.NewFile()
//数据对比
fileName = "数据对比_" + utils.Int64ToStr(now.UnixMilli()) + ".zip"
downloadPath = "/export/central_kitchen_for_school/" + fileName

var m []*db.CentralKitchenForSchoolPackageOrdForReserveWithUserIdentity
sess := db.Db.Desc("central_kitchen_for_school_package_ord_for_reserve.id")
if req.EnterpriseId != 0 {
sess.And("central_kitchen_for_school_package_ord_for_reserve.enterprise_id =?", req.EnterpriseId)
}
sess.And("central_kitchen_for_school_package_ord_for_reserve.meal_time_start >= ?", req.Date1[0])
sess.And("central_kitchen_for_school_package_ord_for_reserve.meal_time_start <= ?", req.Date1[1])
if len(req.MealKindList) > 0 {
sess.In("central_kitchen_for_school_package_ord_for_reserve.kind", req.MealKindList)
}
_, err := sess.
Join("LEFT", "central_kitchen_for_school_package_ord", "central_kitchen_for_school_package_ord_for_reserve.out_trade_no = central_kitchen_for_school_package_ord.out_trade_no").
Join("LEFT", "user_identity", "central_kitchen_for_school_package_ord.user_identity_id = user_identity.id").
Join("LEFT", "enterprise", "enterprise.id = user_identity.enterprise_id").
Join("LEFT", "user", "user.id = user_identity.uid").
Join("LEFT", "class_with_user", "class_with_user.user_identity_id = user_identity.id").
Join("LEFT", "class", "class_with_user.class_id = class.id").
Join("LEFT", "grade", "class.grade_id = grade.id").
FindAndCount(&m)
if err != nil {
logx.Error(err)
println("<<<<CentralKitchenForSchoolDataStatisticsContrast>>>>>Error:::", err.Error())
return
}

var m1 []*db.CentralKitchenForSchoolPackageOrdForReserveWithUserIdentity
sess1 := db.Db.Desc("central_kitchen_for_school_package_ord_for_reserve.id")
if req.EnterpriseId != 0 {
sess1.And("central_kitchen_for_school_package_ord_for_reserve.enterprise_id =?", req.EnterpriseId)
}
sess1.And("central_kitchen_for_school_package_ord_for_reserve.meal_time_start >= ?", req.Date2[0])
sess1.And("central_kitchen_for_school_package_ord_for_reserve.meal_time_start <= ?", req.Date2[1])
if len(req.MealKindList) > 0 {
sess1.In("central_kitchen_for_school_package_ord_for_reserve.kind", req.MealKindList)
}
_, err1 := sess1.
Join("LEFT", "central_kitchen_for_school_package_ord", "central_kitchen_for_school_package_ord_for_reserve.out_trade_no = central_kitchen_for_school_package_ord.out_trade_no").
Join("LEFT", "user_identity", "central_kitchen_for_school_package_ord.user_identity_id = user_identity.id").
Join("LEFT", "enterprise", "enterprise.id = user_identity.enterprise_id").
Join("LEFT", "user", "user.id = user_identity.uid").
Join("LEFT", "class_with_user", "class_with_user.user_identity_id = user_identity.id").
Join("LEFT", "class", "class_with_user.class_id = class.id").
Join("LEFT", "grade", "class.grade_id = grade.id").
FindAndCount(&m)
if err1 != nil {
logx.Error(err1)
println("<<<<CentralKitchenForSchoolDataStatisticsContrast>>>>>Error:::", err.Error())
return
}

var list = map[string]map[string]map[string]map[string]string{}
for _, v := range m {
if list[v.Enterprise.Name] == nil {
list[v.Enterprise.Name] = make(map[string]map[string]map[string]string)
}
if list[v.Enterprise.Name][v.Grade.Name] == nil {
list[v.Enterprise.Name][v.Grade.Name] = make(map[string]map[string]string)
}
if list[v.Enterprise.Name][v.Grade.Name][v.Class.Name] == nil {
list[v.Enterprise.Name][v.Grade.Name][v.Class.Name] = make(map[string]string)
}
list[v.Enterprise.Name][v.Grade.Name][v.Class.Name][v.UserIdentity.Name] = v.User.Phone
}

var list1 = map[string]map[string]map[string]map[string]string{}
for _, v := range m1 {
if list1[v.Enterprise.Name] == nil {
list1[v.Enterprise.Name] = make(map[string]map[string]map[string]string)
}
if list1[v.Enterprise.Name][v.Grade.Name] == nil {
list1[v.Enterprise.Name][v.Grade.Name] = make(map[string]map[string]string)
}
if list1[v.Enterprise.Name][v.Grade.Name][v.Class.Name] == nil {
list1[v.Enterprise.Name][v.Grade.Name][v.Class.Name] = make(map[string]string)
}
list1[v.Enterprise.Name][v.Grade.Name][v.Class.Name][v.UserIdentity.Name] = v.User.Phone
}

var xlsFileName, xlsDownloadPath []string
for k1, v1 := range list {
tmpFileName := k1 + "数据对比_" + utils.Int64ToStr(now.UnixMilli()) + ".xlsx"
tmpDownloadPath := "./static/export/central_kitchen_for_school/" + tmpFileName
for k2, v2 := range v1 {
if k2 == "" {
//若年级为空,则为教师
continue
}

for k3, v3 := range v2 {
titleList = []string{"姓名", "家长联系电话"}
xlsx.NewSheet(k3)
xlsx.SetSheetRow(k3, "A1", &titleList)
j := 2 //表头被第一行用了,只能从第二行开始
for k4, v4 := range v3 {
//TODO::判断当前用户是否在新的月份里面
if list1[k1] == nil || list1[k1][k2] == nil || list1[k1][k2][k3] == nil || list1[k1][k2][k3][k4] == "" {
xlsx.SetSheetRow(k3, "A"+strconv.Itoa(j), &[]interface{}{
k4, v4})
j++
}
}
}
}

//将文件保存至服务器
xlsx.DeleteSheet("Sheet1") //TODO::只能放这里删除
err1 := xlsx.SaveAs(tmpDownloadPath)
if err1 != nil {
logx.Error(err1)
println("<<<<CentralKitchenForSchoolDataStatisticsContrast>>>>>Error:::", err1.Error())
panic(err1)
}
xlsDownloadPath = append(xlsDownloadPath, tmpDownloadPath)
xlsFileName = append(xlsFileName, tmpFileName)
}

archive, err := os.Create("./static" + downloadPath) //第一步,创建 zip 文件
if err != nil {
logx.Error(err)
println("<<<<CentralKitchenForSchoolDataStatisticsContrast>>>>>Error:::", err.Error())
panic(err)
}
defer archive.Close()

zipWriter := zip.NewWriter(archive) //第二步,创建一个新的 *Writer 对象
for k, v := range xlsDownloadPath {
w, err1 := zipWriter.Create("数据对比/" + xlsFileName[k]) //向 zip 文件中添加一个文件,返回一个待压缩的文件内容应写入的 Writer
if err1 != nil {
logx.Error(err1)
println("<<<<CentralKitchenForSchoolDataStatisticsContrast>>>>>Error:::", err1.Error())
panic(err1)
}

f, err1 := os.Open(v) //打开待压缩的文件
if err1 != nil {
logx.Error(err1)
println("<<<<CentralKitchenForSchoolDataStatisticsContrast>>>>>Error:::", err1.Error())
panic(err1)
}

if _, err1 = io.Copy(w, f); err != nil {
logx.Error(err1)
println("<<<<CentralKitchenForSchoolDataStatisticsContrast>>>>>Error:::", err1.Error())
panic(err1)
}
if err1 != nil {
logx.Error(err1)
println("<<<<CentralKitchenForSchoolDataStatisticsContrast>>>>>Error:::", err1.Error())
panic(err1)
}
f.Close()
os.RemoveAll(v) //TODO::移除源文件
}

zipWriter.Close() // 第四步,关闭 zip writer,将所有数据写入指向基础 zip 文件的数据流
if err != nil {
panic(err)
}

//新增数据
centralKitchenForSchoolExportRecordsDb := db.CentralKitchenForSchoolExportRecordsDb{}
centralKitchenForSchoolExportRecordsDb.Set()
marshal, _ := json.Marshal(req)
centralKitchenForSchoolExportRecordsDb.CentralKitchenForSchoolExportRecordsInsert(&model.CentralKitchenForSchoolExportRecords{
Name: fileName,
DownloadPath: downloadPath,
Kind: 9, //数据对比
ReqContent: string(marshal),
CreateAt: now.Format("2006-01-02 15:04:05"),
UpdateAt: now.Format("2006-01-02 15:04:05"),
})
}

func JudgeSelfSupportForMealTime(mealDate string) (mealZh string) {
mealZh = "未知"
mealTime, _ := time.ParseInLocation("2006-01-02 15:04:05", mealDate, time.Local)


+ 1
- 1
app/db/model/central_kitchen_for_school_export_records.go Ver arquivo

@@ -4,7 +4,7 @@ type CentralKitchenForSchoolExportRecords struct {
Id int `json:"id" xorm:"not null pk autoincr INT(11)"`
Name string `json:"name" xorm:"not null default '' comment('名称') VARCHAR(255)"`
DownloadPath string `json:"download_path" xorm:"not null default '' comment('下载地址') VARCHAR(255)"`
Kind int `json:"kind" xorm:"not null default 0 comment('类型(1:订单列表 2:退款申请表 3:学校预定统计表 4:班级明细表 5:退款明细表 6:收款统计表 7:班级收款明细表 8:学校预定数量统计表)') TINYINT(1)"`
Kind int `json:"kind" xorm:"not null default 0 comment('类型(1:订单列表 2:退款申请表 3:学校预定统计表 4:班级明细表 5:退款明细表 6:收款统计表 7:班级收款明细表 8:学校预定数量统计表 9:数据对比)') TINYINT(1)"`
ReqContent string `json:"req_content" xorm:"TEXT"`
CreateAt string `json:"create_at" xorm:"not null default 'CURRENT_TIMESTAMP' DATETIME"`
UpdateAt string `json:"update_at" xorm:"not null default 'CURRENT_TIMESTAMP' DATETIME"`


+ 21
- 19
app/router/admin_router.go Ver arquivo

@@ -109,6 +109,7 @@ func rDeviceManage(r *gin.RouterGroup) {

func rDataStatistics(r *gin.RouterGroup) {
r.POST("/centralKitchenForSchool/export", hdl2.CentralKitchenForSchoolDataStatisticsExport) //数据统计-(央厨-学校)-导出
r.POST("/centralKitchenForSchool/contrast", hdl2.CentralKitchenForSchoolDataStatisticsContrast) //数据统计-(央厨-学校)-数据对比
r.POST("/centralKitchenForSchool/list", hdl2.CentralKitchenForSchoolDataStatisticsList) //数据统计-(央厨-学校)-列表
r.DELETE("/centralKitchenForSchool/delete/:id", hdl2.CentralKitchenForSchoolDataStatisticsDelete) //数据统计-(央厨-学校)-删除

@@ -159,25 +160,26 @@ func rEnterpriseManage(r *gin.RouterGroup) {
r.POST("/centralKitchenForSchool/userUpdate", hdl.CentralKitchenForSchoolUserUpdate) //"央厨-学校"用户编辑
r.POST("/centralKitchenForSchool/userDelete", hdl.CentralKitchenForSchoolUserDelete) //"央厨-学校"用户删除

r.POST("/centralKitchenForSchool/studentList", hdl.CentralKitchenForSchoolStudentList) //"央厨-学校"学生列表
r.POST("/centralKitchenForSchool/studentUpdate", hdl.CentralKitchenForSchoolStudentUpdate) //"央厨-学校"学生编辑
r.POST("/centralKitchenForSchool/studentDelete", hdl.CentralKitchenForSchoolStudentDelete) //"央厨-学校"学生删除
r.POST("/centralKitchenForSchool/studentAdmission", hdl.CentralKitchenForSchoolStudentAdmission) //"央厨-学校"学生升学
r.POST("/centralKitchenForSchool/teacherList", hdl.CentralKitchenForSchoolTeacherList) //"央厨-学校"教师列表
r.POST("/centralKitchenForSchool/teacherUpdate", hdl.CentralKitchenForSchoolTeacherUpdate) //"央厨-学校"教师编辑
r.POST("/centralKitchenForSchool/teacherDelete", hdl.CentralKitchenForSchoolTeacherDelete) //"央厨-学校"教师删除
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("/centralKitchenForSchool/batchAskForLeave", hdl.CentralKitchenForSchoolBatchAskForLeave) //"央厨-学校"批量请假
r.POST("/centralKitchenForSchool/reserveList", hdl.CentralKitchenForSchoolReserveList) //"央厨-学校"预定列表
r.GET("/centralKitchenForSchool/reserveUpdateStudent", hdl.CentralKitchenForSchoolReserveUpdateStudent) //"央厨-学校"获取修改学生预定数据
r.POST("/centralKitchenForSchool/reserveUpdateStudent", hdl.CentralKitchenForSchoolReserveUpdateStudent) //"央厨-学校"修改学生预定
r.GET("/centralKitchenForSchool/reserveDetail", hdl.CentralKitchenForSchoolReserveDetail) //"央厨-学校"预定详情
r.POST("/centralKitchenForSchool/studentList", hdl.CentralKitchenForSchoolStudentList) //"央厨-学校"学生列表
r.POST("/centralKitchenForSchool/studentUpdate", hdl.CentralKitchenForSchoolStudentUpdate) //"央厨-学校"学生编辑
r.POST("/centralKitchenForSchool/studentDelete", hdl.CentralKitchenForSchoolStudentDelete) //"央厨-学校"学生删除
r.POST("/centralKitchenForSchool/batchStudentAdmission", hdl.CentralKitchenForSchoolBatchStudentAdmission) //"央厨-学校"学生升学
r.POST("/centralKitchenForSchool/studentAdmission", hdl.CentralKitchenForSchoolStudentAdmission) //"央厨-学校"学生升学
r.POST("/centralKitchenForSchool/teacherList", hdl.CentralKitchenForSchoolTeacherList) //"央厨-学校"教师列表
r.POST("/centralKitchenForSchool/teacherUpdate", hdl.CentralKitchenForSchoolTeacherUpdate) //"央厨-学校"教师编辑
r.POST("/centralKitchenForSchool/teacherDelete", hdl.CentralKitchenForSchoolTeacherDelete) //"央厨-学校"教师删除
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("/centralKitchenForSchool/batchAskForLeave", hdl.CentralKitchenForSchoolBatchAskForLeave) //"央厨-学校"批量请假
r.POST("/centralKitchenForSchool/reserveList", hdl.CentralKitchenForSchoolReserveList) //"央厨-学校"预定列表
r.GET("/centralKitchenForSchool/reserveUpdateStudent", hdl.CentralKitchenForSchoolReserveUpdateStudent) //"央厨-学校"获取修改学生预定数据
r.POST("/centralKitchenForSchool/reserveUpdateStudent", hdl.CentralKitchenForSchoolReserveUpdateStudent) //"央厨-学校"修改学生预定
r.GET("/centralKitchenForSchool/reserveDetail", hdl.CentralKitchenForSchoolReserveDetail) //"央厨-学校"预定详情

r.POST("/centralKitchenForSchoolOrderRefundList", hdl2.CentralKitchenForSchoolOrderRefundList) //"央厨-学校"订单退款列表
//r.POST("/centralKitchenForSchoolOrderRefundAudit", hdl2.CentralKitchenForSchoolOrderRefundAudit) //"央厨-学校"订单退款审核


Carregando…
Cancelar
Salvar