| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146 | package adminimport (	"ulink-admin/frame"	"ulink-admin/modules/stock/models/model"	"ulink-admin/modules/stock/models/req"	"ulink-admin/modules/stock/service"	"ulink-admin/pkg/excels"	"ulink-admin/pkg/file"	"ulink-admin/pkg/page")type StockApi struct {	stockService       service.StockService	stockDetailService service.StockDetailService}// List 查询大盘走势分页数据// @Summary 分页查询大盘走势数据接口// @Description 分页查询大盘走势数据接口// @Tags 大盘走势相关接口// @Accept application/json// @Produce application/json// @Param Authorization header string false "Bearer 令牌"// @Param object query req.StockQuery false "查询参数"// @Security ApiKeyAuth// @Success 200 {object} resp.Response{data=page.Page{list=model.Stock},msg=string} "分页获取大盘走势列表,返回包括列表,总数,页码,每页数量"// @Router /stock/page [get]func (this StockApi) Page(c *frame.Context) {	query := &req.StockQuery{}	c.ValidteError(c.ShouldBind(query), query)	find, i := this.stockService.Page(query)	for _, stock := range find {		details := make([]*model.StockDetail, 0)		this.stockDetailService.List(&req.StockDetailQuery{StockId: stock.Id}, &details)		stock.Details = details	}	c.Ok(page.Page{List: find, Total: i, Size: query.PageSize})}// List 查询大盘走势所有数据// @Summary 查询全部数据大盘走势数据接口// @Description 查询全部数据大盘走势数据接口// @Tags 大盘走势相关接口// @Accept application/json// @Produce application/json// @Param Authorization header string false "Bearer 令牌"// @Param object query req.StockQuery false "查询参数"// @Security ApiKeyAuth// @Success 200 {object} resp.Response{data=model.Stock,msg=string} "分页获取大盘走势列表,返回包括列表,总数,页码,每页数量"// @Router /stock/list [get]func (this StockApi) List(c *frame.Context) {	query := &req.StockQuery{}	list := make([]*model.Stock, 0)	c.ValidteError(c.ShouldBind(query), query)	this.stockService.List(query, &list)	for _, stock := range list {		details := make([]*model.StockDetail, 0)		this.stockDetailService.List(&req.StockDetailQuery{StockId: stock.Id}, &details)		stock.Details = details	}	c.Ok(list)}// Get 根据大盘走势Id获取详细信息// @Summary 大盘走势详情查询接口// @Description 大盘走势详情查询接口// @Tags 大盘走势相关接口// @Accept application/json// @Produce application/json// @Param Authorization header string false "Bearer 令牌"// @Param id query   int true "id" id// @Security ApiKeyAuth// @Success 200 {object} resp.Response{data=model.Stock,msg=string} "返回大盘走势详情查询"// @Router /stock [get]func (this StockApi) Get(c *frame.Context) {	var req struct {		Id int64 `form:"id" binding:"required"  msg:"id不存在" ` //id	}	c.ValidteError(c.ShouldBind(&req), &req)	c.Ok(this.stockService.Get(req.Id))}// Add 新增大盘走势// @Summary 新增大盘走势接口// @Description 新增大盘走势接口// @Tags 大盘走势相关接口// @Accept application/json// @Produce application/json// @Param Authorization header string false "Bearer 令牌"// @Param  data body model.Stock true "大盘走势实体对象"// @Success 200 {object} resp.Response{msg=string} "操作状态"// @Router /stock/add [post]func (this StockApi) Add(c *frame.Context) {	stock := &model.Stock{}	c.ValidteError(c.ShouldBind(stock), stock)	this.stockService.Insert(stock)}// Edit 修改大盘走势数据接口// @Summary 修改大盘走势接口// @Description 新增大盘走势接口// @Tags 大盘走势相关接口// @Accept application/json// @Produce application/json// @Param Authorization header string false "Bearer 令牌"// @Param  data body model.Stock true "大盘走势实体对象"// @Success 200 {object} resp.Response{msg=string} "操作状态"// @Router /stock/edit [put]func (this StockApi) Edit(c *frame.Context) {	stock := &model.Stock{}	c.ValidteError(c.ShouldBind(stock), stock)	this.stockService.Edit(stock, c.Cols())}// Delete 删除大盘走势数据// @Summary 删除大盘走势接口// @Description 删除大盘走势接口// @Tags 大盘走势相关接口// @Accept application/json// @Produce application/json// @Param Authorization header string false "Bearer 令牌"// @Param id path   int true "id" id// @Success 200 {object} resp.Response{msg=string} "操作状态"// @Router /stock [delete]func (a StockApi) Delete(c *frame.Context) {	var req struct {		Ids []int64 `form:"ids" binding:"required"  msg:"ids不存在"` //ids	}	c.ValidteError(c.ShouldBind(&req), &req)	a.stockService.Delete(req.Ids)}// Export 导出excelfunc (this StockApi) Export(c *frame.Context) {	query := &req.StockQuery{}	list := make([]model.Stock, 0)	c.ValidteError(c.ShouldBind(query), query)	this.stockService.List(query, list)	excelList := make([]interface{}, 0)	for _, stock := range list {		excelList = append(excelList, stock)	}	_, files := excels.ExportExcel(excelList, "大盘走势数据表")	file.DownloadExcel(c, files)}
 |