accountbalacne
This commit is contained in:
@@ -49,10 +49,7 @@ func getWeekTime() (weekTimeBegin, weekTimeEnd time.Time) {
|
|||||||
|
|
||||||
func PublishJob(ctx *jxcontext.Context, job *model.Job) (err error) {
|
func PublishJob(ctx *jxcontext.Context, job *model.Job) (err error) {
|
||||||
var (
|
var (
|
||||||
db = dao.GetDB()
|
db = dao.GetDB()
|
||||||
timeNow = utils.Time2Date(time.Now())
|
|
||||||
fromTime = utils.Time2Str(timeNow) + "00:00:00"
|
|
||||||
toTime = utils.Time2Str(timeNow) + "23:59:59"
|
|
||||||
)
|
)
|
||||||
//需根据任务类型做一些参数判断,比如门店商品链接,地址
|
//需根据任务类型做一些参数判断,比如门店商品链接,地址
|
||||||
// switch job.JobCategoryID {
|
// switch job.JobCategoryID {
|
||||||
@@ -78,7 +75,7 @@ func PublishJob(ctx *jxcontext.Context, job *model.Job) (err error) {
|
|||||||
if job.UserID == "" {
|
if job.UserID == "" {
|
||||||
return fmt.Errorf("任务发起人不能为空!")
|
return fmt.Errorf("任务发起人不能为空!")
|
||||||
}
|
}
|
||||||
jobs, err := dao.GetJobsNoPage(db, []string{job.UserID}, nil, nil, utils.Str2Time(fromTime), utils.Str2Time(toTime), false)
|
jobs, err := dao.GetJobsNoPage(db, []string{job.UserID}, nil, nil, DayTimeBegin, DayTimeEnd, false)
|
||||||
if len(jobs) > 0 {
|
if len(jobs) > 0 {
|
||||||
members, err := dao.GetUserMember(db, job.UserID, model.MemberTypeNormal)
|
members, err := dao.GetUserMember(db, job.UserID, model.MemberTypeNormal)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
|
|||||||
@@ -540,25 +540,6 @@ func DeleteUserInfo(ctx *jxcontext.Context, userID string) (err error) {
|
|||||||
return err
|
return err
|
||||||
}
|
}
|
||||||
|
|
||||||
func CreateUserAgreement(ctx *jxcontext.Context, userAgrs []*model.UserAgreement) (err error) {
|
|
||||||
var (
|
|
||||||
db = dao.GetDB()
|
|
||||||
)
|
|
||||||
for _, v := range userAgrs {
|
|
||||||
dao.WrapAddIDCULDEntity(v, ctx.GetUserName())
|
|
||||||
}
|
|
||||||
err = dao.CreateMultiEntities(db, userAgrs)
|
|
||||||
return err
|
|
||||||
}
|
|
||||||
|
|
||||||
func GetUserAgreement(ctx *jxcontext.Context, name, idNumber, bankNumber, mobile string) (userAgrs []*model.UserAgreement, err error) {
|
|
||||||
var (
|
|
||||||
db = dao.GetDB()
|
|
||||||
)
|
|
||||||
userAgrs, err = dao.GetUserAgreement(db, name, idNumber, bankNumber, mobile)
|
|
||||||
return userAgrs, err
|
|
||||||
}
|
|
||||||
|
|
||||||
func CleanUserOrderSMSMark(ctx *jxcontext.Context) (err error) {
|
func CleanUserOrderSMSMark(ctx *jxcontext.Context) (err error) {
|
||||||
var (
|
var (
|
||||||
db = dao.GetDB()
|
db = dao.GetDB()
|
||||||
@@ -588,7 +569,7 @@ func RefreshUserMemberStatus(ctx *jxcontext.Context) (err error) {
|
|||||||
return err
|
return err
|
||||||
}
|
}
|
||||||
|
|
||||||
func InvestMember(ctx *jxcontext.Context, memberID int) (err error) {
|
func InvestMember(ctx *jxcontext.Context, memberID int) (errCode string, err error) {
|
||||||
var (
|
var (
|
||||||
db = dao.GetDB()
|
db = dao.GetDB()
|
||||||
memberCards []*model.MemberCard
|
memberCards []*model.MemberCard
|
||||||
@@ -598,18 +579,21 @@ func InvestMember(ctx *jxcontext.Context, memberID int) (err error) {
|
|||||||
configList, err := dao.QueryConfigs(db, model.ConfigTypeName[model.ConfigTypeMemberCard], model.ConfigTypeMemberCard, "")
|
configList, err := dao.QueryConfigs(db, model.ConfigTypeName[model.ConfigTypeMemberCard], model.ConfigTypeMemberCard, "")
|
||||||
userBill, err := dao.GetUserBill(db, ctx.GetUserID(), "")
|
userBill, err := dao.GetUserBill(db, ctx.GetUserID(), "")
|
||||||
if len(configList) <= 0 {
|
if len(configList) <= 0 {
|
||||||
return fmt.Errorf("未找到会员卡配置!")
|
return "", fmt.Errorf("未找到会员卡配置!")
|
||||||
}
|
}
|
||||||
config := configList[0]
|
config := configList[0]
|
||||||
err = jxutils.Strings2Objs(config.Value, &memberCards)
|
err = jxutils.Strings2Objs(config.Value, &memberCards)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return err
|
return "", err
|
||||||
}
|
}
|
||||||
for _, v := range memberCards {
|
for _, v := range memberCards {
|
||||||
if v.ID == memberID {
|
if v.ID == memberID {
|
||||||
memberCard = v
|
memberCard = v
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
if userBill.AccountBalance < memberCard.Price {
|
||||||
|
return model.ErrCodeAccountBalanceNotEnough, err
|
||||||
|
}
|
||||||
dao.Begin(db)
|
dao.Begin(db)
|
||||||
defer func() {
|
defer func() {
|
||||||
if r := recover(); r != nil {
|
if r := recover(); r != nil {
|
||||||
@@ -654,5 +638,5 @@ func InvestMember(ctx *jxcontext.Context, memberID int) (err error) {
|
|||||||
dao.Rollback(db)
|
dao.Rollback(db)
|
||||||
}
|
}
|
||||||
dao.Commit(db)
|
dao.Commit(db)
|
||||||
return err
|
return errCode, err
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -46,6 +46,14 @@ func (p *PayHandler) CreatePay() (err error) {
|
|||||||
return err
|
return err
|
||||||
}
|
}
|
||||||
|
|
||||||
|
func (p *PayHandler) CreateRefund() (err error) {
|
||||||
|
switch p.PayType {
|
||||||
|
case model.PayTypeTL:
|
||||||
|
case model.PayTypeWX:
|
||||||
|
}
|
||||||
|
return err
|
||||||
|
}
|
||||||
|
|
||||||
func OnTLPayCallback(call *tonglianpayapi.CallBackResult) (err error) {
|
func OnTLPayCallback(call *tonglianpayapi.CallBackResult) (err error) {
|
||||||
globals.SugarLogger.Debugf("OnTLPayCallback msg:%s", utils.Format4Output(call, true))
|
globals.SugarLogger.Debugf("OnTLPayCallback msg:%s", utils.Format4Output(call, true))
|
||||||
switch call.TrxCode {
|
switch call.TrxCode {
|
||||||
|
|||||||
@@ -20,6 +20,7 @@ type PayHandler struct {
|
|||||||
|
|
||||||
type PayHandlerInterface interface {
|
type PayHandlerInterface interface {
|
||||||
CreatePay() (err error)
|
CreatePay() (err error)
|
||||||
|
CreateRefund() (err error)
|
||||||
}
|
}
|
||||||
|
|
||||||
func OnPayFinished(order *model.Order) (err error) {
|
func OnPayFinished(order *model.Order) (err error) {
|
||||||
|
|||||||
@@ -26,6 +26,8 @@ func Init() {
|
|||||||
func doDailyWork() {
|
func doDailyWork() {
|
||||||
globals.SugarLogger.Debug("doDailyWork")
|
globals.SugarLogger.Debug("doDailyWork")
|
||||||
//刷新任务过期状态
|
//刷新任务过期状态
|
||||||
|
cms.RefreshJobStatus(jxcontext.AdminCtx)
|
||||||
|
//刷新用户会员时间
|
||||||
cms.RefreshUserMemberStatus(jxcontext.AdminCtx)
|
cms.RefreshUserMemberStatus(jxcontext.AdminCtx)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -176,33 +176,6 @@ func ClearUserDeliveryAddressDefault(db *DaoDB, userID string, defAddressID int)
|
|||||||
return err
|
return err
|
||||||
}
|
}
|
||||||
|
|
||||||
func GetUserAgreement(db *DaoDB, name, idNumber, bankNumber, mobile string) (userAgrs []*model.UserAgreement, err error) {
|
|
||||||
sql := `
|
|
||||||
SELECT *
|
|
||||||
FROM user_agreement
|
|
||||||
WHERE deleted_at = ?
|
|
||||||
`
|
|
||||||
sqlParams := []interface{}{utils.DefaultTimeValue}
|
|
||||||
if name != "" {
|
|
||||||
sql += " AND name like ?"
|
|
||||||
sqlParams = append(sqlParams, "%"+name+"%")
|
|
||||||
}
|
|
||||||
if idNumber != "" {
|
|
||||||
sql += " AND idNumber like ?"
|
|
||||||
sqlParams = append(sqlParams, "%"+idNumber+"%")
|
|
||||||
}
|
|
||||||
if bankNumber != "" {
|
|
||||||
sql += " AND bankNumber like ?"
|
|
||||||
sqlParams = append(sqlParams, "%"+bankNumber+"%")
|
|
||||||
}
|
|
||||||
if mobile != "" {
|
|
||||||
sql += " AND mobile like ?"
|
|
||||||
sqlParams = append(sqlParams, "%"+mobile+"%")
|
|
||||||
}
|
|
||||||
err = GetRows(db, &userAgrs, sql, sqlParams)
|
|
||||||
return userAgrs, err
|
|
||||||
}
|
|
||||||
|
|
||||||
func GetUserOrderSMS(db *DaoDB, mobile, name string) (userOrderSms *model.UserOrderSms, err error) {
|
func GetUserOrderSMS(db *DaoDB, mobile, name string) (userOrderSms *model.UserOrderSms, err error) {
|
||||||
sql := `
|
sql := `
|
||||||
SELECT *
|
SELECT *
|
||||||
|
|||||||
@@ -17,6 +17,8 @@ const (
|
|||||||
ErrCodeJsonActEarningPriceIsZero = "-103"
|
ErrCodeJsonActEarningPriceIsZero = "-103"
|
||||||
ErrCodeJsonUserAlreadyExist = "-104" // 用户已经存在错,且能成功登录
|
ErrCodeJsonUserAlreadyExist = "-104" // 用户已经存在错,且能成功登录
|
||||||
ErrCodeJsonSyncErr = "-105"
|
ErrCodeJsonSyncErr = "-105"
|
||||||
|
|
||||||
|
ErrCodeAccountBalanceNotEnough = "-201" //余额不足
|
||||||
)
|
)
|
||||||
|
|
||||||
var (
|
var (
|
||||||
|
|||||||
@@ -191,40 +191,6 @@ func (c *User2Controller) DeleteUserInfo() {
|
|||||||
})
|
})
|
||||||
}
|
}
|
||||||
|
|
||||||
// @Title 插入用户协议表
|
|
||||||
// @Description 插入用户协议表
|
|
||||||
// @Param token header string false "认证token"
|
|
||||||
// @Param payload formData string true "格式数据,UserAgreement"
|
|
||||||
// @Success 200 {object} controllers.CallResult
|
|
||||||
// @Failure 200 {object} controllers.CallResult
|
|
||||||
// @router /CreateUserAgreement [post]
|
|
||||||
func (c *User2Controller) CreateUserAgreement() {
|
|
||||||
c.callCreateUserAgreement(func(params *tUser2CreateUserAgreementParams) (retVal interface{}, errCode string, err error) {
|
|
||||||
var userAgrs []*model.UserAgreement
|
|
||||||
if err = jxutils.Strings2Objs(params.Payload, &userAgrs); err == nil {
|
|
||||||
cms.CreateUserAgreement(params.Ctx, userAgrs)
|
|
||||||
}
|
|
||||||
return retVal, "", err
|
|
||||||
})
|
|
||||||
}
|
|
||||||
|
|
||||||
// @Title 查询用户协议表
|
|
||||||
// @Description 查询用户协议表
|
|
||||||
// @Param token header string false "认证token"
|
|
||||||
// @Param name query string false "名字"
|
|
||||||
// @Param idNumber query string false "身份证号"
|
|
||||||
// @Param bankNumber query string false "银行卡号"
|
|
||||||
// @Param mobile query string false "电话"
|
|
||||||
// @Success 200 {object} controllers.CallResult
|
|
||||||
// @Failure 200 {object} controllers.CallResult
|
|
||||||
// @router /GetUserAgreement [get]
|
|
||||||
func (c *User2Controller) GetUserAgreement() {
|
|
||||||
c.callGetUserAgreement(func(params *tUser2GetUserAgreementParams) (retVal interface{}, errCode string, err error) {
|
|
||||||
cms.GetUserAgreement(params.Ctx, params.Name, params.IdNumber, params.BankNumber, params.Mobile)
|
|
||||||
return retVal, "", err
|
|
||||||
})
|
|
||||||
}
|
|
||||||
|
|
||||||
// @Title 会员充值
|
// @Title 会员充值
|
||||||
// @Description 会员充值
|
// @Description 会员充值
|
||||||
// @Param token header string false "认证token"
|
// @Param token header string false "认证token"
|
||||||
@@ -234,7 +200,7 @@ func (c *User2Controller) GetUserAgreement() {
|
|||||||
// @router /InvestMember [post]
|
// @router /InvestMember [post]
|
||||||
func (c *User2Controller) InvestMember() {
|
func (c *User2Controller) InvestMember() {
|
||||||
c.callInvestMember(func(params *tUser2InvestMemberParams) (retVal interface{}, errCode string, err error) {
|
c.callInvestMember(func(params *tUser2InvestMemberParams) (retVal interface{}, errCode string, err error) {
|
||||||
|
errCode, err = cms.InvestMember(params.Ctx, params.MemberID)
|
||||||
return retVal, "", err
|
return retVal, errCode, err
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -250,6 +250,15 @@ func init() {
|
|||||||
Filters: nil,
|
Filters: nil,
|
||||||
Params: nil})
|
Params: nil})
|
||||||
|
|
||||||
|
beego.GlobalControllerRouter["git.rosy.net.cn/jx-callback/controllers:OrderController"] = append(beego.GlobalControllerRouter["git.rosy.net.cn/jx-callback/controllers:OrderController"],
|
||||||
|
beego.ControllerComments{
|
||||||
|
Method: "Cash",
|
||||||
|
Router: `/Cash`,
|
||||||
|
AllowHTTPMethods: []string{"post"},
|
||||||
|
MethodParams: param.Make(),
|
||||||
|
Filters: nil,
|
||||||
|
Params: nil})
|
||||||
|
|
||||||
beego.GlobalControllerRouter["git.rosy.net.cn/jx-callback/controllers:OrderController"] = append(beego.GlobalControllerRouter["git.rosy.net.cn/jx-callback/controllers:OrderController"],
|
beego.GlobalControllerRouter["git.rosy.net.cn/jx-callback/controllers:OrderController"] = append(beego.GlobalControllerRouter["git.rosy.net.cn/jx-callback/controllers:OrderController"],
|
||||||
beego.ControllerComments{
|
beego.ControllerComments{
|
||||||
Method: "CreateOrder",
|
Method: "CreateOrder",
|
||||||
@@ -295,15 +304,6 @@ func init() {
|
|||||||
Filters: nil,
|
Filters: nil,
|
||||||
Params: nil})
|
Params: nil})
|
||||||
|
|
||||||
beego.GlobalControllerRouter["git.rosy.net.cn/jx-callback/controllers:User2Controller"] = append(beego.GlobalControllerRouter["git.rosy.net.cn/jx-callback/controllers:User2Controller"],
|
|
||||||
beego.ControllerComments{
|
|
||||||
Method: "CreateUserAgreement",
|
|
||||||
Router: `/CreateUserAgreement`,
|
|
||||||
AllowHTTPMethods: []string{"post"},
|
|
||||||
MethodParams: param.Make(),
|
|
||||||
Filters: nil,
|
|
||||||
Params: nil})
|
|
||||||
|
|
||||||
beego.GlobalControllerRouter["git.rosy.net.cn/jx-callback/controllers:User2Controller"] = append(beego.GlobalControllerRouter["git.rosy.net.cn/jx-callback/controllers:User2Controller"],
|
beego.GlobalControllerRouter["git.rosy.net.cn/jx-callback/controllers:User2Controller"] = append(beego.GlobalControllerRouter["git.rosy.net.cn/jx-callback/controllers:User2Controller"],
|
||||||
beego.ControllerComments{
|
beego.ControllerComments{
|
||||||
Method: "DeleteUserInfo",
|
Method: "DeleteUserInfo",
|
||||||
@@ -331,15 +331,6 @@ func init() {
|
|||||||
Filters: nil,
|
Filters: nil,
|
||||||
Params: nil})
|
Params: nil})
|
||||||
|
|
||||||
beego.GlobalControllerRouter["git.rosy.net.cn/jx-callback/controllers:User2Controller"] = append(beego.GlobalControllerRouter["git.rosy.net.cn/jx-callback/controllers:User2Controller"],
|
|
||||||
beego.ControllerComments{
|
|
||||||
Method: "GetUserAgreement",
|
|
||||||
Router: `/GetUserAgreement`,
|
|
||||||
AllowHTTPMethods: []string{"get"},
|
|
||||||
MethodParams: param.Make(),
|
|
||||||
Filters: nil,
|
|
||||||
Params: nil})
|
|
||||||
|
|
||||||
beego.GlobalControllerRouter["git.rosy.net.cn/jx-callback/controllers:User2Controller"] = append(beego.GlobalControllerRouter["git.rosy.net.cn/jx-callback/controllers:User2Controller"],
|
beego.GlobalControllerRouter["git.rosy.net.cn/jx-callback/controllers:User2Controller"] = append(beego.GlobalControllerRouter["git.rosy.net.cn/jx-callback/controllers:User2Controller"],
|
||||||
beego.ControllerComments{
|
beego.ControllerComments{
|
||||||
Method: "GetUsers",
|
Method: "GetUsers",
|
||||||
|
|||||||
Reference in New Issue
Block a user