123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146 |
- package admin
- import (
- "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 导出excel
- func (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)
- }
|