| 
									
										
										
										
											2023-06-25 11:28:37 +08:00
										 |  |  |  | package handler | 
					
						
							|  |  |  |  | 
 | 
					
						
							|  |  |  |  | import ( | 
					
						
							|  |  |  |  | 	"errors" | 
					
						
							|  |  |  |  | 	"net/http" | 
					
						
							|  |  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2023-06-25 12:16:01 +08:00
										 |  |  |  | 	"fusenapi/utils/basic" | 
					
						
							| 
									
										
										
										
											2023-06-25 11:28:37 +08:00
										 |  |  |  | 	"github.com/zeromicro/go-zero/core/logx" | 
					
						
							|  |  |  |  | 	"github.com/zeromicro/go-zero/rest/httpx" | 
					
						
							|  |  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2023-06-25 14:11:47 +08:00
										 |  |  |  | 	"fusenapi/server/product-template/internal/logic" | 
					
						
							|  |  |  |  | 	"fusenapi/server/product-template/internal/svc" | 
					
						
							|  |  |  |  | 	"fusenapi/server/product-template/internal/types" | 
					
						
							| 
									
										
										
										
											2023-06-25 11:28:37 +08:00
										 |  |  |  | ) | 
					
						
							|  |  |  |  | 
 | 
					
						
							|  |  |  |  | func UpdateTemplateHandler(svcCtx *svc.ServiceContext) http.HandlerFunc { | 
					
						
							|  |  |  |  | 	return func(w http.ResponseWriter, r *http.Request) { | 
					
						
							|  |  |  |  | 		var req types.UpdateTemplateReq | 
					
						
							|  |  |  |  | 		// 如果端点有请求结构体,则使用httpx.Parse方法从HTTP请求体中解析请求数据 | 
					
						
							|  |  |  |  | 		if err := httpx.Parse(r, &req); err != nil { | 
					
						
							|  |  |  |  | 			httpx.OkJsonCtx(r.Context(), w, &basic.Response{ | 
					
						
							|  |  |  |  | 				Code:    510, | 
					
						
							|  |  |  |  | 				Message: "parameter error", | 
					
						
							|  |  |  |  | 			}) | 
					
						
							|  |  |  |  | 			logx.Info(err) | 
					
						
							|  |  |  |  | 			return | 
					
						
							|  |  |  |  | 		} | 
					
						
							|  |  |  |  | 		// 创建一个业务逻辑层实例 | 
					
						
							|  |  |  |  | 		l := logic.NewUpdateTemplateLogic(r.Context(), svcCtx) | 
					
						
							|  |  |  |  | 		resp := l.UpdateTemplate(&req, r) | 
					
						
							|  |  |  |  | 		// 如果响应不为nil,则使用httpx.OkJsonCtx方法返回JSON响应; | 
					
						
							|  |  |  |  | 		if resp != nil { | 
					
						
							|  |  |  |  | 			httpx.OkJsonCtx(r.Context(), w, resp) | 
					
						
							|  |  |  |  | 		} else { | 
					
						
							|  |  |  |  | 			err := errors.New("server logic is error, resp must not be nil") | 
					
						
							|  |  |  |  | 			httpx.ErrorCtx(r.Context(), w, err) | 
					
						
							|  |  |  |  | 			logx.Error(err) | 
					
						
							|  |  |  |  | 		} | 
					
						
							|  |  |  |  | 	} | 
					
						
							|  |  |  |  | } |