123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183 |
- package client
- import (
- "ulink-admin/frame"
- "ulink-admin/modules/system/models/model"
- "ulink-admin/modules/system/models/req"
- "ulink-admin/modules/system/models/response"
- "ulink-admin/modules/system/service"
- "ulink-admin/pkg/base"
- "ulink-admin/pkg/excels"
- "ulink-admin/pkg/file"
- "ulink-admin/pkg/page"
- "ulink-admin/utils"
- )
- type AddressApi struct {
- AddressService *service.AddressService `inject:""`
- }
- // List 查询地址管理分页数据
- // @Summary 分页查询地址管理数据接口
- // @Description 分页查询地址管理数据接口
- // @Tags 地址管理相关接口
- // @Accept application/json
- // @Produce application/json
- // @Param Authorization header string false "Bearer 令牌"
- // @Param object query req.AddressQuery false "查询参数"
- // @Security ApiKeyAuth
- // @Success 200 {object} resp.Response{data=page.Page{list=model.Address},msg=string} "分页获取地址管理列表,返回包括列表,总数,页码,每页数量"
- // @Router /address/page [get]
- func (this AddressApi) Page(c *frame.Context) {
- query := &req.AddressQuery{}
- c.ValidteError(c.ShouldBind(query), query)
- list := make([]response.AddressResponse, 0)
- i := this.AddressService.Page(query, &list)
- c.Ok(page.Page{List: list, 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.AddressQuery false "查询参数"
- // @Security ApiKeyAuth
- // @Success 200 {object} resp.Response{data=model.Address,msg=string} "分页获取地址管理列表,返回包括列表,总数,页码,每页数量"
- // @Router /address/list [get]
- func (this AddressApi) List(c *frame.Context) {
- query := &req.AddressQuery{}
- list := make([]response.AddressResponse, 0)
- c.ValidteError(c.ShouldBind(query), query)
- this.AddressService.List(query, &list)
- 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.Address,msg=string} "返回地址管理详情查询"
- // @Router /address [get]
- func (this AddressApi) 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.AddressService.Get(req.Id))
- }
- // Add 新增地址管理
- // @Summary 新增地址管理接口
- // @Description 新增地址管理接口
- // @Tags 地址管理相关接口
- // @Accept application/json
- // @Produce application/json
- // @Param Authorization header string false "Bearer 令牌"
- // @Param data body model.Address true "地址管理实体对象"
- // @Success 200 {object} resp.Response{msg=string} "操作状态"
- // @Router /address/add [post]
- func (this AddressApi) Add(c *frame.Context) {
- var addressReq struct {
- Id int64 `json:"id"` //主键Id
- MemberId int64 `json:"memberId"` //用户id
- Name string `json:"name" binding:"required"` //收货人姓名
- Phone string `json:"phone" ` //收货人电话
- Province string `json:"province" ` //收货人所在省
- City string `json:"city" ` //收货人所在市
- AreaCode string `json:"areaCode" ` //城市编码
- District string `json:"district" ` //收货人所在区
- Detail string `json:"detail" ` //收货人详细地址
- /* PostCode string `json:"postCode" binding:"required"` //邮编*/
- Longitude string `json:"longitude" ` //经度
- Latitude string `json:"latitude" ` //纬度
- IsDefault int `json:"isDefault" binding:"required,oneof=1 2 "` //是否默认(1是 2否)
- }
- address := &model.Address{}
- c.ValidteError(c.ShouldBind(&addressReq), addressReq)
- utils.CopyFields(address, addressReq)
- address.MemberId = base.GetCurUser().Id
- if address.Id > 0 {
- this.AddressService.Edit(address, append(c.Cols(), "member_id"))
- } else {
- this.AddressService.Insert(address)
- }
- }
- // Add 新增地址管理
- // @Summary 新增地址管理接口
- // @Description 新增地址管理接口
- // @Tags 地址管理相关接口
- // @Accept application/json
- // @Produce application/json
- // @Param Authorization header string false "Bearer 令牌"
- // @Param data body model.Address true "地址管理实体对象"
- // @Success 200 {object} resp.Response{msg=string} "操作状态"
- // @Router /address/default [put]
- func (this AddressApi) SetDefault(c *frame.Context) {
- var addressReq struct {
- Id int64 `json:"id" binding:"required"` //主键Id
- }
- address := &model.Address{}
- c.ValidteError(c.ShouldBind(&addressReq), addressReq)
- utils.CopyFields(address, addressReq)
- address.IsDefault = 1
- address.MemberId = base.GetCurUser().Id
- this.AddressService.Edit(address, append(c.Cols(), "member_id", "is_default"))
- }
- // Edit 修改地址管理数据接口
- // @Summary 修改地址管理接口
- // @Description 新增地址管理接口
- // @Tags 地址管理相关接口
- // @Accept application/json
- // @Produce application/json
- // @Param Authorization header string false "Bearer 令牌"
- // @Param data body model.Address true "地址管理实体对象"
- // @Success 200 {object} resp.Response{msg=string} "操作状态"
- // @Router /address/edit [put]
- func (this AddressApi) Edit(c *frame.Context) {
- params, address := &req.AddressEdit{}, &model.Address{}
- c.ValidteError(c.ShouldBind(params), params)
- utils.CopyFields(address, params)
- this.AddressService.Edit(address, 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 /address [delete]
- func (a AddressApi) Delete(c *frame.Context) {
- var req struct {
- Ids []int64 `form:"ids" binding:"required" msg:"ids不存在"` //ids
- }
- c.ValidteError(c.ShouldBind(&req), &req)
- a.AddressService.Delete(req.Ids)
- }
- // Export 导出excel
- func (this AddressApi) Export(c *frame.Context) {
- query := &req.AddressQuery{}
- list := make([]model.Address, 0)
- c.ValidteError(c.ShouldBind(query), query)
- this.AddressService.List(query, list)
- excelList := make([]interface{}, 0)
- for _, address := range list {
- excelList = append(excelList, address)
- }
- _, files := excels.ExportExcel(excelList, "地址管理数据表")
- file.DownloadExcel(c, files)
- }
|