From f2a8f52395652c8897ba770981fde6a5a29b02f9 Mon Sep 17 00:00:00 2001 From: wucongxing <815046773@qq.com> Date: Thu, 21 Dec 2023 08:41:37 +0800 Subject: [PATCH 01/17] =?UTF-8?q?=E5=8E=BB=E9=99=A4=E8=8D=AF=E5=B8=88?= =?UTF-8?q?=E5=9C=A8=E7=BA=BF=E7=8A=B6=E6=80=81?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- api/model/userPharmacist.go | 1 - 1 file changed, 1 deletion(-) diff --git a/api/model/userPharmacist.go b/api/model/userPharmacist.go index eca865c..5616e63 100644 --- a/api/model/userPharmacist.go +++ b/api/model/userPharmacist.go @@ -15,7 +15,6 @@ type UserPharmacist struct { UnionId string `gorm:"column:union_id;type:varchar(100);comment:微信开放平台唯一标识" json:"union_id"` WxSessionKey string `gorm:"column:wx_session_key;type:varchar(255);comment:微信会话密钥" json:"wx_session_key"` Status int `gorm:"column:status;type:tinyint(1);default:1;comment:状态(0:禁用 1:正常 2:删除)" json:"status"` - IsOnline int `gorm:"column:is_online;type:tinyint(1);default:0;comment:是否在线(0:不在线 1:在线)" json:"is_online"` Avatar string `gorm:"column:avatar;type:varchar(255);comment:头像" json:"avatar"` PharmacistTitle int `gorm:"column:pharmacist_title;type:tinyint(1);comment:职称" json:"pharmacist_title"` DepartmentCustomId int64 `gorm:"column:department_custom_id;type:bigint(19);comment:科室id-自定义" json:"department_custom_id"` From f8ccf96e58639b5a71b40168fbd1d03555da6dae Mon Sep 17 00:00:00 2001 From: wucongxing8150 <815046773@qq.com> Date: Tue, 27 Feb 2024 10:32:16 +0800 Subject: [PATCH 02/17] =?UTF-8?q?=E6=96=B0=E5=A2=9E=E8=B7=A8=E5=9F=9F?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- api/middlewares/cors.go | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/api/middlewares/cors.go b/api/middlewares/cors.go index 9ee0ab4..6ff7895 100644 --- a/api/middlewares/cors.go +++ b/api/middlewares/cors.go @@ -15,7 +15,7 @@ func Cors() gin.HandlerFunc { if origin != "" { c.Header("Access-Control-Allow-Origin", origin) c.Header("Access-Control-Allow-Methods", "POST, GET, OPTIONS, PUT, DELETE, UPDATE") - c.Header("Access-Control-Allow-Headers", "Origin, X-Requested-With, Content-Type, Accept, Authorization") + c.Header("Access-Control-Allow-Headers", "Origin, X-Requested-With, Content-Type, Accept, Authorization,appId,sign") c.Header("Access-Control-Expose-Headers", "Content-Length, Access-Control-Allow-Origin, Access-Control-Allow-Headers, Cache-Control, Content-Language, Content-Type") c.Header("Access-Control-Allow-Credentials", "false") c.Set("content-type", "application/json") From db2c47bfede1fa3a409bef78bcf0be2111f1a774 Mon Sep 17 00:00:00 2001 From: wucongxing8150 <815046773@qq.com> Date: Tue, 27 Feb 2024 17:16:11 +0800 Subject: [PATCH 03/17] =?UTF-8?q?=E8=B7=A8=E5=9F=9F=E5=9B=9E=E6=BB=9A?= =?UTF-8?q?=EF=BC=8C=E8=8D=AF=E5=93=81=E8=AE=A2=E5=8D=95=E5=9B=9E=E6=BB=9A?= =?UTF-8?q?=E5=A2=9E=E5=8A=A0=E8=8D=AF=E5=93=81=E5=90=8D=E7=A7=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- api/middlewares/cors.go | 2 +- api/service/export.go | 16 ++++++++++++++++ 2 files changed, 17 insertions(+), 1 deletion(-) diff --git a/api/middlewares/cors.go b/api/middlewares/cors.go index 6ff7895..9ee0ab4 100644 --- a/api/middlewares/cors.go +++ b/api/middlewares/cors.go @@ -15,7 +15,7 @@ func Cors() gin.HandlerFunc { if origin != "" { c.Header("Access-Control-Allow-Origin", origin) c.Header("Access-Control-Allow-Methods", "POST, GET, OPTIONS, PUT, DELETE, UPDATE") - c.Header("Access-Control-Allow-Headers", "Origin, X-Requested-With, Content-Type, Accept, Authorization,appId,sign") + c.Header("Access-Control-Allow-Headers", "Origin, X-Requested-With, Content-Type, Accept, Authorization") c.Header("Access-Control-Expose-Headers", "Content-Length, Access-Control-Allow-Origin, Access-Control-Allow-Headers, Cache-Control, Content-Language, Content-Type") c.Header("Access-Control-Allow-Credentials", "false") c.Set("content-type", "application/json") diff --git a/api/service/export.go b/api/service/export.go index 2534894..0844c99 100644 --- a/api/service/export.go +++ b/api/service/export.go @@ -263,6 +263,7 @@ type OrderProductData struct { LogisticsFee float64 // 运费金额 LogisticsNo string // 物流编号 LogisticsCompanyCode string // 快递公司编码 + ProductNames string // 药品列表 DeliveryTime time.Time // 发货时间 PayTime time.Time // 支付时间 Remarks string // 订单备注 @@ -1479,6 +1480,7 @@ func (r *ExportService) OrderProduct(d []*model.OrderProduct) (string, error) { {Value: "运费金额", CellType: "float64", NumberFmt: "0.0000", ColWidth: 18}, {Value: "物流编号", CellType: "string", NumberFmt: "", ColWidth: 18}, {Value: "快递公司编码", CellType: "string", NumberFmt: "", ColWidth: 18}, + {Value: "药品", CellType: "string", NumberFmt: "", ColWidth: 35}, {Value: "发货时间", CellType: "date", NumberFmt: "yyyy-mm-dd hh:mm:ss", ColWidth: 30}, {Value: "支付时间", CellType: "date", NumberFmt: "yyyy-mm-dd hh:mm:ss", ColWidth: 30}, {Value: "订单备注", CellType: "string", NumberFmt: "", ColWidth: 18}, @@ -1575,6 +1577,20 @@ func (r *ExportService) OrderProduct(d []*model.OrderProduct) (string, error) { data.CreatedAt = t } + // 处理药品列表 + orderProductItemDao := dao.OrderProductItemDao{} + orderProductItems, err := orderProductItemDao.GetOrderProductItemByOrderProductId(v.OrderProductId) + if err == nil || len(orderProductItems) > 0 { + var products []string + for _, v := range orderProductItems { + amount := fmt.Sprintf("%d", v.Amount) + product := v.ProductName + "(" + amount + ")" + products = append(products, product) + } + + data.ProductNames = strings.Join(products, ";") + } + dataSlice = append(dataSlice, data) } From 882fcb9a55c20c30832c2b43fb9ad5d7801412cc Mon Sep 17 00:00:00 2001 From: wucongxing8150 <815046773@qq.com> Date: Tue, 27 Feb 2024 17:17:50 +0800 Subject: [PATCH 04/17] =?UTF-8?q?=E5=88=B0=E5=A4=84=E8=8D=AF=E5=93=81?= =?UTF-8?q?=E8=AE=A2=E5=8D=95=E5=A2=9E=E5=8A=A0=E8=8D=AF=E5=93=81=E5=90=8D?= =?UTF-8?q?=E7=A7=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- api/service/export.go | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/api/service/export.go b/api/service/export.go index 0844c99..60a4dad 100644 --- a/api/service/export.go +++ b/api/service/export.go @@ -1584,7 +1584,7 @@ func (r *ExportService) OrderProduct(d []*model.OrderProduct) (string, error) { var products []string for _, v := range orderProductItems { amount := fmt.Sprintf("%d", v.Amount) - product := v.ProductName + "(" + amount + ")" + product := v.ProductName + "(数量:" + amount + ")" products = append(products, product) } From f11895c1132e1f28c86f240494c9d180ff130f14 Mon Sep 17 00:00:00 2001 From: wucongxing8150 <815046773@qq.com> Date: Tue, 27 Feb 2024 17:27:10 +0800 Subject: [PATCH 05/17] =?UTF-8?q?=E5=A4=84=E6=96=B9=E5=88=97=E8=A1=A8?= =?UTF-8?q?=E5=AF=BC=E5=87=BA?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- api/service/export.go | 64 +++++++++++++++++++++++++++---------------- 1 file changed, 40 insertions(+), 24 deletions(-) diff --git a/api/service/export.go b/api/service/export.go index 60a4dad..101992a 100644 --- a/api/service/export.go +++ b/api/service/export.go @@ -298,6 +298,7 @@ type OrderPrescriptionData struct { ExpiredTime time.Time // 处方过期时间 IsDelete string // 是否删除(0:否 1:是) PrescriptionCode string // 处方编号 + ProductNames string // 药品列表 PatientName string // 患者姓名-就诊人 PatientSex string // 患者性别-就诊人(1:男 2:女) PatientAge string // 患者年龄-就诊人 @@ -437,8 +438,8 @@ func (r *ExportService) DoctorWithdrawal(doctorWithdrawals []*model.DoctorWithdr // 设置文件名字 now := time.Now() - dateTimeString := now.Format("20060102150405") // 当前时间字符串 - rand.Seed(time.Now().UnixNano()) // 设置随机数 + dateTimeString := now.Format("20060102150405") // 当前时间字符串 + rand.New(rand.NewSource(time.Now().UnixNano())) // 设置随机数 ossPath := "admin/export/提现记录" + dateTimeString + fmt.Sprintf("%d", rand.Intn(9000)+1000) + ".xlsx" // 上传oss @@ -557,8 +558,8 @@ func (r *ExportService) DoctorWithdrawalOrder(doctorWithdrawalOrders []*model.Do // 设置文件名字 now := time.Now() - dateTimeString := now.Format("20060102150405") // 当前时间字符串 - rand.Seed(time.Now().UnixNano()) // 设置随机数 + dateTimeString := now.Format("20060102150405") // 当前时间字符串 + rand.New(rand.NewSource(time.Now().UnixNano())) // 设置随机数 ossPath := "admin/export/提现记录-关联订单" + dateTimeString + fmt.Sprintf("%d", rand.Intn(9000)+1000) + ".xlsx" // 上传oss @@ -877,8 +878,8 @@ func (r *ExportService) UserDoctor(userDoctors []*model.UserDoctor) (string, err // 设置文件名字 now := time.Now() - dateTimeString := now.Format("20060102150405") // 当前时间字符串 - rand.Seed(time.Now().UnixNano()) // 设置随机数 + dateTimeString := now.Format("20060102150405") // 当前时间字符串 + rand.New(rand.NewSource(time.Now().UnixNano())) // 设置随机数 ossPath := "admin/export/医生列表" + dateTimeString + fmt.Sprintf("%d", rand.Intn(9000)+1000) + ".xlsx" // 上传oss @@ -943,8 +944,8 @@ func (r *ExportService) UserDoctorBankCard(d []*model.DoctorBankCard) (string, e // 设置文件名字 now := time.Now() - dateTimeString := now.Format("20060102150405") // 当前时间字符串 - rand.Seed(time.Now().UnixNano()) // 设置随机数 + dateTimeString := now.Format("20060102150405") // 当前时间字符串 + rand.New(rand.NewSource(time.Now().UnixNano())) // 设置随机数 ossPath := "admin/export/医生银行卡列表" + dateTimeString + fmt.Sprintf("%d", rand.Intn(9000)+1000) + ".xlsx" // 上传oss @@ -1009,8 +1010,8 @@ func (r *ExportService) DoctorAccount(d []*model.DoctorAccount) (string, error) // 设置文件名字 now := time.Now() - dateTimeString := now.Format("20060102150405") // 当前时间字符串 - rand.Seed(time.Now().UnixNano()) // 设置随机数 + dateTimeString := now.Format("20060102150405") // 当前时间字符串 + rand.New(rand.NewSource(time.Now().UnixNano())) // 设置随机数 ossPath := "admin/export/医生账户" + dateTimeString + fmt.Sprintf("%d", rand.Intn(9000)+1000) + ".xlsx" // 上传oss @@ -1157,8 +1158,8 @@ func (r *ExportService) OrderInquiryForAccount(d []*model.OrderInquiry) (string, // 设置文件名字 now := time.Now() - dateTimeString := now.Format("20060102150405") // 当前时间字符串 - rand.Seed(time.Now().UnixNano()) // 设置随机数 + dateTimeString := now.Format("20060102150405") // 当前时间字符串 + rand.New(rand.NewSource(time.Now().UnixNano())) // 设置随机数 ossPath := "admin/export/医生账户-关联订单" + dateTimeString + fmt.Sprintf("%d", rand.Intn(9000)+1000) + ".xlsx" // 上传oss @@ -1214,8 +1215,8 @@ func (r *ExportService) UserPatient(d []*model.UserPatient) (string, error) { // 设置文件名字 now := time.Now() - dateTimeString := now.Format("20060102150405") // 当前时间字符串 - rand.Seed(time.Now().UnixNano()) // 设置随机数 + dateTimeString := now.Format("20060102150405") // 当前时间字符串 + rand.New(rand.NewSource(time.Now().UnixNano())) // 设置随机数 ossPath := "admin/export/患者列表" + dateTimeString + fmt.Sprintf("%d", rand.Intn(9000)+1000) + ".xlsx" // 上传oss @@ -1298,8 +1299,8 @@ func (r *ExportService) PatientFamily(d []*model.PatientFamily) (string, error) // 设置文件名字 now := time.Now() - dateTimeString := now.Format("20060102150405") // 当前时间字符串 - rand.Seed(time.Now().UnixNano()) // 设置随机数 + dateTimeString := now.Format("20060102150405") // 当前时间字符串 + rand.New(rand.NewSource(time.Now().UnixNano())) // 设置随机数 ossPath := "admin/export/就诊人列表" + dateTimeString + fmt.Sprintf("%d", rand.Intn(9000)+1000) + ".xlsx" // 上传oss @@ -1446,8 +1447,8 @@ func (r *ExportService) OrderInquiry(d []*model.OrderInquiry) (string, error) { // 设置文件名字 now := time.Now() - dateTimeString := now.Format("20060102150405") // 当前时间字符串 - rand.Seed(time.Now().UnixNano()) // 设置随机数 + dateTimeString := now.Format("20060102150405") // 当前时间字符串 + rand.New(rand.NewSource(time.Now().UnixNano())) // 设置随机数 ossPath := "admin/export/问诊订单" + dateTimeString + fmt.Sprintf("%d", rand.Intn(9000)+1000) + ".xlsx" // 上传oss @@ -1584,11 +1585,11 @@ func (r *ExportService) OrderProduct(d []*model.OrderProduct) (string, error) { var products []string for _, v := range orderProductItems { amount := fmt.Sprintf("%d", v.Amount) - product := v.ProductName + "(数量:" + amount + ")" + product := v.ProductName + "(N:" + amount + ")" products = append(products, product) } - data.ProductNames = strings.Join(products, ";") + data.ProductNames = strings.Join(products, "; ") } dataSlice = append(dataSlice, data) @@ -1601,8 +1602,8 @@ func (r *ExportService) OrderProduct(d []*model.OrderProduct) (string, error) { // 设置文件名字 now := time.Now() - dateTimeString := now.Format("20060102150405") // 当前时间字符串 - rand.Seed(time.Now().UnixNano()) // 设置随机数 + dateTimeString := now.Format("20060102150405") // 当前时间字符串 + rand.New(rand.NewSource(time.Now().UnixNano())) // 设置随机数 ossPath := "admin/export/药品订单" + dateTimeString + fmt.Sprintf("%d", rand.Intn(9000)+1000) + ".xlsx" // 上传oss @@ -1632,6 +1633,7 @@ func (r *ExportService) OrderPrescription(d []*model.OrderPrescription) (string, {Value: "处方过期时间", CellType: "date", NumberFmt: "yyyy-mm-dd hh:mm:ss", ColWidth: 30}, {Value: "是否删除", CellType: "string", NumberFmt: "", ColWidth: 18}, {Value: "处方编号", CellType: "string", NumberFmt: "", ColWidth: 28}, + {Value: "药品", CellType: "string", NumberFmt: "", ColWidth: 35}, {Value: "患者姓名-就诊人", CellType: "string", NumberFmt: "", ColWidth: 18}, {Value: "患者性别-就诊人", CellType: "string", NumberFmt: "", ColWidth: 18}, {Value: "患者年龄-就诊人", CellType: "string", NumberFmt: "", ColWidth: 18}, @@ -1709,6 +1711,20 @@ func (r *ExportService) OrderPrescription(d []*model.OrderPrescription) (string, data.CreatedAt = t } + // 处理厨房药品列表 + orderPrescriptionProductDao := dao.OrderPrescriptionProductDao{} + orderPrescriptionProducts, err := orderPrescriptionProductDao.GetOrderPrescriptionProductListByOrderPrescriptionId(v.OrderPrescriptionId) + if err == nil && len(orderPrescriptionProducts) > 0 { + var products []string + for _, v := range orderPrescriptionProducts { + prescriptionProductNum := fmt.Sprintf("%d", v.PrescriptionProductNum) + product := v.ProductName + "(N:" + prescriptionProductNum + ")" + products = append(products, product) + } + + data.ProductNames = strings.Join(products, "; ") + } + dataSlice = append(dataSlice, data) } @@ -1719,8 +1735,8 @@ func (r *ExportService) OrderPrescription(d []*model.OrderPrescription) (string, // 设置文件名字 now := time.Now() - dateTimeString := now.Format("20060102150405") // 当前时间字符串 - rand.Seed(time.Now().UnixNano()) // 设置随机数 + dateTimeString := now.Format("20060102150405") // 当前时间字符串 + rand.New(rand.NewSource(time.Now().UnixNano())) // 设置随机数 ossPath := "admin/export/处方" + dateTimeString + fmt.Sprintf("%d", rand.Intn(9000)+1000) + ".xlsx" // 上传oss From 0f31485d8c016c3c6ad99bf9de3e9ca682f3e3ee Mon Sep 17 00:00:00 2001 From: wucongxing8150 <815046773@qq.com> Date: Mon, 4 Mar 2024 11:19:24 +0800 Subject: [PATCH 06/17] =?UTF-8?q?=E4=BF=AE=E6=94=B9=E8=8D=AF=E5=93=81?= =?UTF-8?q?=E8=AE=A2=E5=8D=95=E6=90=9C=E7=B4=A2?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .DS_Store | Bin 0 -> 8196 bytes api/dao/orderProduct.go | 2 +- extend/.DS_Store | Bin 0 -> 6148 bytes extend/weChat/.DS_Store | Bin 0 -> 6148 bytes 4 files changed, 1 insertion(+), 1 deletion(-) create mode 100644 .DS_Store create mode 100644 extend/.DS_Store create mode 100644 extend/weChat/.DS_Store diff --git a/.DS_Store b/.DS_Store new file mode 100644 index 0000000000000000000000000000000000000000..9b4ad7bf134f345e6c432977d93705ce6834448a GIT binary patch literal 8196 zcmeHMJ#P~+7=GQP&4mb*p-5ejPGXHpN}&}(LLp5D29^fF0I1yMLVDtIj&c_Qs)}xg zAHagxnP6mP;4dKYGmu!A;PFSJ^Ce~IfGS~2_Up5s*M9ui7x%pq5o=F^4Wcz7a*&0s z*HA1-qF>~>w4_^vGlM_fiFnVCxR2-h9NIQm1*`&A0jq#jz$$PS6u_M=l5@hnuX=51 z6|f5YmkNmA2Nzk`mbRI)@}~oZ3;|%vXqE|e`KLduD;i*1+Gfh41&JwFSmnxeh{1H^ zz?3`sTNA-`z5>Bk8tSzkqR)Kj1MC@LsbsA7eX(4|9h`#mT zGD*i7E*flfdwe*Ot+#%D&yO+WosRwnfLAhm`{B#i+h%|8*Z$E#ZtNeQ#1!X_`GMnr zV&XKWzR8tc0xr*W89pHe)F;nGl3S8bWr&z@h93zZ_dSM)~OYd{z95YRTO-!s*DUU77Ip@_BtIy+B zz~F`C5mQhYQ>^|(tUpag`ZRp@M^Tuh&E_|@R4Om8RGf-aa~^jO__UjP=_F};tu z9_NvNT=)F@VSl<`U)|wx>V9*Lc@aQIPC_uBpDRXC72ti3g-22 zeq%5IkHVPPM+04@J=(?F(xJPsf^%W##hb)lNY z1`-od2CZTBHre}M%3%wuz^N4|DbKYU?C#0m|4%)>b+igt1{Zb3pJS=ZfrY(FbK!Jz2)-o;e)>1KNzg~a{1`qpfB$q9IjSjaP#)v$Ir$e z@-w9`F@Bi9J7w&;!!@uLwfSGfGnH%g9`QA2o$Jvn;1%!+Y*WB}D}vo^oj&Fj@Cy9b z3h?(q!Wkonl|}REKw*vmz&66hQ0HGl=17N;!^$FhV8T*?mMYv4Ls&ZE(&a@CD~py+ z!W}+@yR&d76k+a;>r0bPBC_a9uYgyeuE36M_IUq)`s?$5o#b0y0k6P6rGRLU;?WRO za(ioIa=h0{_**y|=T#PeP*5>jF>-k;-h&%MTyg~%Ijk%q0`ortMh0Ja1^%c4-vP9H Bidp~w literal 0 HcmV?d00001 diff --git a/extend/weChat/.DS_Store b/extend/weChat/.DS_Store new file mode 100644 index 0000000000000000000000000000000000000000..ae0ff38de4bf4764c8e218bdc0e23f765746c8c3 GIT binary patch literal 6148 zcmeHK%}N6?5T4YkTU6*lp~ryNqV*r~vbK8gCa&l~rS96Ii|a1|k`WwkXq^^QU z1tY#}7*7Uh?Iz(0y3m6Zit9&PVi$GkU5g%m!86E`d%M!F!F?1aX`}HbN)zSDscC20 znQ<<>8GW+6jXT5tnCGINOKBP_u+sKOp6j$TlU9AT4%8DIvOfiY*m zo{P@Rn2(c(#|$t7f6oA&4-%EowU`^!M+X-A34ln~NG({WOA*CLi>}4oAoidL6N+d; zg?(ZO6OMLi{alN=K@$$bK0bu~v#>7|q5qEGm)aeKYmiH3fEoDCz=Ua5DgW>P{{H_S z#4Tok8TeNWi1MDd*TgB=+&VHj%C!>p5|xDfa)VzXSkb8%eJK^!P_>|4QU%eqm>Wb3 P3SR^?4O}n-f6BlI(NJYI literal 0 HcmV?d00001 From 77c6ab6f44e87b70269373c5ca84f8a94e2415a8 Mon Sep 17 00:00:00 2001 From: wucongxing8150 <815046773@qq.com> Date: Mon, 4 Mar 2024 13:59:08 +0800 Subject: [PATCH 07/17] =?UTF-8?q?=E4=BF=AE=E6=94=B9=E5=AF=86=E7=A0=81?= =?UTF-8?q?=E6=8E=A5=E5=8F=A3=E6=94=B9=E5=8A=A8?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- api/controller/adminUser.go | 6 +++--- api/requests/user.go | 1 + api/service/adminUser.go | 32 +++++++++++++++++++++++++++++--- 3 files changed, 33 insertions(+), 6 deletions(-) diff --git a/api/controller/adminUser.go b/api/controller/adminUser.go index 25929ed..de5e5fc 100644 --- a/api/controller/adminUser.go +++ b/api/controller/adminUser.go @@ -213,15 +213,15 @@ func (r *AdminUser) PutUserPassword(c *gin.Context) { return } - userId := c.GetInt64("UserId") - if userId == 0 { + adminUserId := c.GetInt64("UserId") + if adminUserId == 0 { responses.FailWithMessage("用户错误", c) return } // 业务处理 userService := service.AdminUserService{} - _, err := userService.PutUserPassword(userId, UserRequest.PutUserPassword) + _, err := userService.PutUserPassword(adminUserId, UserRequest.PutUserPassword) if err != nil { responses.FailWithMessage(err.Error(), c) return diff --git a/api/requests/user.go b/api/requests/user.go index 531bfcd..10071a7 100644 --- a/api/requests/user.go +++ b/api/requests/user.go @@ -62,4 +62,5 @@ type PutUser struct { type PutUserPassword struct { Password string `json:"password" form:"password" validate:"required" label:"原密码"` NewPassword string `json:"new_password" form:"new_password" validate:"required" label:"新密码"` + UserId string `json:"user_id" form:"user_id" validate:"required" label:"用户id"` } diff --git a/api/service/adminUser.go b/api/service/adminUser.go index d91aa9f..a8121ab 100644 --- a/api/service/adminUser.go +++ b/api/service/adminUser.go @@ -325,11 +325,37 @@ func (r *AdminUserService) PutUser(c *gin.Context, requestUserId int64, putUserR } // PutUserPassword 修改用户密码 -func (r *AdminUserService) PutUserPassword(requestUserId int64, putUserPasswordRequest requests.PutUserPassword) (bool, error) { +func (r *AdminUserService) PutUserPassword(adminUserId int64, putUserPasswordRequest requests.PutUserPassword) (bool, error) { adminUserDao := dao.AdminUserDao{} + // 将 id 转换为 int64 类型 + userId, err := strconv.ParseInt(putUserPasswordRequest.UserId, 10, 64) + if err != nil { + return false, errors.New("错误") + } + + // 获取当前登录用户数据 + adminUser, err := adminUserDao.GetAdminUserFirstById(adminUserId) + if err != nil || adminUser == nil { + return false, errors.New("用户数据错误") + } + + // 获取登录用户角色数据 + adminRoleDao := dao.AdminRoleDao{} + adminRole, err := adminRoleDao.GetAdminRoleFirstById(adminUser.RoleID) + if err != nil || adminRole == nil { + return false, errors.New("角色错误") + } + + // 非超级管理员无法修改其他用户数据 + if adminRole.IsAdmin != 1 { + if adminUserId != userId { + return false, errors.New("无法修改他人密码") + } + } + // 获取需修改用户数据 - adminUser, err := adminUserDao.GetAdminUserFirstById(requestUserId) + adminUser, err = adminUserDao.GetAdminUserFirstById(userId) if err != nil || adminUser == nil { return false, errors.New("用户数据错误") } @@ -387,7 +413,7 @@ func (r *AdminUserService) PutUserPassword(requestUserId int64, putUserPasswordR // 修改角色 data := make(map[string]interface{}) data["password"] = newPasswordString - err = adminUserDao.EditAdminUserById(tx, requestUserId, data) + err = adminUserDao.EditAdminUserById(tx, userId, data) if err != nil { tx.Rollback() return false, errors.New("修改失败") From 0e91b4c3a359fdcb9637b49faafe05c815476766 Mon Sep 17 00:00:00 2001 From: wucongxing8150 <815046773@qq.com> Date: Mon, 25 Mar 2024 17:31:46 +0800 Subject: [PATCH 08/17] =?UTF-8?q?=E4=BF=AE=E6=94=B9=E6=97=B6=E9=97=B4?= =?UTF-8?q?=E6=90=9C=E7=B4=A2?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- api/dao/orderProduct.go | 40 ++++++++++------------------------------ 1 file changed, 10 insertions(+), 30 deletions(-) diff --git a/api/dao/orderProduct.go b/api/dao/orderProduct.go index bd11906..a79f693 100644 --- a/api/dao/orderProduct.go +++ b/api/dao/orderProduct.go @@ -192,9 +192,7 @@ func (r *OrderProductDao) GetOrderProductPageSearch(req requests.GetOrderProduct startTime, _ := time.Parse("2006-01-02", deliveryTime[0]) endTime, _ := time.Parse("2006-01-02", deliveryTime[1]) - if startTime == endTime { - endTime = endTime.Add(23*time.Hour + 59*time.Minute + 59*time.Second) - } + endTime = endTime.Add(23*time.Hour + 59*time.Minute + 59*time.Second) query = query.Where("delivery_time BETWEEN ? AND ?", startTime, endTime) } @@ -207,9 +205,7 @@ func (r *OrderProductDao) GetOrderProductPageSearch(req requests.GetOrderProduct startTime, _ := time.Parse("2006-01-02", cancelTime[0]) endTime, _ := time.Parse("2006-01-02", cancelTime[1]) - if startTime == endTime { - endTime = endTime.Add(23*time.Hour + 59*time.Minute + 59*time.Second) - } + endTime = endTime.Add(23*time.Hour + 59*time.Minute + 59*time.Second) query = query.Where("cancel_time BETWEEN ? AND ?", startTime, endTime) } @@ -222,9 +218,7 @@ func (r *OrderProductDao) GetOrderProductPageSearch(req requests.GetOrderProduct startTime, _ := time.Parse("2006-01-02", payTime[0]) endTime, _ := time.Parse("2006-01-02", payTime[1]) - if startTime == endTime { - endTime = endTime.Add(23*time.Hour + 59*time.Minute + 59*time.Second) - } + endTime = endTime.Add(23*time.Hour + 59*time.Minute + 59*time.Second) query = query.Where("pay_time BETWEEN ? AND ?", startTime, endTime) } @@ -237,9 +231,7 @@ func (r *OrderProductDao) GetOrderProductPageSearch(req requests.GetOrderProduct startTime, _ := time.Parse("2006-01-02", reportPreTime[0]) endTime, _ := time.Parse("2006-01-02", reportPreTime[1]) - if startTime == endTime { - endTime = endTime.Add(23*time.Hour + 59*time.Minute + 59*time.Second) - } + endTime = endTime.Add(23*time.Hour + 59*time.Minute + 59*time.Second) query = query.Where("report_pre_time BETWEEN ? AND ?", startTime, endTime) } @@ -252,9 +244,7 @@ func (r *OrderProductDao) GetOrderProductPageSearch(req requests.GetOrderProduct startTime, _ := time.Parse("2006-01-02", createdAt[0]) endTime, _ := time.Parse("2006-01-02", createdAt[1]) - if startTime == endTime { - endTime = endTime.Add(23*time.Hour + 59*time.Minute + 59*time.Second) - } + endTime = endTime.Add(23*time.Hour + 59*time.Minute + 59*time.Second) query = query.Where("created_at BETWEEN ? AND ?", startTime, endTime) } @@ -415,9 +405,7 @@ func (r *OrderProductDao) GetOrderProductExportListSearch(req requests.OrderProd startTime, _ := time.Parse("2006-01-02", deliveryTime[0]) endTime, _ := time.Parse("2006-01-02", deliveryTime[1]) - if startTime == endTime { - endTime = endTime.Add(23*time.Hour + 59*time.Minute + 59*time.Second) - } + endTime = endTime.Add(23*time.Hour + 59*time.Minute + 59*time.Second) query = query.Where("delivery_time BETWEEN ? AND ?", startTime, endTime) } @@ -430,9 +418,7 @@ func (r *OrderProductDao) GetOrderProductExportListSearch(req requests.OrderProd startTime, _ := time.Parse("2006-01-02", cancelTime[0]) endTime, _ := time.Parse("2006-01-02", cancelTime[1]) - if startTime == endTime { - endTime = endTime.Add(23*time.Hour + 59*time.Minute + 59*time.Second) - } + endTime = endTime.Add(23*time.Hour + 59*time.Minute + 59*time.Second) query = query.Where("cancel_time BETWEEN ? AND ?", startTime, endTime) } @@ -445,9 +431,7 @@ func (r *OrderProductDao) GetOrderProductExportListSearch(req requests.OrderProd startTime, _ := time.Parse("2006-01-02", payTime[0]) endTime, _ := time.Parse("2006-01-02", payTime[1]) - if startTime == endTime { - endTime = endTime.Add(23*time.Hour + 59*time.Minute + 59*time.Second) - } + endTime = endTime.Add(23*time.Hour + 59*time.Minute + 59*time.Second) query = query.Where("pay_time BETWEEN ? AND ?", startTime, endTime) } @@ -460,9 +444,7 @@ func (r *OrderProductDao) GetOrderProductExportListSearch(req requests.OrderProd startTime, _ := time.Parse("2006-01-02", reportPreTime[0]) endTime, _ := time.Parse("2006-01-02", reportPreTime[1]) - if startTime == endTime { - endTime = endTime.Add(23*time.Hour + 59*time.Minute + 59*time.Second) - } + endTime = endTime.Add(23*time.Hour + 59*time.Minute + 59*time.Second) query = query.Where("report_pre_time BETWEEN ? AND ?", startTime, endTime) } @@ -475,9 +457,7 @@ func (r *OrderProductDao) GetOrderProductExportListSearch(req requests.OrderProd startTime, _ := time.Parse("2006-01-02", createdAt[0]) endTime, _ := time.Parse("2006-01-02", createdAt[1]) - if startTime == endTime { - endTime = endTime.Add(23*time.Hour + 59*time.Minute + 59*time.Second) - } + endTime = endTime.Add(23*time.Hour + 59*time.Minute + 59*time.Second) query = query.Where("created_at BETWEEN ? AND ?", startTime, endTime) } From ee57219ea8a49db9680c520faca1312585ffdfb0 Mon Sep 17 00:00:00 2001 From: wucongxing8150 <815046773@qq.com> Date: Tue, 26 Mar 2024 17:29:48 +0800 Subject: [PATCH 09/17] shijian --- api/dao/orderInquiry.go | 120 ++++++++++------------------------------ 1 file changed, 30 insertions(+), 90 deletions(-) diff --git a/api/dao/orderInquiry.go b/api/dao/orderInquiry.go index 13293ff..1508606 100644 --- a/api/dao/orderInquiry.go +++ b/api/dao/orderInquiry.go @@ -149,9 +149,7 @@ func (r *OrderInquiryDao) GetOrderInquiryPageSearch(req requests.GetOrderInquiry startTime, _ := time.Parse("2006-01-02", payTime[0]) endTime, _ := time.Parse("2006-01-02", payTime[1]) - if startTime == endTime { - endTime = endTime.Add(23*time.Hour + 59*time.Minute + 59*time.Second) - } + endTime = endTime.Add(23*time.Hour + 59*time.Minute + 59*time.Second) query = query.Where("pay_time BETWEEN ? AND ?", startTime, endTime) } @@ -164,9 +162,7 @@ func (r *OrderInquiryDao) GetOrderInquiryPageSearch(req requests.GetOrderInquiry startTime, _ := time.Parse("2006-01-02", receptionTime[0]) endTime, _ := time.Parse("2006-01-02", receptionTime[1]) - if startTime == endTime { - endTime = endTime.Add(23*time.Hour + 59*time.Minute + 59*time.Second) - } + endTime = endTime.Add(23*time.Hour + 59*time.Minute + 59*time.Second) query = query.Where("reception_time BETWEEN ? AND ?", startTime, endTime) } @@ -179,9 +175,7 @@ func (r *OrderInquiryDao) GetOrderInquiryPageSearch(req requests.GetOrderInquiry startTime, _ := time.Parse("2006-01-02", completeTime[0]) endTime, _ := time.Parse("2006-01-02", completeTime[1]) - if startTime == endTime { - endTime = endTime.Add(23*time.Hour + 59*time.Minute + 59*time.Second) - } + endTime = endTime.Add(23*time.Hour + 59*time.Minute + 59*time.Second) query = query.Where("complete_time BETWEEN ? AND ?", startTime, endTime) } @@ -194,9 +188,7 @@ func (r *OrderInquiryDao) GetOrderInquiryPageSearch(req requests.GetOrderInquiry startTime, _ := time.Parse("2006-01-02", finishTime[0]) endTime, _ := time.Parse("2006-01-02", finishTime[1]) - if startTime == endTime { - endTime = endTime.Add(23*time.Hour + 59*time.Minute + 59*time.Second) - } + endTime = endTime.Add(23*time.Hour + 59*time.Minute + 59*time.Second) query = query.Where("finish_time BETWEEN ? AND ?", startTime, endTime) } @@ -214,9 +206,7 @@ func (r *OrderInquiryDao) GetOrderInquiryPageSearch(req requests.GetOrderInquiry startTime, _ := time.Parse("2006-01-02", cancelTime[0]) endTime, _ := time.Parse("2006-01-02", cancelTime[1]) - if startTime == endTime { - endTime = endTime.Add(23*time.Hour + 59*time.Minute + 59*time.Second) - } + endTime = endTime.Add(23*time.Hour + 59*time.Minute + 59*time.Second) query = query.Where("cancel_time BETWEEN ? AND ?", startTime, endTime) } @@ -229,9 +219,7 @@ func (r *OrderInquiryDao) GetOrderInquiryPageSearch(req requests.GetOrderInquiry startTime, _ := time.Parse("2006-01-02", createdAt[0]) endTime, _ := time.Parse("2006-01-02", createdAt[1]) - if startTime == endTime { - endTime = endTime.Add(23*time.Hour + 59*time.Minute + 59*time.Second) - } + endTime = endTime.Add(23*time.Hour + 59*time.Minute + 59*time.Second) query = query.Where("created_at BETWEEN ? AND ?", startTime, endTime) } @@ -349,9 +337,7 @@ func (r *OrderInquiryDao) GetOrderInquiryRecordPageSearch(req requests.GetOrderI startTime, _ := time.Parse("2006-01-02", payTime[0]) endTime, _ := time.Parse("2006-01-02", payTime[1]) - if startTime == endTime { - endTime = endTime.Add(23*time.Hour + 59*time.Minute + 59*time.Second) - } + endTime = endTime.Add(23*time.Hour + 59*time.Minute + 59*time.Second) query = query.Where("pay_time BETWEEN ? AND ?", startTime, endTime) } @@ -364,9 +350,7 @@ func (r *OrderInquiryDao) GetOrderInquiryRecordPageSearch(req requests.GetOrderI startTime, _ := time.Parse("2006-01-02", receptionTime[0]) endTime, _ := time.Parse("2006-01-02", receptionTime[1]) - if startTime == endTime { - endTime = endTime.Add(23*time.Hour + 59*time.Minute + 59*time.Second) - } + endTime = endTime.Add(23*time.Hour + 59*time.Minute + 59*time.Second) query = query.Where("reception_time BETWEEN ? AND ?", startTime, endTime) } @@ -379,9 +363,7 @@ func (r *OrderInquiryDao) GetOrderInquiryRecordPageSearch(req requests.GetOrderI startTime, _ := time.Parse("2006-01-02", completeTime[0]) endTime, _ := time.Parse("2006-01-02", completeTime[1]) - if startTime == endTime { - endTime = endTime.Add(23*time.Hour + 59*time.Minute + 59*time.Second) - } + endTime = endTime.Add(23*time.Hour + 59*time.Minute + 59*time.Second) query = query.Where("complete_time BETWEEN ? AND ?", startTime, endTime) } @@ -394,9 +376,7 @@ func (r *OrderInquiryDao) GetOrderInquiryRecordPageSearch(req requests.GetOrderI startTime, _ := time.Parse("2006-01-02", finishTime[0]) endTime, _ := time.Parse("2006-01-02", finishTime[1]) - if startTime == endTime { - endTime = endTime.Add(23*time.Hour + 59*time.Minute + 59*time.Second) - } + endTime = endTime.Add(23*time.Hour + 59*time.Minute + 59*time.Second) query = query.Where("finish_time BETWEEN ? AND ?", startTime, endTime) } @@ -414,9 +394,7 @@ func (r *OrderInquiryDao) GetOrderInquiryRecordPageSearch(req requests.GetOrderI startTime, _ := time.Parse("2006-01-02", cancelTime[0]) endTime, _ := time.Parse("2006-01-02", cancelTime[1]) - if startTime == endTime { - endTime = endTime.Add(23*time.Hour + 59*time.Minute + 59*time.Second) - } + endTime = endTime.Add(23*time.Hour + 59*time.Minute + 59*time.Second) query = query.Where("cancel_time BETWEEN ? AND ?", startTime, endTime) } @@ -429,9 +407,7 @@ func (r *OrderInquiryDao) GetOrderInquiryRecordPageSearch(req requests.GetOrderI startTime, _ := time.Parse("2006-01-02", createdAt[0]) endTime, _ := time.Parse("2006-01-02", createdAt[1]) - if startTime == endTime { - endTime = endTime.Add(23*time.Hour + 59*time.Minute + 59*time.Second) - } + endTime = endTime.Add(23*time.Hour + 59*time.Minute + 59*time.Second) query = query.Where("created_at BETWEEN ? AND ?", startTime, endTime) } @@ -524,9 +500,7 @@ func (r *OrderInquiryDao) GetOrderInquiryForAccountPageSearch(req requests.GetOr startTime, _ := time.Parse("2006-01-02", payTime[0]) endTime, _ := time.Parse("2006-01-02", payTime[1]) - if startTime == endTime { - endTime = endTime.Add(23*time.Hour + 59*time.Minute + 59*time.Second) - } + endTime = endTime.Add(23*time.Hour + 59*time.Minute + 59*time.Second) query = query.Where("pay_time BETWEEN ? AND ?", startTime, endTime) } @@ -539,9 +513,7 @@ func (r *OrderInquiryDao) GetOrderInquiryForAccountPageSearch(req requests.GetOr startTime, _ := time.Parse("2006-01-02", receptionTime[0]) endTime, _ := time.Parse("2006-01-02", receptionTime[1]) - if startTime == endTime { - endTime = endTime.Add(23*time.Hour + 59*time.Minute + 59*time.Second) - } + endTime = endTime.Add(23*time.Hour + 59*time.Minute + 59*time.Second) query = query.Where("reception_time BETWEEN ? AND ?", startTime, endTime) } @@ -554,9 +526,7 @@ func (r *OrderInquiryDao) GetOrderInquiryForAccountPageSearch(req requests.GetOr startTime, _ := time.Parse("2006-01-02", completeTime[0]) endTime, _ := time.Parse("2006-01-02", completeTime[1]) - if startTime == endTime { - endTime = endTime.Add(23*time.Hour + 59*time.Minute + 59*time.Second) - } + endTime = endTime.Add(23*time.Hour + 59*time.Minute + 59*time.Second) query = query.Where("complete_time BETWEEN ? AND ?", startTime, endTime) } @@ -569,9 +539,7 @@ func (r *OrderInquiryDao) GetOrderInquiryForAccountPageSearch(req requests.GetOr startTime, _ := time.Parse("2006-01-02", finishTime[0]) endTime, _ := time.Parse("2006-01-02", finishTime[1]) - if startTime == endTime { - endTime = endTime.Add(23*time.Hour + 59*time.Minute + 59*time.Second) - } + endTime = endTime.Add(23*time.Hour + 59*time.Minute + 59*time.Second) query = query.Where("finish_time BETWEEN ? AND ?", startTime, endTime) } @@ -589,9 +557,7 @@ func (r *OrderInquiryDao) GetOrderInquiryForAccountPageSearch(req requests.GetOr startTime, _ := time.Parse("2006-01-02", cancelTime[0]) endTime, _ := time.Parse("2006-01-02", cancelTime[1]) - if startTime == endTime { - endTime = endTime.Add(23*time.Hour + 59*time.Minute + 59*time.Second) - } + endTime = endTime.Add(23*time.Hour + 59*time.Minute + 59*time.Second) query = query.Where("cancel_time BETWEEN ? AND ?", startTime, endTime) } @@ -604,9 +570,7 @@ func (r *OrderInquiryDao) GetOrderInquiryForAccountPageSearch(req requests.GetOr startTime, _ := time.Parse("2006-01-02", createdAt[0]) endTime, _ := time.Parse("2006-01-02", createdAt[1]) - if startTime == endTime { - endTime = endTime.Add(23*time.Hour + 59*time.Minute + 59*time.Second) - } + endTime = endTime.Add(23*time.Hour + 59*time.Minute + 59*time.Second) query = query.Where("created_at BETWEEN ? AND ?", startTime, endTime) } @@ -684,9 +648,7 @@ func (r *OrderInquiryDao) GetOrderInquiryForAccountExportListSearch(req requests startTime, _ := time.Parse("2006-01-02", payTime[0]) endTime, _ := time.Parse("2006-01-02", payTime[1]) - if startTime == endTime { - endTime = endTime.Add(23*time.Hour + 59*time.Minute + 59*time.Second) - } + endTime = endTime.Add(23*time.Hour + 59*time.Minute + 59*time.Second) query = query.Where("pay_time BETWEEN ? AND ?", startTime, endTime) } @@ -699,9 +661,7 @@ func (r *OrderInquiryDao) GetOrderInquiryForAccountExportListSearch(req requests startTime, _ := time.Parse("2006-01-02", receptionTime[0]) endTime, _ := time.Parse("2006-01-02", receptionTime[1]) - if startTime == endTime { - endTime = endTime.Add(23*time.Hour + 59*time.Minute + 59*time.Second) - } + endTime = endTime.Add(23*time.Hour + 59*time.Minute + 59*time.Second) query = query.Where("reception_time BETWEEN ? AND ?", startTime, endTime) } @@ -714,9 +674,7 @@ func (r *OrderInquiryDao) GetOrderInquiryForAccountExportListSearch(req requests startTime, _ := time.Parse("2006-01-02", completeTime[0]) endTime, _ := time.Parse("2006-01-02", completeTime[1]) - if startTime == endTime { - endTime = endTime.Add(23*time.Hour + 59*time.Minute + 59*time.Second) - } + endTime = endTime.Add(23*time.Hour + 59*time.Minute + 59*time.Second) query = query.Where("complete_time BETWEEN ? AND ?", startTime, endTime) } @@ -729,9 +687,7 @@ func (r *OrderInquiryDao) GetOrderInquiryForAccountExportListSearch(req requests startTime, _ := time.Parse("2006-01-02", finishTime[0]) endTime, _ := time.Parse("2006-01-02", finishTime[1]) - if startTime == endTime { - endTime = endTime.Add(23*time.Hour + 59*time.Minute + 59*time.Second) - } + endTime = endTime.Add(23*time.Hour + 59*time.Minute + 59*time.Second) query = query.Where("finish_time BETWEEN ? AND ?", startTime, endTime) } @@ -749,9 +705,7 @@ func (r *OrderInquiryDao) GetOrderInquiryForAccountExportListSearch(req requests startTime, _ := time.Parse("2006-01-02", cancelTime[0]) endTime, _ := time.Parse("2006-01-02", cancelTime[1]) - if startTime == endTime { - endTime = endTime.Add(23*time.Hour + 59*time.Minute + 59*time.Second) - } + endTime = endTime.Add(23*time.Hour + 59*time.Minute + 59*time.Second) query = query.Where("cancel_time BETWEEN ? AND ?", startTime, endTime) } @@ -764,9 +718,7 @@ func (r *OrderInquiryDao) GetOrderInquiryForAccountExportListSearch(req requests startTime, _ := time.Parse("2006-01-02", createdAt[0]) endTime, _ := time.Parse("2006-01-02", createdAt[1]) - if startTime == endTime { - endTime = endTime.Add(23*time.Hour + 59*time.Minute + 59*time.Second) - } + endTime = endTime.Add(23*time.Hour + 59*time.Minute + 59*time.Second) query = query.Where("created_at BETWEEN ? AND ?", startTime, endTime) } @@ -881,9 +833,7 @@ func (r *OrderInquiryDao) GetOrderInquiryExportListSearch(req requests.OrderInqu startTime, _ := time.Parse("2006-01-02", payTime[0]) endTime, _ := time.Parse("2006-01-02", payTime[1]) - if startTime == endTime { - endTime = endTime.Add(23*time.Hour + 59*time.Minute + 59*time.Second) - } + endTime = endTime.Add(23*time.Hour + 59*time.Minute + 59*time.Second) query = query.Where("pay_time BETWEEN ? AND ?", startTime, endTime) } @@ -896,9 +846,7 @@ func (r *OrderInquiryDao) GetOrderInquiryExportListSearch(req requests.OrderInqu startTime, _ := time.Parse("2006-01-02", receptionTime[0]) endTime, _ := time.Parse("2006-01-02", receptionTime[1]) - if startTime == endTime { - endTime = endTime.Add(23*time.Hour + 59*time.Minute + 59*time.Second) - } + endTime = endTime.Add(23*time.Hour + 59*time.Minute + 59*time.Second) query = query.Where("reception_time BETWEEN ? AND ?", startTime, endTime) } @@ -911,9 +859,7 @@ func (r *OrderInquiryDao) GetOrderInquiryExportListSearch(req requests.OrderInqu startTime, _ := time.Parse("2006-01-02", completeTime[0]) endTime, _ := time.Parse("2006-01-02", completeTime[1]) - if startTime == endTime { - endTime = endTime.Add(23*time.Hour + 59*time.Minute + 59*time.Second) - } + endTime = endTime.Add(23*time.Hour + 59*time.Minute + 59*time.Second) query = query.Where("complete_time BETWEEN ? AND ?", startTime, endTime) } @@ -926,9 +872,7 @@ func (r *OrderInquiryDao) GetOrderInquiryExportListSearch(req requests.OrderInqu startTime, _ := time.Parse("2006-01-02", finishTime[0]) endTime, _ := time.Parse("2006-01-02", finishTime[1]) - if startTime == endTime { - endTime = endTime.Add(23*time.Hour + 59*time.Minute + 59*time.Second) - } + endTime = endTime.Add(23*time.Hour + 59*time.Minute + 59*time.Second) query = query.Where("finish_time BETWEEN ? AND ?", startTime, endTime) } @@ -946,9 +890,7 @@ func (r *OrderInquiryDao) GetOrderInquiryExportListSearch(req requests.OrderInqu startTime, _ := time.Parse("2006-01-02", cancelTime[0]) endTime, _ := time.Parse("2006-01-02", cancelTime[1]) - if startTime == endTime { - endTime = endTime.Add(23*time.Hour + 59*time.Minute + 59*time.Second) - } + endTime = endTime.Add(23*time.Hour + 59*time.Minute + 59*time.Second) query = query.Where("cancel_time BETWEEN ? AND ?", startTime, endTime) } @@ -961,9 +903,7 @@ func (r *OrderInquiryDao) GetOrderInquiryExportListSearch(req requests.OrderInqu startTime, _ := time.Parse("2006-01-02", createdAt[0]) endTime, _ := time.Parse("2006-01-02", createdAt[1]) - if startTime == endTime { - endTime = endTime.Add(23*time.Hour + 59*time.Minute + 59*time.Second) - } + endTime = endTime.Add(23*time.Hour + 59*time.Minute + 59*time.Second) query = query.Where("created_at BETWEEN ? AND ?", startTime, endTime) } From ae2419e37596192bcfeb7de8bfe18b365907d860 Mon Sep 17 00:00:00 2001 From: wucongxing8150 <815046773@qq.com> Date: Mon, 14 Oct 2024 13:17:28 +0800 Subject: [PATCH 10/17] =?UTF-8?q?=E4=BF=AE=E6=94=B9token=E5=88=A4=E6=96=AD?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- api/middlewares/auth.go | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/api/middlewares/auth.go b/api/middlewares/auth.go index d6b7b49..8fe0fac 100644 --- a/api/middlewares/auth.go +++ b/api/middlewares/auth.go @@ -56,6 +56,18 @@ func Auth() gin.HandlerFunc { return } + if adminUser.IsDisabled == 1 { + responses.FailWithMessage("用户已禁用", c) + c.Abort() + return + } + + if adminUser.IsDeleted == 1 { + responses.FailWithMessage("用户错误", c) + c.Abort() + return + } + // 获取角色数据 adminRoleDao := dao.AdminRoleDao{} adminRole, err := adminRoleDao.GetAdminRoleFirstById(roleId) From 6d3968b1ace9e4fc379d50b5cc77f8c9eef8fb2c Mon Sep 17 00:00:00 2001 From: wucongxing8150 <815046773@qq.com> Date: Wed, 16 Oct 2024 13:47:58 +0800 Subject: [PATCH 11/17] =?UTF-8?q?=E6=9D=83=E9=99=90=E7=8A=B6=E6=80=81?= =?UTF-8?q?=E7=A0=81=E6=9B=B4=E6=94=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- api/middlewares/auth.go | 66 ++++++++++++++++++++++++++++++++++------- 1 file changed, 55 insertions(+), 11 deletions(-) diff --git a/api/middlewares/auth.go b/api/middlewares/auth.go index 8fe0fac..ddcecfe 100644 --- a/api/middlewares/auth.go +++ b/api/middlewares/auth.go @@ -33,31 +33,51 @@ func Auth() gin.HandlerFunc { adminUserDao := dao.AdminUserDao{} adminUser, err := adminUserDao.GetAdminUserFirstById(userId) if err != nil || adminUser == nil { - responses.FailWithMessage("用户数据错误", c) + c.JSON(http.StatusUnauthorized, gin.H{ + "message": "用户数据错误", + "code": consts.UserStatusError, + "data": "", + }) c.Abort() return } if adminUser.Status == 2 { - responses.FailWithMessage("用户审核中", c) + c.JSON(http.StatusUnauthorized, gin.H{ + "message": "用户审核中", + "code": consts.UserStatusError, + "data": "", + }) c.Abort() return } if adminUser.Status == 3 { - responses.FailWithMessage("用户已删除或禁用", c) + c.JSON(http.StatusUnauthorized, gin.H{ + "message": "用户已删除或禁用", + "code": consts.UserStatusError, + "data": "", + }) c.Abort() return } if adminUser.RoleID == 0 { - responses.FailWithMessage("用户角色错误", c) + c.JSON(http.StatusUnauthorized, gin.H{ + "message": "用户角色错误", + "code": consts.UserStatusError, + "data": "", + }) c.Abort() return } if adminUser.IsDisabled == 1 { - responses.FailWithMessage("用户已禁用", c) + c.JSON(http.StatusUnauthorized, gin.H{ + "message": "用户已禁用", + "code": consts.UserStatusError, + "data": "", + }) c.Abort() return } @@ -72,14 +92,22 @@ func Auth() gin.HandlerFunc { adminRoleDao := dao.AdminRoleDao{} adminRole, err := adminRoleDao.GetAdminRoleFirstById(roleId) if err != nil || adminRole == nil { - responses.FailWithMessage("角色错误", c) + c.JSON(http.StatusUnauthorized, gin.H{ + "message": "角色错误", + "code": consts.UserStatusError, + "data": "", + }) c.Abort() return } // 检测角色是否已被禁用 if adminRole.RoleStatus == 2 { - responses.FailWithMessage("角色已被禁用", c) + c.JSON(http.StatusUnauthorized, gin.H{ + "message": "角色已被禁用", + "code": consts.UserStatusError, + "data": "", + }) c.Abort() return } @@ -95,13 +123,21 @@ func Auth() gin.HandlerFunc { adminDeptDao := dao.AdminDeptDao{} adminDept, err := adminDeptDao.GetAdminDeptById(adminUser.DeptID) if err != nil || adminDept == nil { - responses.FailWithMessage("用户部门数据错误", c) + c.JSON(http.StatusUnauthorized, gin.H{ + "message": "用户部门数据错误", + "code": consts.UserStatusError, + "data": "", + }) c.Abort() return } if adminDept.DeptStatus == 2 { - responses.FailWithMessage("您所在的部门已被删除,请联系管理员修改", c) + c.JSON(http.StatusUnauthorized, gin.H{ + "message": "您所在的部门已被删除,请联系管理员修改", + "code": consts.UserStatusError, + "data": "", + }) c.Abort() return } @@ -112,13 +148,21 @@ func Auth() gin.HandlerFunc { adminPostDao := dao.AdminPostDao{} adminPost, err := adminPostDao.GetAdminPostById(adminUser.PostID) if err != nil || adminPost == nil { - responses.FailWithMessage("用户岗位数据错误", c) + c.JSON(http.StatusUnauthorized, gin.H{ + "message": "用户岗位数据错误", + "code": consts.UserStatusError, + "data": "", + }) c.Abort() return } if adminPost.PostStatus == 2 { - responses.FailWithMessage("您所在的岗位已被删除,请联系管理员修改", c) + c.JSON(http.StatusUnauthorized, gin.H{ + "message": "您所在的岗位已被删除,请联系管理员修改", + "code": consts.UserStatusError, + "data": "", + }) c.Abort() return } From 4faa16a7ccc6665f401bcf79dbe48a6768a8ddb6 Mon Sep 17 00:00:00 2001 From: wucongxing8150 <815046773@qq.com> Date: Fri, 25 Oct 2024 13:41:04 +0800 Subject: [PATCH 12/17] 111 --- api/dto/Product.go | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/api/dto/Product.go b/api/dto/Product.go index 0443e60..3b31d18 100644 --- a/api/dto/Product.go +++ b/api/dto/Product.go @@ -78,7 +78,7 @@ func GetProductListDto(m []*model.Product) []*ProductDto { IsDelete: v.IsDelete, PrescriptionNum: v.PrescriptionNum, ProductName: v.ProductName, - CommonName: v.ProductName, + CommonName: v.CommonName, ProductPrice: v.ProductPrice, MnemonicCode: v.MnemonicCode, ProductType: v.ProductType, From be6f077f1b881c18760402c47f6db327bd7e0c26 Mon Sep 17 00:00:00 2001 From: wucongxing8150 <815046773@qq.com> Date: Fri, 25 Oct 2024 14:23:02 +0800 Subject: [PATCH 13/17] 333 --- api/dao/product.go | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/api/dao/product.go b/api/dao/product.go index 2b7bbce..eac9694 100644 --- a/api/dao/product.go +++ b/api/dao/product.go @@ -340,6 +340,10 @@ func (r *ProductDao) GetProductListSearch(req requests.GetProductList) (m []*mod query = query.Order("gdxz_product.created_at desc") + if req.Limit == 0 { + req.Limit = 20 + } + err = query.Limit(req.Limit).Find(&m).Error if err != nil { return nil, err From da3f8ef6b5ebfda50d71ff346490ea847e6025d3 Mon Sep 17 00:00:00 2001 From: wucongxing8150 <815046773@qq.com> Date: Fri, 25 Oct 2024 14:24:27 +0800 Subject: [PATCH 14/17] 34444 --- api/dao/productPlatform.go | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/api/dao/productPlatform.go b/api/dao/productPlatform.go index 97d6366..bc9719b 100644 --- a/api/dao/productPlatform.go +++ b/api/dao/productPlatform.go @@ -153,7 +153,7 @@ func (r *ProductPlatformDao) GetPlatformProductListSearch(req requests.GetPlatfo // 排序 query = query.Order("created_at desc") - err = query.Scopes(model.Paginate(1, 10)).Find(&m).Error + err = query.Scopes(model.Paginate(1, 20)).Find(&m).Error if err != nil { return nil, err } From fadc95d092cfe038c2f1bccc0c1f86a091645fed Mon Sep 17 00:00:00 2001 From: wucongxing8150 <815046773@qq.com> Date: Mon, 4 Nov 2024 15:55:00 +0800 Subject: [PATCH 15/17] =?UTF-8?q?=E5=A2=9E=E5=8A=A0=E4=BA=86=E7=BB=AD?= =?UTF-8?q?=E7=BA=A6=E4=BA=91=E8=AF=81=E4=B9=A6=E8=BF=87=E6=9C=9F=E6=97=B6?= =?UTF-8?q?=E9=97=B4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- api/service/UserCaCert.go | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) diff --git a/api/service/UserCaCert.go b/api/service/UserCaCert.go index 272ae0e..1e1d667 100644 --- a/api/service/UserCaCert.go +++ b/api/service/UserCaCert.go @@ -355,11 +355,19 @@ func (r *UserCaCertService) RenewUserCloudCert(tx *gorm.DB, userId int64) (bool, return false, errors.New(err.Error()) } + // 到期时间-测试:180,正式:365 + CertExpireTime := model.LocalTime(time.Now().AddDate(0, 0, 180)) + if config.C.Env == "prod" { + CertExpireTime = model.LocalTime(time.Now().AddDate(0, 0, 365)) + } + // 修改ca监管证书表 data := make(map[string]interface{}) data["cert_base64"] = cloudCertResponse.CertBase64 data["cert_chain_p7"] = cloudCertResponse.CertP7 data["cert_serial_number"] = cloudCertResponse.CertSerialnumber + data["cert_application_time"] = model.LocalTime(time.Now()) + data["cert_expire_time"] = CertExpireTime err = userCaCertDao.EditUserCaCertById(tx, userCaCert.CertId, data) if err != nil { return false, errors.New("审核失败") @@ -410,11 +418,19 @@ func (r *UserCaCertService) RenewHospitalCloudCert(tx *gorm.DB) (bool, error) { return false, errors.New(err.Error()) } + // 到期时间-测试:180,正式:365 + CertExpireTime := model.LocalTime(time.Now().AddDate(0, 0, 180)) + if config.C.Env == "prod" { + CertExpireTime = model.LocalTime(time.Now().AddDate(0, 0, 365)) + } + // 修改ca监管证书表 data := make(map[string]interface{}) data["cert_base64"] = cloudCertResponse.CertBase64 data["cert_chain_p7"] = cloudCertResponse.CertP7 data["cert_serial_number"] = cloudCertResponse.CertSerialnumber + data["cert_application_time"] = model.LocalTime(time.Now()) + data["cert_expire_time"] = CertExpireTime err = userCaCertDao.EditUserCaCertById(tx, userCaCert.CertId, data) if err != nil { return false, errors.New("更新失败") From 74b56105143d6928117d330828fa4af93403e692 Mon Sep 17 00:00:00 2001 From: haomingming Date: Sun, 4 Jan 2026 10:06:02 +0800 Subject: [PATCH 16/17] =?UTF-8?q?=E4=B8=B4=E6=97=B6bug=20=E4=B8=8A?= =?UTF-8?q?=E6=8A=A5=E5=A4=84=E6=96=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- extend/prescription/prescription.go | 74 +++++++++++++++++++++++++---- 1 file changed, 65 insertions(+), 9 deletions(-) diff --git a/extend/prescription/prescription.go b/extend/prescription/prescription.go index 4a2b1a1..415bc91 100644 --- a/extend/prescription/prescription.go +++ b/extend/prescription/prescription.go @@ -127,6 +127,35 @@ type reportPreResponse struct { ResultDesc string `json:"resultDesc"` // 描述 } +// UnmarshalJSON 自定义反序列化,处理 resultCode 可能是数字或字符串的情况 +func (r *reportPreResponse) UnmarshalJSON(data []byte) error { + // 使用临时结构体来处理可能的不同类型 + var temp struct { + ResultCode interface{} `json:"resultCode"` + ResultDesc string `json:"resultDesc"` + } + + if err := json.Unmarshal(data, &temp); err != nil { + return err + } + + // 处理 ResultCode,可能是数字或字符串 + switch v := temp.ResultCode.(type) { + case float64: + // 如果是数字,转换为字符串 + r.ResultCode = fmt.Sprintf("%.0f", v) + case int: + r.ResultCode = fmt.Sprintf("%d", v) + case string: + r.ResultCode = v + default: + r.ResultCode = fmt.Sprintf("%v", v) + } + + r.ResultDesc = temp.ResultDesc + return nil +} + // 获取商品库存返回数据 type getProdStockResponse struct { ResultCode string `json:"resultCode"` // 操作编码 @@ -289,20 +318,25 @@ func NoticePreOrderCancel(orderNo string) (bool, error) { func (r ReportPreRequest) ReportPre() (bool, error) { jsonData, err := json.Marshal(r) if err != nil { + utils.LogJsonErr("上报处方平台-序列化请求参数失败", err) return false, err } - utils.LogJsonInfo("上报处方平台:", jsonData) - // 准备请求体 requestBody := bytes.NewBuffer(jsonData) // 设置请求 URL url := config.C.Pre.PrePlatAppUrl + "v1/preOrder/receivePreOrder" + // 打印请求信息 + utils.LogJsonInfo("上报处方平台-请求URL", url) + utils.LogJsonInfo("上报处方平台-请求参数", r) + utils.LogJsonInfo("上报处方平台-请求体", requestBody.String()) + // 创建 POST 请求 req, err := http.NewRequest("POST", url, requestBody) if err != nil { + utils.LogJsonErr("上报处方平台-创建请求失败", err) return false, err } @@ -311,8 +345,10 @@ func (r ReportPreRequest) ReportPre() (bool, error) { token, _ := global.Redis.Get(context.Background(), "prescription_token").Result() if token == "" { + utils.LogJsonInfo("上报处方平台-缓存中无token,重新获取", nil) token, err = GetToken() if err != nil { + utils.LogJsonErr("上报处方平台-获取token失败", err) return false, err } } @@ -323,6 +359,7 @@ func (r ReportPreRequest) ReportPre() (bool, error) { client := &http.Client{} resp, err := client.Do(req) if err != nil { + utils.LogJsonErr("上报处方平台-发送请求失败", err) return false, err } @@ -330,24 +367,43 @@ func (r ReportPreRequest) ReportPre() (bool, error) { _ = Body.Close() }(resp.Body) - // 检查响应状态码 - if resp.StatusCode != 200 { - return false, errors.New("返回数据错误") - } - - var response reportPreResponse - err = json.NewDecoder(resp.Body).Decode(&response) + // 读取响应体原始内容(用于日志) + responseBodyBytes, err := io.ReadAll(resp.Body) if err != nil { + utils.LogJsonErr("上报处方平台-读取响应体失败", err) return false, err } + // 打印响应状态码和原始响应内容 + utils.LogJsonInfo("上报处方平台-响应状态码", fmt.Sprintf("statusCode: %d", resp.StatusCode)) + utils.LogJsonInfo("上报处方平台-响应体原始内容", string(responseBodyBytes)) + + // 检查响应状态码 + if resp.StatusCode != 200 { + utils.LogJsonErr("上报处方平台-响应状态码错误", fmt.Sprintf("statusCode: %d, responseBody: %s", resp.StatusCode, string(responseBodyBytes))) + return false, errors.New("返回数据错误") + } + + // 解析响应数据 + var response reportPreResponse + err = json.Unmarshal(responseBodyBytes, &response) + if err != nil { + utils.LogJsonErr("上报处方平台-解析响应数据失败", fmt.Sprintf("error: %v, responseBody: %s", err, string(responseBodyBytes))) + return false, err + } + + // 打印解析后的响应数据 + utils.LogJsonInfo("上报处方平台-解析后的响应数据", response) + if response.ResultCode != "1000" { + utils.LogJsonErr("上报处方平台-业务处理失败", response) if response.ResultDesc != "" { return false, errors.New(response.ResultDesc) } return false, errors.New("上报处方平台失败") } + utils.LogJsonInfo("上报处方平台-成功", response) return true, nil } From 1b33c1f2411a68fa8fc553639775036ac519c680 Mon Sep 17 00:00:00 2001 From: haomingming Date: Sun, 4 Jan 2026 10:26:29 +0800 Subject: [PATCH 17/17] =?UTF-8?q?=E4=B8=B4=E6=97=B6bug=20=E4=B8=8A?= =?UTF-8?q?=E6=8A=A5=E5=A4=84=E6=96=B9=E5=B9=B3=E5=8F=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- api/service/order.go | 3 ++- config.yaml | 1 + config/pre.go | 1 + 3 files changed, 4 insertions(+), 1 deletion(-) diff --git a/api/service/order.go b/api/service/order.go index c2b0a6f..8f96b21 100644 --- a/api/service/order.go +++ b/api/service/order.go @@ -4,6 +4,7 @@ import ( "errors" "fmt" "gorm.io/gorm" + "hospital-admin-api/config" "hospital-admin-api/api/dao" "hospital-admin-api/api/model" "hospital-admin-api/extend/aliyun" @@ -248,7 +249,7 @@ func (r *OrderService) ReportPreProduct(orderProductId, adminUserId int64) (bool // 处理上传数据-基础数据 ReportPreRequest := prescription.ReportPreRequest{ - TerminalCode: "ZD-10003", + TerminalCode: config.C.Pre.PrePlatTerminalCode, OrderNo: orderProduct.OrderProductNo, // 订单编号 TransactNo: orderProduct.EscrowTradeNo, // 流水单号 PayDate: time.Time(orderProduct.PayTime).Format("2006-01-02 15:04:05"), // 支付时间 diff --git a/config.yaml b/config.yaml index 869aec6..6a826b8 100644 --- a/config.yaml +++ b/config.yaml @@ -110,6 +110,7 @@ pre: pre-plat-client-secret: 4sdjas2387sjdasjhdas289 pre-plat-app-url: http://cf-thirdapi-test.yctang.net/api/thridapi/ pre-plat-pharmacy-code: ZD-10198 + pre-plat-terminal-code: ZD-10199 # [rabbitMq] amqp: diff --git a/config/pre.go b/config/pre.go index 9a048e0..cffd1c7 100644 --- a/config/pre.go +++ b/config/pre.go @@ -5,4 +5,5 @@ type Pre struct { PrePlatClientSecret string `mapstructure:"pre-plat-client-secret" json:"pre-plat-client-secret" yaml:"pre-plat-client-secret"` PrePlatAppUrl string `mapstructure:"pre-plat-app-url" json:"pre-plat-app-url" yaml:"pre-plat-app-url"` PrePlatPharmacyCode string `mapstructure:"pre-plat-pharmacy-code" json:"pre-plat-pharmacy-code" yaml:"pre-plat-pharmacy-code"` + PrePlatTerminalCode string `mapstructure:"pre-plat-terminal-code" json:"pre-plat-terminal-code" yaml:"pre-plat-terminal-code"` }