<%@ CodeTemplate Language="C#" ClassName="Go_APICrtl" TargetLanguage="C#" Debug="False" Description="" %> <%@ Property Name="databaseName" Type="System.String" Default="TqAd" Optional="True" Category="Context" Description="" %> <%@ Property Name="databaseProjectName" Type="System.String" Default="SpSampleDb" Optional="True" Category="Context" Description="" %> <%@ Property Name="nameSpace" Type="System.String" Default="Ctrl" Optional="True" Category="Context" Description="" %> <% DbEntity db = Template.GetDataBase(databaseProjectName); foreach(Table tb in db.Tables) { OpenResponse(databaseProjectName+"\\GoApiCtrl\\"+tb.ModuleName+"\\"+tb.PropertyName.ToLower()+"ctrl.go"); string pkParmList = ""; foreach(Field fd in tb.Fields) { if(fd.IsPK == true) pkParmList += fd.DataType.DotNetType+" "+fd.MemberName+","; } pkParmList = pkParmList.Trim(','); %> /*******************************************************/ /*Project: Module : Description : Date : <%=DateTime.Now.ToString()%> Create : Lxc Update : TODO : */ /*******************************************************/ package controllers import ( //"encoding/json" //"hm/eclibs/formatcom" "hm/carapi/apiservice/dtos" "hm/carapi/apiservice/pubdata" //"hm/carapi/models" "hm/carapi/models/<%=tb.ModuleName.ToLower()%>" "hm/eclibs/logger" "net/http" ) // Operations about <%=tb.PropertyName%> type <%=tb.PropertyName%>Ctrl struct { BaseController } // @Title Query // @Description get all <%=tb.MemberName%> // @Success 200 {object} models.<%=tb.MemberName%> // @router / [get] func (c *<%=tb.PropertyName%>Ctrl) Query(w http.ResponseWriter, r *http.Request) { resultDto := new(dtos.ResultDto) method := c.RequestString(r, "method") logger.Debug("method=" + method) <%=tb.MemberName.ToLower()%>Model := new(<%=tb.MemberName.ToLower()%>.<%=tb.PropertyName%>) where := "" if method == "all" { <%=tb.MemberName%>List, _ := <%=tb.MemberName.ToLower()%>Model.WashSiteArr(where) resultDto.Rows = <%=tb.MemberName%>List } else if method == "<%=tb.MemberName%>" { where = "" <%=tb.MemberName%>List, _ := <%=tb.MemberName.ToLower()%>Model.WashSiteArr(where) resultDto.Rows = <%=tb.MemberName%>List } else { resultDto.Result = "error" resultDto.Message = "??" resultDto.Resutcode = "err:<%=tb.MemberName%>_Q_002" } c.WriteJson(w, r, resultDto) } // @Title create<%=tb.PropertyName%> // @Description create <%=tb.PropertyName%> // @Param body body models.<%=tb.PropertyName%> true "body for <%=tb.PropertyName%> content" // @Success 200 {int} models.<%=tb.PropertyName%>.Id // @Failure 403 body is empty // @router / [post] func (c *<%=tb.PropertyName%>Ctrl) Post(w http.ResponseWriter, r *http.Request) { resultDto := new(dtos.ResultDto) <%=tb.MemberName.ToLower()%>Model := new(<%=tb.ModuleName.ToLower()%>.<%=tb.PropertyName%>) ok := <%=tb.MemberName.ToLower()%>Model.Add() if ok { resultDto.Result = pubdata.Success } else { resultDto.Result = pubdata.Error } c.WriteJson(w, r, resultDto) } // @Title Get // @Description get <%=tb.PropertyName%> by uid // @Param uid path string true "The key for staticblock" // @Success 200 {object} models.<%=tb.MemberName%> // @Failure 403 :uid is empty // @router /:uid [get] func (c *<%=tb.PropertyName%>Ctrl) Get(w http.ResponseWriter, r *http.Request) { resultDto := new(dtos.ResultDto) uid := c.RequestString(r, ":uid") logger.Debug(uid) if uid != "" { <%=tb.MemberName.ToLower()%>Dal:= new(<%=tb.ModuleName.ToLower()%>.<%=tb.PropertyName%>) <%=tb.MemberName.ToLower()%> := <%=tb.MemberName.ToLower()%>Dal.GetModel(uid) if washsite != nil { resultDto.Obj = <%=tb.MemberName.ToLower()%> } else { logger.Error("<%=tb.MemberName.ToLower()%>") } } c.WriteJson(w, r, resultDto) } // @Title update // @Description update the user // @Param uid path string true "The uid you want to update" // @Param body body models.User true "body for user content" // @Success 200 {object} models.User // @Failure 403 :uid is not int // @router /:uid [put] func (c *<%=tb.PropertyName%>Ctrl) Put(w http.ResponseWriter, r *http.Request) { resultDto := new(dtos.ResultDto) <%=tb.MemberName.ToLower()%>Model := new(<%=tb.ModuleName.ToLower()%>.<%=tb.PropertyName%>) ok := <%=tb.MemberName.ToLower()%>Model.Update() if ok { resultDto.Result = pubdata.Success } else { resultDto.Result = pubdata.Error } c.WriteJson(w, r, resultDto) } // @Title delete // @Description delete the <%=tb.MemberName%> // @Param uid path string true "The uid you want to delete" // @Success 200 {string} delete success! // @Failure 403 uid is empty // @router /:uid [delete] func (c *<%=tb.PropertyName%>Ctrl) Delete(w http.ResponseWriter, r *http.Request) { resultDto := new(dtos.ResultDto) uid := c.RequestInt(r,":uid") logger.Debug(uid) <%=tb.PropertyName.ToLower()%>Model := new(<%=tb.ModuleName.ToLower()%>.<%=tb.PropertyName%>) <%=tb.PropertyName.ToLower()%>Model.Id=uid; <%=tb.PropertyName.ToLower()%>Model.Delete() c.WriteJson(w, r, resultDto) } <% CloseResponse(); } %>