You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
|
|
package couponusers
import ( "CouponBackendGo/api/v1/couponusers" "CouponBackendGo/internal/model/dto" "CouponBackendGo/internal/service" "github.com/gogf/gf/v2/net/ghttp" "mime/multipart" )
type CouponUsers struct{}
func NewCouponUsers() *CouponUsers { return &CouponUsers{} }
func (c *CouponUsers) GetCouponUsers(r *ghttp.Request) { var req *couponusers.GetCouponUsersReq if err := r.Parse(&req); err != nil { r.Response.WriteJsonExit(dto.Error(err.Error())) } result, err := service.CouponUsers().GetCouponUsersByCondition(r.Context(), req.CouponId, req.Jwcode, req.Name) if err != nil { r.Response.WriteJsonExit(dto.Error(err.Error())) } if result == nil { r.Response.WriteJsonExit(dto.Error("没有符合条件的用户")) } r.Response.WriteJsonExit(dto.SuccessWithData(result))
}
func (c *CouponUsers) DeleteCouponUserByJwcode(r *ghttp.Request) { var req *couponusers.DelCouponUserByJwcodeReq if err := r.Parse(&req); err != nil { r.Response.WriteJsonExit(dto.Error(err.Error())) } result, err := service.CouponUsers().DeleteCouponUserByJwcode(r.Context(), req.CouponId, req.Jwcode) if err != nil { r.Response.WriteJsonExit(dto.Error(err.Error())) } affected, err := result.RowsAffected() if affected == 0 { r.Response.WriteJsonExit(dto.Error("删除失败,删除了0条")) } r.Response.WriteJsonExit(dto.SuccessWithMsg("删除成功")) //r.Response.WriteJsonExit(dto.SuccessWithData(result))
}
// 待测试
// 接受前端传来的excel表格,并解析,返回jwcode切片,可以有重复的,在插入时进行验证,如果有重复的,只插入一次
func (c *CouponUsers) InsertJwcodeByExcel(r *ghttp.Request) {
// 从请求中获取文件
file, _, err := r.FormFile("excelFile") if err != nil { r.Response.WriteJsonExit(dto.Error(err.Error())) } // 关闭文件
defer func(file multipart.File) { err := file.Close() if err != nil { // 处理关闭文件时的错误
r.Response.WriteJsonExit(dto.Error("关闭文件失败")) } }(file)
//参数校验,检查文件是否为空
if file == nil { r.Response.WriteJsonExit(dto.Error("文件为空")) }
jwcodes, err := service.CouponUsers().InsertJwcodeByExcel(file) if err != nil { r.Response.WriteJsonExit(dto.Error(err.Error())) } r.Response.WriteJsonExit(dto.SuccessWithData(jwcodes)) }
|