@@ -0,0 +1,57 @@ | |||||
package im | |||||
import ( | |||||
"applet/app/e" | |||||
md "applet/app/md/im" | |||||
svc "applet/app/svc/im" | |||||
"github.com/gin-gonic/gin" | |||||
) | |||||
// PageSendRedPackageOrd | |||||
// @Summary Im-红包记录(列表) | |||||
// @Tags 红包记录 | |||||
// @Description 红包记录(列表) | |||||
// @Accept json | |||||
// @Produce json | |||||
// @param Authorization header string true "验证参数Bearer和token空格拼接" | |||||
// @param req body md.PageSendRedPackageOrdReq true "相关参数" | |||||
// @Success 200 {string} "success" | |||||
// @Failure 400 {object} md.Response "具体错误" | |||||
// @Router /api/im/pageSendRedPackageOrd [POST] | |||||
func PageSendRedPackageOrd(c *gin.Context) { | |||||
var req *md.PageSendRedPackageOrdReq | |||||
if err1 := c.ShouldBindJSON(&req); err1 != nil { | |||||
e.OutErr(c, e.ERR_INVALID_ARGS, err1.Error()) | |||||
return | |||||
} | |||||
err, resp := svc.PageSendRedPackageOrd(*req) | |||||
if err != nil { | |||||
e.OutErr(c, e.ERR, err.Error()) | |||||
return | |||||
} | |||||
e.OutSuc(c, resp, nil) | |||||
} | |||||
// RedPackageRecordsDetail | |||||
// @Summary Im-红包记录(详情) | |||||
// @Tags 红包记录 | |||||
// @Description 红包记录(详情) | |||||
// @Accept json | |||||
// @Produce json | |||||
// @param Authorization header string true "验证参数Bearer和token空格拼接" | |||||
// @Param red_package_id query string true "红包id" | |||||
// @Success 200 {string} "success" | |||||
// @Failure 400 {object} md.Response "具体错误" | |||||
// @Router /api/im/redPackageRecordsDetail [GET] | |||||
func RedPackageRecordsDetail(c *gin.Context) { | |||||
redPackageId := c.DefaultQuery("red_package_id", "") | |||||
err, resp := svc.RedPackageRecordsDetail(redPackageId) | |||||
if err != nil { | |||||
e.OutErr(c, e.ERR, err.Error()) | |||||
return | |||||
} | |||||
e.OutSuc(c, resp, nil) | |||||
} |
@@ -0,0 +1,156 @@ | |||||
package module_setting | |||||
import ( | |||||
"applet/app/db" | |||||
"applet/app/e" | |||||
"applet/app/md/institutional_management/module_setting" | |||||
"applet/app/utils" | |||||
"code.fnuoos.com/EggPlanet/egg_models.git/src/implement" | |||||
"code.fnuoos.com/EggPlanet/egg_models.git/src/model" | |||||
"errors" | |||||
"github.com/gin-gonic/gin" | |||||
"time" | |||||
) | |||||
// ModuleSettingGet | |||||
// @Summary 制度中心-模块设置-个性化设置(获取) | |||||
// @Tags 模块设置 | |||||
// @Description 个性化设置(获取) | |||||
// @Accept json | |||||
// @Produce json | |||||
// @param Authorization header string true "验证参数Bearer和token空格拼接" | |||||
// @Param mod_name_value query string true "模块类型值" | |||||
// @Success 200 {object} md.ModuleSettingGetResp "具体数据" | |||||
// @Failure 400 {object} md.Response "具体错误" | |||||
// @Router /api/institutionalManagement/moduleSetting/getModuleSetting [GET] | |||||
func ModuleSettingGet(c *gin.Context) { | |||||
modNameValue := c.DefaultQuery("mod_name_value", "1") | |||||
modNameList := []map[string]interface{}{ | |||||
{ | |||||
"mod_name": "home_page", | |||||
"value": "1", | |||||
}, | |||||
{ | |||||
"mod_name": "member_center", | |||||
"value": "2", | |||||
}, | |||||
{ | |||||
"mod_name": "bottom_bar", | |||||
"value": "3", | |||||
}, | |||||
{ | |||||
"mod_name": "invitation_download_landing_page", | |||||
"value": "4", | |||||
}, | |||||
{ | |||||
"mod_name": "invitation_poster", | |||||
"value": "5", | |||||
}, | |||||
} | |||||
modNameMap := map[string]string{ | |||||
"1": "home_page", | |||||
"2": "member_center", | |||||
"3": "bottom_bar", | |||||
"4": "invitation_download_landing_page", | |||||
"5": "invitation_poster", | |||||
} | |||||
moduleStyleDb := implement.NewModuleStyleDb(db.Db) | |||||
var moduleStyle *model.ModuleStyle | |||||
var err error | |||||
moduleStyle, err = moduleStyleDb.ModuleStyleGetOneByParams(map[string]interface{}{ | |||||
"key": "mod_name", | |||||
"value": modNameMap[modNameValue], | |||||
}) | |||||
if err != nil { | |||||
e.OutErr(c, e.ERR_DB_ORM, err.Error()) | |||||
return | |||||
} | |||||
var dataMap map[string]interface{} | |||||
if moduleStyle == nil { | |||||
now := time.Now() | |||||
m := model.ModuleStyle{ | |||||
ModName: modNameMap[modNameValue], | |||||
Position: modNameMap[modNameValue], | |||||
SkipIdentifier: "", | |||||
Title: "主标题", | |||||
Subtitle: "子标题", | |||||
Data: utils.SerializeStr(dataMap), | |||||
CreateAt: now.Format("2006-01-02 15:04:05"), | |||||
} | |||||
_, err = moduleStyleDb.ModuleStyleInsert(&m) | |||||
if err != nil { | |||||
e.OutErr(c, e.ERR_DB_ORM, err.Error()) | |||||
return | |||||
} | |||||
moduleStyle, err = moduleStyleDb.ModuleStyleGetOneByParams(map[string]interface{}{ | |||||
"key": "mod_name", | |||||
"value": modNameMap[modNameValue], | |||||
}) | |||||
if err != nil { | |||||
e.OutErr(c, e.ERR_DB_ORM, err.Error()) | |||||
return | |||||
} | |||||
} | |||||
utils.Unserialize([]byte(moduleStyle.Data), &dataMap) | |||||
resp := md.ModuleSettingGetResp{ | |||||
ModNameList: modNameList, | |||||
ModName: moduleStyle.ModName, | |||||
Position: moduleStyle.Position, | |||||
SkipIdentifier: moduleStyle.SkipIdentifier, | |||||
Title: moduleStyle.Title, | |||||
Subtitle: moduleStyle.Subtitle, | |||||
Data: dataMap, | |||||
} | |||||
e.OutSuc(c, resp, nil) | |||||
} | |||||
// ModuleSettingUpdate | |||||
// @Summary 制度中心-模块设置-个性化设置(更新) | |||||
// @Tags 模块设置 | |||||
// @Description 个性化设置(更新) | |||||
// @Accept json | |||||
// @Produce json | |||||
// @param Authorization header string true "验证参数Bearer和token空格拼接" | |||||
// @Param req body md.ModuleSettingUpdateReq true "模块类型值必填" | |||||
// @Success 200 {int} "修改数据条数" | |||||
// @Failure 400 {object} md.Response "具体错误" | |||||
// @Router /api/institutionalManagement/moduleSetting/updateModuleSetting [POST] | |||||
func ModuleSettingUpdate(c *gin.Context) { | |||||
var req *md.ModuleSettingUpdateReq | |||||
if err1 := c.ShouldBindJSON(&req); err1 != nil { | |||||
e.OutErr(c, e.ERR_INVALID_ARGS, err1.Error()) | |||||
return | |||||
} | |||||
modNameMap := map[string]string{ | |||||
"1": "home_page", | |||||
"2": "member_center", | |||||
"3": "bottom_bar", | |||||
"4": "invitation_download_landing_page", | |||||
"5": "invitation_poster", | |||||
} | |||||
moduleStyleDb := implement.NewModuleStyleDb(db.Db) | |||||
moduleStyle, err := moduleStyleDb.ModuleStyleGetOneByParams(map[string]interface{}{ | |||||
"key": "mod_name", | |||||
"value": modNameMap[req.ModNameValue], | |||||
}) | |||||
if moduleStyle == nil { | |||||
e.OutErr(c, e.ERR_NO_DATA, errors.New("不存在该页面")) | |||||
return | |||||
} | |||||
forceColumns := []string{"title", "subtitle", "data"} | |||||
moduleStyle.Title = req.Title | |||||
moduleStyle.Subtitle = req.Subtitle | |||||
moduleStyle.Position = req.Position | |||||
moduleStyle.Data = utils.SerializeStr(req.Data) | |||||
affected, err := moduleStyleDb.ModuleStyleUpdate(moduleStyle.ModId, moduleStyle, forceColumns...) | |||||
if err != nil { | |||||
e.OutErr(c, e.ERR_DB_ORM, err.Error()) | |||||
return | |||||
} | |||||
e.OutSuc(c, affected, nil) | |||||
} |
@@ -12,8 +12,8 @@ import ( | |||||
// @Accept json | // @Accept json | ||||
// @Produce json | // @Produce json | ||||
// @param Authorization header string true "验证参数Bearer和token空格拼接" | // @param Authorization header string true "验证参数Bearer和token空格拼接" | ||||
// @Param req body true "参数 file-----文件上传格式" | |||||
// @Success 200 {object} "phone 一个数组" | |||||
// @Param file formData string true "参数 file-----文件上传格式" | |||||
// @Success 200 {string} "phone 一个数组" | |||||
// @Failure 400 {object} md.Response "具体错误" | // @Failure 400 {object} md.Response "具体错误" | ||||
// @Router /api/notice/aliyunSms/file/phone [post] | // @Router /api/notice/aliyunSms/file/phone [post] | ||||
func AliyunSmsFilePhone(c *gin.Context) { | func AliyunSmsFilePhone(c *gin.Context) { | ||||
@@ -41,7 +41,7 @@ func AliyunSmsBase(c *gin.Context) { | |||||
// @Accept json | // @Accept json | ||||
// @Produce json | // @Produce json | ||||
// @param Authorization header string true "验证参数Bearer和token空格拼接" | // @param Authorization header string true "验证参数Bearer和token空格拼接" | ||||
// @Param req body true "数组 把列表的数组传过来" | |||||
// @Param req body string true "数组 把列表的数组传过来" | |||||
// @Success 200 {string} "具体数据" | // @Success 200 {string} "具体数据" | ||||
// @Failure 400 {object} md.Response "具体错误" | // @Failure 400 {object} md.Response "具体错误" | ||||
// @Router /api/notice/aliyunSms/save [post] | // @Router /api/notice/aliyunSms/save [post] | ||||
@@ -70,7 +70,7 @@ func AliyunSmsSaleBase(c *gin.Context) { | |||||
// @Accept json | // @Accept json | ||||
// @Produce json | // @Produce json | ||||
// @param Authorization header string true "验证参数Bearer和token空格拼接" | // @param Authorization header string true "验证参数Bearer和token空格拼接" | ||||
// @Param req body true "数组 把列表的数组传过来" | |||||
// @Param req body string true "数组 把列表的数组传过来" | |||||
// @Success 200 {string} "具体数据" | // @Success 200 {string} "具体数据" | ||||
// @Failure 400 {object} md.Response "具体错误" | // @Failure 400 {object} md.Response "具体错误" | ||||
// @Router /api/notice/aliyunSms/sale/save [post] | // @Router /api/notice/aliyunSms/sale/save [post] | ||||
@@ -0,0 +1,49 @@ | |||||
package md | |||||
type PageSendRedPackageOrdReq struct { | |||||
Page int `json:"page"` | |||||
PageSize int `json:"page_size"` | |||||
State int `json:"state"` //状态 | |||||
Uid int `json:"uid"` | |||||
RedPacketType int `json:"red_packet_type"` //红包类型 | |||||
StartTimeStart string `json:"start_time_start" example:"发送时间-起始"` | |||||
StartTimeEnd string `json:"start_time_end" example:"发送时间-截止"` | |||||
InviteCode string `json:"invite_code" example:"邀请码"` //邀请码 | |||||
Phone string `json:"phone" example:"手机号"` //手机号 | |||||
Nickname string `json:"nickname" example:"昵称"` //昵称 | |||||
OrdNo string `json:"ord_no" example:"订单号"` //订单号 | |||||
} | |||||
type PageSendRedPackageOrdResp struct { | |||||
Page int `json:"page"` | |||||
PageSize int `json:"page_size"` | |||||
Total int64 `json:"total"` | |||||
List []struct { | |||||
Id int64 `json:"id"` //记录id | |||||
Uid int64 `json:"uid"` | |||||
Phone string `json:"ord_no" example:"订单号"` | |||||
Nickname string `json:"nickname" example:"昵称"` | |||||
AvatarUrl string `json:"avatar_url" example:"头像"` | |||||
InviteCode string `json:"invite_code" example:"邀请码"` | |||||
State int `json:"state"` // 红包状态(0:未领取 1:领取中 2:领取完 3:已过期) | |||||
Amount string `json:"amount"` // 金额 | |||||
RedPacketBalanceAmount string `json:"red_packet_balance_amount" example:"红包剩余金额"` // 红包剩余金额 | |||||
RedPacketType int `json:"red_packet_type" example:"红包类型"` // 红包类型 | |||||
RedPacketNums string `json:"red_packet_nums" example:"红包剩余个数"` // 红包剩余个数 | |||||
WaitDrawUserIds string `json:"wait_draw_user_ids" example:"待领取用户id"` // 待领取用户id | |||||
ReceivedUserIds string `json:"received_user_ids" example:"领取用户id"` // 领取用户id | |||||
ReceivedTimes string `json:"received_times" example:"已领取时间"` // 已领取时间 | |||||
ReceivedUserAmount string `json:"received_user_amount" example:"已领取用户金额"` // 已领取用户金额 | |||||
CreateTime string `json:"create_time" example:"创建时间"` // 创建时间 | |||||
UpdateTime string `json:"update_time" example:"更新时间"` // 更新时间 | |||||
} `json:"list"` | |||||
} | |||||
type RedPackageRecordsDetailResp struct { | |||||
Uid int64 `json:"uid"` | |||||
InviteCode string `json:"invite_code" example:"邀请码"` | |||||
Nickname string `json:"nickname" example:"昵称"` | |||||
AvatarUrl string `json:"avatar_url" example:"头像"` | |||||
Amount string `json:"amount"` // 金额 | |||||
ReceivedTimes string `json:"received_times" example:"领取时间"` // 领取时间 | |||||
} |
@@ -0,0 +1,20 @@ | |||||
package md | |||||
type ModuleSettingGetResp struct { | |||||
ModNameList []map[string]interface{} `json:"mod_name_list"` // 模块名称对照 | |||||
ModName string `json:"mod_name"` // 模块名称 | |||||
Position string `json:"position"` // 位置 | |||||
SkipIdentifier string `json:"skip_identifier"` // 跳转标识 | |||||
Title string `json:"title"` // 标题 | |||||
Subtitle string `json:"subtitle"` // 副标题 | |||||
Data map[string]interface{} `json:"data"` // 内容 | |||||
} | |||||
type ModuleSettingUpdateReq struct { | |||||
ModNameValue string `json:"mod_name_value,required"` // 模块类型值 | |||||
Position string `json:"position"` // 位置 | |||||
SkipIdentifier string `json:"skip_identifier"` // 跳转标识 | |||||
Title string `json:"title"` // 标题 | |||||
Subtitle string `json:"subtitle"` // 副标题 | |||||
Data map[string]interface{} `json:"data"` // 内容 | |||||
} |
@@ -9,6 +9,7 @@ import ( | |||||
"applet/app/hdl/financial_center" | "applet/app/hdl/financial_center" | ||||
"applet/app/hdl/im" | "applet/app/hdl/im" | ||||
"applet/app/hdl/institutional_management/egg_energy" | "applet/app/hdl/institutional_management/egg_energy" | ||||
"applet/app/hdl/institutional_management/module_setting" | |||||
"applet/app/hdl/institutional_management/public_platoon" | "applet/app/hdl/institutional_management/public_platoon" | ||||
"applet/app/hdl/marketing_applications/new_user_red_package" | "applet/app/hdl/marketing_applications/new_user_red_package" | ||||
"applet/app/hdl/member_center" | "applet/app/hdl/member_center" | ||||
@@ -223,6 +224,11 @@ func rInstitutionalManagement(r *gin.RouterGroup) { //制度管理 | |||||
rContributionValue.POST("/updateBasic", egg_energy.UpdateContributionValueBasicSetting) | rContributionValue.POST("/updateBasic", egg_energy.UpdateContributionValueBasicSetting) | ||||
} | } | ||||
} | } | ||||
rModuleSetting := r.Group("/moduleSetting") | |||||
{ | |||||
rModuleSetting.GET("/getModuleSetting", module_setting.ModuleSettingGet) | |||||
rModuleSetting.POST("/updateModuleSetting", module_setting.ModuleSettingUpdate) | |||||
} | |||||
} | } | ||||
func rMarketingApplications(r *gin.RouterGroup) { //营销应用 | func rMarketingApplications(r *gin.RouterGroup) { //营销应用 | ||||
@@ -276,6 +282,8 @@ func rIm(r *gin.RouterGroup) { | |||||
r.POST("/addCustomerService", im.AddCustomerService) | r.POST("/addCustomerService", im.AddCustomerService) | ||||
r.POST("/setCustomerServiceState", im.SetCustomerServiceState) | r.POST("/setCustomerServiceState", im.SetCustomerServiceState) | ||||
r.POST("/updateCustomerServiceMemo", im.UpdateCustomerServiceMemo) | r.POST("/updateCustomerServiceMemo", im.UpdateCustomerServiceMemo) | ||||
r.GET("/redPackageRecordsDetail", im.RedPackageRecordsDetail) | |||||
r.POST("/pageSendRedPackageOrd", im.PageSendRedPackageOrd) | |||||
} | } | ||||
func rFinancialCenter(r *gin.RouterGroup) { | func rFinancialCenter(r *gin.RouterGroup) { | ||||
@@ -17,7 +17,7 @@ func PageCustomerService(req md.PageCustomerServiceReq) (err error, resp md.Page | |||||
sess.And("memo = ?", req.State) | sess.And("memo = ?", req.State) | ||||
} | } | ||||
var mm []*model.CustomerService | var mm []*model.CustomerService | ||||
resp.Total, err = sess.Limit(req.PageSize, (req.Page-1)*req.PageSize).Asc("a.id").FindAndCount(&mm) | |||||
resp.Total, err = sess.Limit(req.PageSize, (req.Page-1)*req.PageSize).Asc("id").FindAndCount(&mm) | |||||
if err != nil { | if err != nil { | ||||
return | return | ||||
} | } | ||||
@@ -17,7 +17,7 @@ func PageEmoticon(req md.PageEmoticonReq) (err error, resp md.PageEmoticonResp) | |||||
sess.And("memo = ?", req.State) | sess.And("memo = ?", req.State) | ||||
} | } | ||||
var mm []*model.Emoticon | var mm []*model.Emoticon | ||||
resp.Total, err = sess.Limit(req.PageSize, (req.Page-1)*req.PageSize).Asc("a.id").FindAndCount(&mm) | |||||
resp.Total, err = sess.Limit(req.PageSize, (req.Page-1)*req.PageSize).Desc("id").FindAndCount(&mm) | |||||
if err != nil { | if err != nil { | ||||
return | return | ||||
} | } | ||||
@@ -0,0 +1,134 @@ | |||||
package svc | |||||
import ( | |||||
"applet/app/db" | |||||
md "applet/app/md/im" | |||||
"applet/app/utils" | |||||
"code.fnuoos.com/EggPlanet/egg_models.git/src/model" | |||||
"errors" | |||||
"fmt" | |||||
"strings" | |||||
) | |||||
type PageSendRedPackageOrdJoinUser struct { | |||||
model.ImSendRedPackageOrd `xorm:"extends"` | |||||
model.User `xorm:"extends"` | |||||
} | |||||
func PageSendRedPackageOrd(req md.PageSendRedPackageOrdReq) (err error, resp md.PageSendRedPackageOrdResp) { | |||||
sess := db.DbIm.Table("im_send_red_package_ord").Where("1=1") | |||||
if req.Phone != "" { | |||||
sess.And("user.phone LIKE ?", "%"+req.Phone+"%") | |||||
} | |||||
if req.Nickname != "" { | |||||
sess.And("user.nickname LIKE ?", "%"+req.Nickname+"%") | |||||
} | |||||
if req.OrdNo != "" { | |||||
sess.And("im_send_red_package_ord.ord_no LIKE ?", "%"+req.OrdNo+"%") | |||||
} | |||||
if req.State != 0 { | |||||
sess.And("im_send_red_package_ord.state = ?", req.State) | |||||
} | |||||
if req.Uid != 0 { | |||||
sess.And("im_send_red_package_ord.uid = ?", req.Uid) | |||||
} | |||||
if req.RedPacketType != 0 { | |||||
sess.And("im_send_red_package_ord.red_packet_type = ?", req.RedPacketType) | |||||
} | |||||
if req.StartTimeStart != "" { | |||||
sess.And("im_send_red_package_ord.create_time >= ?", req.StartTimeStart) | |||||
} | |||||
if req.StartTimeEnd != "" { | |||||
sess.And("im_send_red_package_ord.create_time <= ?", req.StartTimeEnd) | |||||
} | |||||
if req.InviteCode != "" { | |||||
sess.And("user.invite_code = ?", req.InviteCode) | |||||
} | |||||
sess.Join("LEFT", "user", "im_send_red_package_ord.uid = user.id") | |||||
var mm []*PageSendRedPackageOrdJoinUser | |||||
resp.Total, err = sess.Limit(req.PageSize, (req.Page-1)*req.PageSize).Desc("im_send_red_package_ord.create_time").FindAndCount(&mm) | |||||
sql, _ := sess.LastSQL() | |||||
fmt.Println("PageSendRedPackageOrd___SQL:::", sql) | |||||
if err != nil { | |||||
return | |||||
} | |||||
resp.Page = req.Page | |||||
resp.PageSize = req.PageSize | |||||
for _, v := range mm { | |||||
resp.List = append(resp.List, struct { | |||||
Id int64 `json:"id"` //记录id | |||||
Uid int64 `json:"uid"` | |||||
Phone string `json:"ord_no" example:"订单号"` | |||||
Nickname string `json:"nickname" example:"昵称"` | |||||
AvatarUrl string `json:"avatar_url" example:"头像"` | |||||
InviteCode string `json:"invite_code" example:"邀请码"` | |||||
State int `json:"state"` // 红包状态(0:未领取 1:领取中 2:领取完 3:已过期) | |||||
Amount string `json:"amount"` // 金额 | |||||
RedPacketBalanceAmount string `json:"red_packet_balance_amount" example:"红包剩余金额"` // 红包剩余金额 | |||||
RedPacketType int `json:"red_packet_type" example:"红包类型"` // 红包类型 | |||||
RedPacketNums string `json:"red_packet_nums" example:"红包剩余个数"` // 红包剩余个数 | |||||
WaitDrawUserIds string `json:"wait_draw_user_ids" example:"待领取用户id"` // 待领取用户id | |||||
ReceivedUserIds string `json:"received_user_ids" example:"领取用户id"` // 领取用户id | |||||
ReceivedTimes string `json:"received_times" example:"已领取时间"` // 已领取时间 | |||||
ReceivedUserAmount string `json:"received_user_amount" example:"已领取用户金额"` // 已领取用户金额 | |||||
CreateTime string `json:"create_time" example:"创建时间"` // 创建时间 | |||||
UpdateTime string `json:"update_time" example:"更新时间"` // 更新时间 | |||||
}{ | |||||
Id: v.ImSendRedPackageOrd.Id, | |||||
Uid: int64(v.ImSendRedPackageOrd.Uid), | |||||
Phone: v.User.Phone, | |||||
InviteCode: v.User.SystemInviteCode, | |||||
Nickname: v.User.Nickname, | |||||
AvatarUrl: v.User.Avatar, | |||||
State: v.ImSendRedPackageOrd.State, | |||||
Amount: v.ImSendRedPackageOrd.Amount, | |||||
RedPacketType: v.ImSendRedPackageOrd.RedPacketType, | |||||
WaitDrawUserIds: v.ImSendRedPackageOrd.WaitDrawUserIds, | |||||
ReceivedUserIds: v.ImSendRedPackageOrd.ReceivedUserIds, | |||||
ReceivedUserAmount: v.ImSendRedPackageOrd.ReceivedUserAmount, | |||||
CreateTime: v.ImSendRedPackageOrd.CreateTime, | |||||
UpdateTime: v.ImSendRedPackageOrd.UpdateTime, | |||||
}) | |||||
} | |||||
return | |||||
} | |||||
func RedPackageRecordsDetail(redPackageId string) (err error, resp []md.RedPackageRecordsDetailResp) { | |||||
var imSendRedPackageOrd model.ImSendRedPackageOrd | |||||
has, err := db.Db.Where("`id`=?", redPackageId).Get(&imSendRedPackageOrd) | |||||
if err != nil { | |||||
return | |||||
} | |||||
if !has { | |||||
err = errors.New("红包记录不存在!") | |||||
return | |||||
} | |||||
if imSendRedPackageOrd.ReceivedUserIds != "" { | |||||
uids := strings.Split(imSendRedPackageOrd.ReceivedUserIds, ",") | |||||
receivedTimes := strings.Split(imSendRedPackageOrd.ReceivedTimes, ",") | |||||
receivedUserAmount := strings.Split(imSendRedPackageOrd.ReceivedUserAmount, ",") | |||||
var users []*model.User | |||||
err = db.Db.In("id", uids).Find(&users) | |||||
if err != nil { | |||||
return | |||||
} | |||||
var usersMap = map[string]model.User{} | |||||
for _, v := range users { | |||||
usersMap[utils.Int64ToStr(v.Id)] = *v | |||||
} | |||||
for i, v := range uids { | |||||
resp = append(resp, md.RedPackageRecordsDetailResp{ | |||||
Uid: utils.StrToInt64(v), | |||||
InviteCode: usersMap[v].SystemInviteCode, | |||||
Nickname: usersMap[v].Nickname, | |||||
AvatarUrl: usersMap[v].Avatar, | |||||
Amount: receivedUserAmount[i], | |||||
ReceivedTimes: receivedTimes[i], | |||||
}) | |||||
} | |||||
} | |||||
return | |||||
} |
@@ -33,10 +33,11 @@ require ( | |||||
) | ) | ||||
require ( | require ( | ||||
code.fnuoos.com/EggPlanet/egg_models.git v0.2.1-0.20241126101821-4c17f7b1fe4b | |||||
code.fnuoos.com/EggPlanet/egg_models.git v0.2.1-0.20241126070618-9a7e2400a08f | |||||
code.fnuoos.com/EggPlanet/egg_system_rules.git v0.0.4-0.20241125081706-0915be3f4144 | code.fnuoos.com/EggPlanet/egg_system_rules.git v0.0.4-0.20241125081706-0915be3f4144 | ||||
code.fnuoos.com/go_rely_warehouse/zyos_go_es.git v1.0.1-0.20241118083738-0f22da9ba0be | code.fnuoos.com/go_rely_warehouse/zyos_go_es.git v1.0.1-0.20241118083738-0f22da9ba0be | ||||
code.fnuoos.com/go_rely_warehouse/zyos_go_mq.git v0.0.5 | code.fnuoos.com/go_rely_warehouse/zyos_go_mq.git v0.0.5 | ||||
github.com/360EntSecGroup-Skylar/excelize v1.4.1 | |||||
github.com/aliyun/aliyun-oss-go-sdk v3.0.2+incompatible | github.com/aliyun/aliyun-oss-go-sdk v3.0.2+incompatible | ||||
github.com/gin-contrib/sessions v1.0.1 | github.com/gin-contrib/sessions v1.0.1 | ||||
github.com/go-sql-driver/mysql v1.8.1 | github.com/go-sql-driver/mysql v1.8.1 | ||||
@@ -48,7 +49,6 @@ require ( | |||||
require ( | require ( | ||||
filippo.io/edwards25519 v1.1.0 // indirect | filippo.io/edwards25519 v1.1.0 // indirect | ||||
github.com/360EntSecGroup-Skylar/excelize v1.4.1 // indirect | |||||
github.com/BurntSushi/toml v1.4.0 // indirect | github.com/BurntSushi/toml v1.4.0 // indirect | ||||
github.com/KyleBanks/depth v1.2.1 // indirect | github.com/KyleBanks/depth v1.2.1 // indirect | ||||
github.com/PuerkitoBio/goquery v1.9.2 // indirect | github.com/PuerkitoBio/goquery v1.9.2 // indirect | ||||