【新增】资源管理模块

This commit is contained in:
PandaGoAdmin
2022-01-14 17:37:01 +08:00
parent 9094780f40
commit 6b060d54aa
22 changed files with 619 additions and 36 deletions

157
apps/resource/api/email.go Normal file
View File

@@ -0,0 +1,157 @@
package api
import (
"pandax/apps/resource/api/from"
"pandax/apps/resource/entity"
"pandax/apps/resource/services"
"pandax/base/biz"
"pandax/base/ctx"
"pandax/base/ginx"
email "pandax/base/mail"
"pandax/base/utils"
)
/**
* @Description 添加qq群467890197 交流学习
* @Author 熊猫
* @Date 2022/1/14 15:23
**/
type ResEmailsApi struct {
ResEmailsApp services.ResEmailsModel
}
// @Summary ResEmails列表数据
// @Tags ResEmails
// @Param pageSize query int false "页条数"
// @Param pageNum query int false "页码"
// @Param status query string false "状态"
// @Param category query string false "分类"
// @Success 200 {string} string "{"code": 200, "data": [...]}"
// @Router /resource/email/list [get]
// @Security
func (p *ResEmailsApi) GetResEmailsList(rc *ctx.ReqCtx) {
pageNum := ginx.QueryInt(rc.GinCtx, "pageNum", 1)
pageSize := ginx.QueryInt(rc.GinCtx, "pageSize", 10)
status := rc.GinCtx.Query("status")
category := rc.GinCtx.Query("category")
data := entity.ResEmail{Status: status, Category: category}
list, total := p.ResEmailsApp.FindListPage(pageNum, pageSize, data)
li := *list
for i, data := range li {
data.From = utils.DdmMail(data.From)
data.Secret = utils.DdmPassword(data.Secret)
li[i] = data
}
rc.ResData = map[string]interface{}{
"data": list,
"total": total,
"pageNum": pageNum,
"pageSize": pageSize,
}
}
// @Summary 获取ResEmails
// @Description 获取JSON
// @Tags ResEmails
// @Param mailId path int true "mailId"
// @Success 200 {string} string "{"code": 200, "data": [...]}"
// @Router /resource/email/{mailId }[get]
// @Security
func (p *ResEmailsApi) GetResEmails(rc *ctx.ReqCtx) {
mailId := ginx.PathParamInt(rc.GinCtx, "mailId")
p.ResEmailsApp.FindOne(int64(mailId))
}
// @Summary 添加ResEmails
// @Description 获取JSON
// @Tags ResEmails
// @Accept application/json
// @Product application/json
// @Param data body entity.ResEmail true "data"
// @Success 200 {string} string "{"code": 200, "message": "添加成功"}"
// @Success 200 {string} string "{"code": 400, "message": "添加失败"}"
// @Router /resource/email [post]
// @Security X-TOKEN
func (p *ResEmailsApi) InsertResEmails(rc *ctx.ReqCtx) {
var data entity.ResEmail
ginx.BindJsonAndValid(rc.GinCtx, &data)
p.ResEmailsApp.Insert(data)
}
// @Summary 修改ResEmails
// @Description 获取JSON
// @Tags ResEmails
// @Accept application/json
// @Product application/json
// @Param data body entity.ResEmail true "body"
// @Success 200 {string} string "{"code": 200, "message": "添加成功"}"
// @Success 200 {string} string "{"code": 400, "message": "添加失败"}"
// @Router /resource/email [put]
// @Security X-TOKEN
func (p *ResEmailsApi) UpdateResEmails(rc *ctx.ReqCtx) {
var data entity.ResEmail
ginx.BindJsonAndValid(rc.GinCtx, &data)
p.ResEmailsApp.Update(data)
}
// @Summary 删除ResEmails
// @Description 删除数据
// @Tags ResEmails
// @Param mailId path string true "mailId"
// @Success 200 {string} string "{"code": 200, "message": "删除成功"}"
// @Success 200 {string} string "{"code": 400, "message": "删除失败"}"
// @Router /resource/email/{mailId } [delete]
func (p *ResEmailsApi) DeleteResEmails(rc *ctx.ReqCtx) {
mailId := rc.GinCtx.Param("mailId")
mailIds := utils.IdsStrToIdsIntGroup(mailId)
p.ResEmailsApp.Delete(mailIds)
}
// @Summary 删除ResEmails
// @Description 获取JSON
// @Tags ResOsses
// @Accept application/json
// @Product application/json
// @Param data body entity.ResEmail true "body"
// @Success 200 {string} string "{"code": 200, "message": "添加成功"}"
// @Success 200 {string} string "{"code": 400, "message": "添加失败"}"
// @Router /resource/oss [put]
// @Security X-TOKEN
func (p *ResEmailsApi) UpdateMailStatus(rc *ctx.ReqCtx) {
var data entity.ResEmail
ginx.BindJsonAndValid(rc.GinCtx, &data)
p.ResEmailsApp.Update(entity.ResEmail{MailId: data.MailId, Status: data.Status})
}
// @Summary 测试发邮件
// @Description 获取JSON
// @Tags ResEmails
// @Accept application/json
// @Product application/json
// @Param data body from.SendMail true "data"
// @Success 200 {string} string "{"code": 200, "message": "添加成功"}"
// @Success 200 {string} string "{"code": 400, "message": "添加失败"}"
// @Router /resource/email/debugMail [post]
// @Security X-TOKEN
func (p *ResEmailsApi) DebugMail(rc *ctx.ReqCtx) {
var data from.SendMail
ginx.BindJsonAndValid(rc.GinCtx, &data)
one := p.ResEmailsApp.FindOne(data.MailId)
ml := email.Mail{
Host: one.Host,
Port: one.Port,
From: one.From,
Nickname: one.Nickname,
Secret: one.Secret,
IsSSL: one.IsSSL,
}
biz.ErrIsNil(ml.Email(data.To, email.TEXTTYPE, data.Subject, data.Body), "邮件发送失败")
}