@@ -0,0 +1,417 @@
|
||||
package ai_changeface_ctrl
|
||||
|
||||
import (
|
||||
"91porn-server/common"
|
||||
"91porn-server/common/constant"
|
||||
"91porn-server/common/log"
|
||||
"91porn-server/common/stderr"
|
||||
"91porn-server/models/l/operatorlgmod"
|
||||
"91porn-server/models/v/aichangefaceimgmod"
|
||||
"91porn-server/models/v/aichangefacemod"
|
||||
"91porn-server/models/v/aichangefacevidmod"
|
||||
"91porn-server/web/service/ai_changeface_img_ser"
|
||||
"91porn-server/web/service/ai_changeface_ser"
|
||||
"encoding/json"
|
||||
"fmt"
|
||||
|
||||
"github.com/gin-gonic/gin"
|
||||
"go.mongodb.org/mongo-driver/bson/primitive"
|
||||
)
|
||||
|
||||
// List doc
|
||||
// @Summary AI换脸订单列表
|
||||
// @Description AI换脸订单列表
|
||||
// @Tags AI视频换脸-WEB
|
||||
// @Accept json
|
||||
// @Produce json
|
||||
// @Param status query int false "记录状态"
|
||||
// @Param pageNumber query int true "第几页"
|
||||
// @Param pageSize query int true "每页数量"
|
||||
// @Success 200 object interface{} "成功后返回"
|
||||
// @Failure 400 {string} json "{"msg": "操作失败"}"
|
||||
// @Router /ai/changeface/list [get]
|
||||
func List(ctx *gin.Context) {
|
||||
manager, err := common.GetAdminAct(ctx)
|
||||
if err != nil {
|
||||
common.ServeJSON(ctx, stderr.AdminIDErr, err.Error())
|
||||
return
|
||||
}
|
||||
var req aichangefacemod.ListRequest
|
||||
if err := ctx.ShouldBind(&req); err != nil {
|
||||
common.ServeJSON(ctx, stderr.ErrParamError, err)
|
||||
return
|
||||
}
|
||||
var id *primitive.ObjectID
|
||||
if req.ID != nil {
|
||||
tmpId, err := primitive.ObjectIDFromHex(*req.ID)
|
||||
if err != nil {
|
||||
common.ServeJSON(ctx, stderr.ErrParamError, err)
|
||||
return
|
||||
}
|
||||
if tmpId.IsZero() {
|
||||
common.ServeJSON(ctx, stderr.ErrParamError, "zero id")
|
||||
return
|
||||
}
|
||||
id = &tmpId
|
||||
}
|
||||
if req.Uid != nil && *req.Uid == 0 {
|
||||
common.ServeJSON(ctx, stderr.ErrParamError, "zero uid")
|
||||
return
|
||||
}
|
||||
|
||||
list, count, hasNext, err := ai_changeface_ser.List(id, &req)
|
||||
if err != nil {
|
||||
log.Error(fmt.Sprintf("ai_changeface_ser web List error%v, manager%v", err.Error(), manager))
|
||||
common.ServeJSON(ctx, stderr.ErrDbQueryError, nil)
|
||||
return
|
||||
}
|
||||
common.ServeJSON(ctx, stderr.Success, gin.H{
|
||||
"list": list,
|
||||
"total": count,
|
||||
"hasNext": hasNext,
|
||||
})
|
||||
}
|
||||
|
||||
// Update doc
|
||||
// @Summary 更新AI换脸记录
|
||||
// @Description 更新AI换脸记录
|
||||
// @Tags AI视频换脸-WEB
|
||||
// @Accept json
|
||||
// @Produce json
|
||||
// @Param id formData string true "AI换脸订单ID"
|
||||
// @Param status formData int false "状态 0 未完成; 1 已完成; -1 已退款"
|
||||
// @Param cover formData string false "换脸后封面大图"
|
||||
// @Param url formData string false "换脸后视频地址"
|
||||
// @Param remark formData string false "拒绝理由"
|
||||
// @Success 200 {string} json "{"msg": "操作成功"}"
|
||||
// @Failure 400 {string} json "{"msg": "操作失败"}"
|
||||
// @Router /ai/changeface/update [post]
|
||||
func Update(ctx *gin.Context) {
|
||||
manager, err := common.GetAdminAct(ctx)
|
||||
if err != nil {
|
||||
common.ServeJSON(ctx, stderr.AdminIDErr, err.Error())
|
||||
return
|
||||
}
|
||||
var req aichangefacemod.EditAiChangeFace
|
||||
if err = ctx.ShouldBind(&req); err != nil {
|
||||
log.Error(fmt.Sprintf("ai changeface Update param err%v\n", err))
|
||||
common.ServeJSON(ctx, stderr.ErrParamError, err)
|
||||
return
|
||||
}
|
||||
if req.ID.IsZero() {
|
||||
common.ServeJSON(ctx, stderr.ErrParamError, err)
|
||||
return
|
||||
}
|
||||
//if code := ai_changeface_ser.Update(manager, &req); code != stderr.Success {
|
||||
if code := ai_changeface_ser.UpdateNew(manager, &req); code != stderr.Success {
|
||||
log.Error(fmt.Sprintf("ai changeface Update err%v", code))
|
||||
common.ServeJSON(ctx, code, code.Error())
|
||||
return
|
||||
}
|
||||
updateLog, _ := json.Marshal(req)
|
||||
_ = operatorlgmod.RecordOperation(manager, constant.AiChangeface, constant.Modify, string(updateLog), ctx.Request.URL.RequestURI())
|
||||
common.ServeJSON(ctx, stderr.Success, stderr.Success.Msg())
|
||||
}
|
||||
|
||||
// ModList doc
|
||||
// @Summary AI换脸视频模版列表
|
||||
// @Description AI换脸视频模版列表
|
||||
// @Tags AI模版模块-WEB
|
||||
// @Accept json
|
||||
// @Produce json
|
||||
// @Param status query int false "记录状态"
|
||||
// @Param pageNumber query int true "第几页"
|
||||
// @Param pageSize query int true "每页数量"
|
||||
// @Success 200 object interface{} "成功后返回"
|
||||
// @Failure 400 {string} json "{"msg": "操作失败"}"
|
||||
// @Router /ai/changeface/mod/list [get]
|
||||
func ModList(ctx *gin.Context) {
|
||||
manager, err := common.GetAdminAct(ctx)
|
||||
if err != nil {
|
||||
common.ServeJSON(ctx, stderr.AdminIDErr, err.Error())
|
||||
return
|
||||
}
|
||||
var req aichangefacevidmod.WebListRequest
|
||||
if err = ctx.ShouldBind(&req); err != nil {
|
||||
common.ServeJSON(ctx, stderr.ErrParamError, err)
|
||||
return
|
||||
}
|
||||
data, code := ai_changeface_ser.ModList(&req)
|
||||
if code != stderr.Success {
|
||||
log.Error(fmt.Sprintf("ai_changeface_ser web List error%v,manager%v", code.Error(), manager))
|
||||
common.ServeJSON(ctx, code, code.Error())
|
||||
return
|
||||
}
|
||||
if err != nil {
|
||||
log.Error(fmt.Sprintf("ai_changeface_ser web List error%v,manager%v", err.Error(), manager))
|
||||
common.ServeJSON(ctx, stderr.ErrDbQueryError, nil)
|
||||
return
|
||||
}
|
||||
common.ServeJSON(ctx, stderr.Success, data)
|
||||
}
|
||||
|
||||
// ModUpdate doc
|
||||
// @Summary AI换脸视频模版编辑
|
||||
// @Description AI换脸视频模版编辑
|
||||
// @Tags AI模版模块-WEB
|
||||
// @Accept json
|
||||
// @Produce json
|
||||
// @Param status query int false "记录状态"
|
||||
// @Param pageNumber query int true "第几页"
|
||||
// @Param pageSize query int true "每页数量"
|
||||
// @Success 200 object interface{} "成功后返回"
|
||||
// @Failure 400 {string} json "{"msg": "操作失败"}"
|
||||
// @Router /ai/changeface/mod/update [post]
|
||||
func ModUpdate(ctx *gin.Context) {
|
||||
manager, err := common.GetAdminAct(ctx)
|
||||
if err != nil {
|
||||
common.ServeJSON(ctx, stderr.AdminIDErr, err.Error())
|
||||
return
|
||||
}
|
||||
var req aichangefacevidmod.EditAiChangeFaceVid
|
||||
if err = ctx.ShouldBind(&req); err != nil {
|
||||
common.ServeJSON(ctx, stderr.ErrParamError, err)
|
||||
return
|
||||
}
|
||||
if req.ID.IsZero() {
|
||||
common.ServeJSON(ctx, stderr.ErrParamError, err)
|
||||
return
|
||||
}
|
||||
if err = ai_changeface_ser.UpdateMod(req); err != nil {
|
||||
common.ServeJSON(ctx, stderr.ErrDbQueryError, nil)
|
||||
return
|
||||
}
|
||||
updateLog, _ := json.Marshal(req)
|
||||
_ = operatorlgmod.RecordOperation(manager, constant.AiChangefaceVidMod, constant.Modify, string(updateLog), ctx.Request.URL.RequestURI())
|
||||
common.ServeJSON(ctx, stderr.Success, nil)
|
||||
}
|
||||
|
||||
// ModAdd doc
|
||||
// @Summary 添加AI换脸视频模版
|
||||
// @Description 添加AI换脸视频模版
|
||||
// @Tags AI模版模块-WEB
|
||||
// @Accept json
|
||||
// @Produce json
|
||||
// @Param status query int false "记录状态"
|
||||
// @Param pageNumber query int true "第几页"
|
||||
// @Param pageSize query int true "每页数量"
|
||||
// @Success 200 object interface{} "成功后返回"
|
||||
// @Failure 400 {string} json "{"msg": "操作失败"}"
|
||||
// @Router /ai/changeface/mod/add [post]
|
||||
func ModAdd(ctx *gin.Context) {
|
||||
manager, err := common.GetAdminAct(ctx)
|
||||
if err != nil {
|
||||
common.ServeJSON(ctx, stderr.AdminIDErr, err.Error())
|
||||
return
|
||||
}
|
||||
var req aichangefacevidmod.AddAiChangeFaceVidReq
|
||||
if err = ctx.ShouldBind(&req); err != nil {
|
||||
common.ServeJSON(ctx, stderr.ErrParamError, err)
|
||||
return
|
||||
}
|
||||
if err = ai_changeface_ser.AddMod(req); err != nil {
|
||||
common.ServeJSON(ctx, stderr.ErrDbQueryError, nil)
|
||||
return
|
||||
}
|
||||
addLog, _ := json.Marshal(req)
|
||||
_ = operatorlgmod.RecordOperation(manager, constant.AiChangefaceVidMod, constant.Add, string(addLog), ctx.Request.URL.RequestURI())
|
||||
common.ServeJSON(ctx, stderr.Success, nil)
|
||||
}
|
||||
|
||||
// GetById doc
|
||||
// @Summary 根据ID获取AI模版
|
||||
// @Description 根据ID获取AI模版
|
||||
// @Tags AI模版模块-WEB
|
||||
// @Accept json
|
||||
// @Produce json
|
||||
// @Param id query string false "模版ID"
|
||||
// @Success 200 object interface{} "成功后返回"
|
||||
// @Failure 400 {string} json "{"msg": "操作失败"}"
|
||||
// @Router /ai/changeface/mod/getById [get]
|
||||
func GetById(ctx *gin.Context) {
|
||||
_, err := common.GetAdminAct(ctx)
|
||||
if err != nil {
|
||||
common.ServeJSON(ctx, stderr.AdminIDErr, err.Error())
|
||||
return
|
||||
}
|
||||
var req struct {
|
||||
ID string `form:"id" json:"id" binding:"required"`
|
||||
}
|
||||
if err = ctx.ShouldBind(&req); err != nil {
|
||||
common.ServeJSON(ctx, stderr.ErrParamError, err)
|
||||
return
|
||||
}
|
||||
modId, err := primitive.ObjectIDFromHex(req.ID)
|
||||
if err != nil || modId.IsZero() {
|
||||
common.ServeJSON(ctx, stderr.ErrParamError, err)
|
||||
return
|
||||
}
|
||||
mod, err := aichangefacevidmod.GetModById(modId)
|
||||
if err != nil {
|
||||
common.ServeJSON(ctx, stderr.ErrDbQueryError, err)
|
||||
return
|
||||
}
|
||||
common.ServeJSON(ctx, stderr.Success, gin.H{
|
||||
"data": mod,
|
||||
})
|
||||
}
|
||||
|
||||
// AIChangeFaceImgList doc
|
||||
// @Summary AI图片换脸列表
|
||||
// @Description AI图片换脸列表
|
||||
// @Tags AI图片换脸-WEB
|
||||
// @Accept json
|
||||
// @Produce json
|
||||
// @Param status query int false "记录状态"
|
||||
// @Param uid query int false "用户id"
|
||||
// @Param id query int false "流水id"
|
||||
// @Param mId query string false "AI模版id"
|
||||
// @Param pageNumber query int true "第几页"
|
||||
// @Param pageSize query int true "每页数量"
|
||||
// @Success 200 object interface{} "成功后返回"
|
||||
// @Failure 400 {string} json "{"msg": "操作失败"}"
|
||||
// @Router /api/web/admin/ai/change_face_img/list [get]
|
||||
func AIChangeFaceImgList(ctx *gin.Context) {
|
||||
manager, err := common.GetAdminAct(ctx)
|
||||
if err != nil {
|
||||
common.ServeJSON(ctx, stderr.AdminIDErr, err.Error())
|
||||
return
|
||||
}
|
||||
var req aichangefaceimgmod.WebListRequest
|
||||
if err := ctx.ShouldBindQuery(&req); err != nil {
|
||||
common.ServeJSON(ctx, stderr.ErrNoToken, err)
|
||||
return
|
||||
}
|
||||
data, code := ai_changeface_img_ser.List(&req)
|
||||
if code != stderr.Success {
|
||||
log.Error(fmt.Sprintf("AIChangeFaceImg web List error%v,manager%v", code.Error(), manager))
|
||||
common.ServeJSON(ctx, code, nil)
|
||||
return
|
||||
}
|
||||
common.ServeJSON(ctx, code, data)
|
||||
}
|
||||
|
||||
// AIChangeFaceImgUpdate doc
|
||||
// @Summary 审核AI图片换脸记录
|
||||
// @Description 审核AI图片换脸记录
|
||||
// @Tags AI图片换脸-WEB
|
||||
// @Accept json
|
||||
// @Produce json
|
||||
// @Param id formData string true "订单ID"
|
||||
// @Param newPic formData []string false "AI图片换脸后新图"
|
||||
// @Param status formData string true "状态 1、进行中 2、生成成功 3、生成失败"
|
||||
// @Param remark formData string false "拒绝理由"
|
||||
// @Success 200 {string} json "{"msg": "操作成功"}"
|
||||
// @Failure 400 {string} json "{"msg": "操作失败"}"
|
||||
// @Router /api/web/admin/ai/change_face_img/update [post]
|
||||
func AIChangeFaceImgUpdate(ctx *gin.Context) {
|
||||
manager, err := common.GetAdminAct(ctx)
|
||||
if err != nil {
|
||||
common.ServeJSON(ctx, stderr.AdminIDErr, err.Error())
|
||||
return
|
||||
}
|
||||
var req aichangefaceimgmod.EditCond
|
||||
if err = ctx.ShouldBind(&req); err != nil {
|
||||
log.Error(fmt.Sprintf("AIChangeFaceImg Update param err%v\n", err))
|
||||
common.ServeJSON(ctx, stderr.ErrNoToken, err)
|
||||
return
|
||||
}
|
||||
//code := ai_changeface_img_ser.Update(manager, &req)
|
||||
code := ai_changeface_img_ser.UpdateNew(manager, &req)
|
||||
if code != stderr.Success {
|
||||
log.Error(fmt.Sprintf("AIChangeFaceImg Update err%v", code))
|
||||
common.ServeJSON(ctx, code, code.Error())
|
||||
return
|
||||
}
|
||||
updateLog, _ := json.Marshal(req)
|
||||
_ = operatorlgmod.RecordOperation(manager, constant.AiChangeFaceImgList, constant.Modify, string(updateLog), ctx.Request.URL.RequestURI())
|
||||
common.ServeJSON(ctx, stderr.Success, stderr.Success.Msg())
|
||||
}
|
||||
|
||||
// 回调
|
||||
func Callback(ctx *gin.Context) {
|
||||
var req aichangefacevidmod.CallbackReq
|
||||
if err := ctx.ShouldBind(&req); err != nil {
|
||||
log.Error(fmt.Sprintf("ai undress update param err%v\n", err))
|
||||
common.ServeJSON(ctx, stderr.ErrParamError, err)
|
||||
return
|
||||
}
|
||||
code := ai_changeface_ser.CallBackOrder(&req)
|
||||
if code != stderr.Success {
|
||||
log.Error(fmt.Sprintf("ai undress Update err%v", code))
|
||||
common.ServeJSON(ctx, code, code.Error())
|
||||
return
|
||||
}
|
||||
ctx.String(200, "success", "success")
|
||||
}
|
||||
|
||||
func CallbackByImg(ctx *gin.Context) {
|
||||
var req aichangefacevidmod.CallbackReq
|
||||
if err := ctx.ShouldBind(&req); err != nil {
|
||||
log.Error(fmt.Sprintf("ai undress update param err%v\n", err))
|
||||
common.ServeJSON(ctx, stderr.ErrParamError, err)
|
||||
return
|
||||
}
|
||||
code := ai_changeface_img_ser.CallBackOrder(&req)
|
||||
if code != stderr.Success {
|
||||
log.Error(fmt.Sprintf("CallbackByImg Update err%v", code))
|
||||
common.ServeJSON(ctx, code, code.Error())
|
||||
return
|
||||
}
|
||||
ctx.String(200, "success", "success")
|
||||
}
|
||||
|
||||
// BatchModUpdate doc
|
||||
// @Summary AI换脸视频模版批量修改
|
||||
// @Description AI换脸视频模版批量修改
|
||||
// @Tags AI模版模块-WEB
|
||||
// @Accept json
|
||||
// @Produce json
|
||||
// @Param q body ai_changeface_ser.BatchUpdateReq false "请求参数"
|
||||
// @Success 200 {string} json "{"msg": "操作成功"}"
|
||||
// @Failure 400 {string} json "{"msg": "操作失败"}"
|
||||
// @Router /api/web/admin/ai/changeface/mod/batch/update [post]
|
||||
func BatchModUpdate(ctx *gin.Context) {
|
||||
manager, err := common.GetAdminAct(ctx)
|
||||
if err != nil {
|
||||
common.ServeJSON(ctx, stderr.AdminIDErr, err.Error())
|
||||
return
|
||||
}
|
||||
var req ai_changeface_ser.BatchUpdateReq
|
||||
if err = ctx.ShouldBind(&req); err != nil {
|
||||
common.ServeJSON(ctx, stderr.ErrParamError, err)
|
||||
return
|
||||
}
|
||||
|
||||
if err = req.BatchUpdateMod(); err != nil {
|
||||
common.ServeJSON(ctx, stderr.ErrDbQueryError, nil)
|
||||
return
|
||||
}
|
||||
updateLog, _ := json.Marshal(req)
|
||||
_ = operatorlgmod.RecordOperation(manager, constant.AiChangefaceVidMod, constant.Modify, string(updateLog), ctx.Request.URL.RequestURI())
|
||||
common.ServeJSON(ctx, stderr.Success, nil)
|
||||
}
|
||||
|
||||
// AllSceneList doc
|
||||
// @Summary AI换脸视频模版列表
|
||||
// @Description AI换脸视频模版列表
|
||||
// @Tags AI模版模块-WEB
|
||||
// @Accept json
|
||||
// @Produce json
|
||||
// @Success 200 object interface{} "成功后返回"
|
||||
// @Failure 400 {string} json "{"msg": "操作失败"}"
|
||||
// @Security BasicAuth
|
||||
// @Router /api/web/admin/ai/change_face/mod/all/scene [get]
|
||||
func AllSceneList(ctx *gin.Context) {
|
||||
var in ai_changeface_ser.AllSceneListReq
|
||||
if err := ctx.ShouldBind(&in); err != nil {
|
||||
common.ServeJSON(ctx, stderr.ErrParamError, err)
|
||||
return
|
||||
}
|
||||
data, err := in.All()
|
||||
if err != nil {
|
||||
common.ServeJSON(ctx, stderr.Failure, nil)
|
||||
return
|
||||
}
|
||||
common.ServeJSON(ctx, stderr.Success, data)
|
||||
}
|
||||
Reference in New Issue
Block a user