@@ -171,7 +171,8 @@ func TaskQrcodeSubmit(c *gin.Context) { | |||||
return | return | ||||
} | } | ||||
campTask.Num-- | campTask.Num-- | ||||
update, err := sess.Where("id=?", campTask.Id).Cols("num").Update(&campTask) | |||||
campTask.SuccessNum++ | |||||
update, err := sess.Where("id=?", campTask.Id).Cols("num,success_num").Update(&campTask) | |||||
if update == 0 || err != nil { | if update == 0 || err != nil { | ||||
sess.Rollback() | sess.Rollback() | ||||
e.OutErr(c, 400, e.NewErr(400, "任务提交失败")) | e.OutErr(c, 400, e.NewErr(400, "任务提交失败")) | ||||
@@ -289,7 +290,7 @@ func TaskQrcodeList(c *gin.Context) { | |||||
for _, v := range data { | for _, v := range data { | ||||
var task models.CampTaskList | var task models.CampTaskList | ||||
svc.MasterDb(c).Where("id=?", v.TaskId).Get(&task) | svc.MasterDb(c).Where("id=?", v.TaskId).Get(&task) | ||||
QrCode := qrcode.GetPNGBase64(h5Domain + "/#/zy-base-widget-sub/pages/jcy-task-page/order-detail-page?qr_id=" + utils.IntToStr(v.Id)) | |||||
QrCode := qrcode.GetPNGBase64(h5Domain + "/#/zy-base-widget-sub/pages/jcy-task-page/task-upload-page?qr_id=" + utils.IntToStr(v.Id)) | |||||
QrCode = strings.ReplaceAll(QrCode, "\u0000", "") | QrCode = strings.ReplaceAll(QrCode, "\u0000", "") | ||||
tmp := map[string]string{ | tmp := map[string]string{ | ||||
"name": v.Name, | "name": v.Name, | ||||
@@ -323,6 +324,18 @@ func TaskQrcodeApply(c *gin.Context) { | |||||
e.OutErr(c, 400, e.NewErr(400, "任务不存在")) | e.OutErr(c, 400, e.NewErr(400, "任务不存在")) | ||||
return | return | ||||
} | } | ||||
var CampTaskTask models.CampTaskList | |||||
svc.MasterDb(c).Where("id=?", CampTaskOperatorTask.TaskId).Get(&CampTaskTask) | |||||
if CampTaskTask.UpDownState != 1 { | |||||
e.OutErr(c, 400, e.NewErr(400, "任务已下架")) | |||||
return | |||||
} | |||||
if CampTaskTask.Num-1 < 0 { | |||||
e.OutErr(c, 400, e.NewErr(400, "任务已领完")) | |||||
return | |||||
} | |||||
CampTaskTask.ExtendNum++ | |||||
svc.MasterDb(c).Where("id=?", CampTaskTask.Id).Cols("extend_num").Update(&CampTaskTask) | |||||
count, _ := svc.MasterDb(c).Where("uid=? and task_id=? and phone=?", user.Info.Uid, CampTaskOperatorTask.TaskId, args["phone"]).Count(&models.CampTaskUserPromotionQrcode{}) | count, _ := svc.MasterDb(c).Where("uid=? and task_id=? and phone=?", user.Info.Uid, CampTaskOperatorTask.TaskId, args["phone"]).Count(&models.CampTaskUserPromotionQrcode{}) | ||||
if count > 0 { | if count > 0 { | ||||
e.OutErr(c, 400, e.NewErr(400, "当前号码重复,请重新输入")) | e.OutErr(c, 400, e.NewErr(400, "当前号码重复,请重新输入")) | ||||
@@ -73,6 +73,10 @@ func ProjectLike(c *gin.Context) { | |||||
CreateTime: time.Now(), | CreateTime: time.Now(), | ||||
} | } | ||||
svc.MasterDb(c).Insert(&data) | svc.MasterDb(c).Insert(&data) | ||||
var CampTaskProject models.CampTaskProject | |||||
svc.MasterDb(c).Where("id=?", args.Id).Get(&CampTaskProject) | |||||
CampTaskProject.SuccessNum++ | |||||
svc.MasterDb(c).Where("id=?", CampTaskProject.Id).Cols("success_num").Update(&CampTaskProject) | |||||
e.OutSuc(c, "success", nil) | e.OutSuc(c, "success", nil) | ||||
return | return | ||||
@@ -32,28 +32,54 @@ func UserInfo(c *gin.Context) { | |||||
func Index(c *gin.Context) { | func Index(c *gin.Context) { | ||||
storeId := svc.GetCampStoreId(c) | storeId := svc.GetCampStoreId(c) | ||||
//TODO 要根据账号 | //TODO 要根据账号 | ||||
allTaskCount, _ := svc.MasterDb(c).Where("store_id=? and is_delete=0", storeId).Count(&models.CampTaskList{}) | |||||
orderCount, _ := svc.MasterDb(c).Where("store_id=? and state=1", storeId).Count(&models.CampTaskUserPromotionOrder{}) | |||||
settleCount, _ := svc.MasterDb(c).Where("store_id=? and settle_time is not null", storeId).Sum(&models.CampTaskUserPromotionOrder{}, "payment") | |||||
store := svc.GetCampStore(c) | |||||
taskIds := make([]int, 0) | |||||
contact := 0 | |||||
if store.Pid > 0 { | |||||
var task = make([]models.CampTaskList, 0) | |||||
svc.MasterDb(c).Where("store_id=? and is_delete=0 and contact=?", storeId, store.Id).Find(&task) | |||||
for _, v := range task { | |||||
taskIds = append(taskIds, v.Id) | |||||
} | |||||
contact = store.Id | |||||
} | |||||
taskSee := svc.MasterDb(c).Where("store_id=? and is_delete=0", storeId) | |||||
if contact > 0 { | |||||
taskSee.And("contact=?", contact) | |||||
} | |||||
allTaskCount, _ := taskSee.Count(&models.CampTaskList{}) | |||||
orderSee := svc.MasterDb(c).Where("store_id=? and state=1", storeId) | |||||
if store.Pid > 0 { | |||||
orderSee.In("task_id", taskIds) | |||||
} | |||||
orderCount, _ := orderSee.Count(&models.CampTaskUserPromotionOrder{}) | |||||
settleSee := svc.MasterDb(c).Where("store_id=? and settle_time is not null", storeId) | |||||
if store.Pid > 0 { | |||||
settleSee.In("task_id", taskIds) | |||||
} | |||||
settleCount, _ := settleSee.Sum(&models.CampTaskUserPromotionOrder{}, "payment") | |||||
totalList := []map[string]string{ | totalList := []map[string]string{ | ||||
{"name": "发布总的任务数", "value": utils.Int64ToStr(allTaskCount), "unit": "(个)"}, | {"name": "发布总的任务数", "value": utils.Int64ToStr(allTaskCount), "unit": "(个)"}, | ||||
{"name": "已完成的订单总数", "value": utils.Int64ToStr(orderCount), "unit": "(单)"}, | {"name": "已完成的订单总数", "value": utils.Int64ToStr(orderCount), "unit": "(单)"}, | ||||
{"name": "已结算的总金额", "value": utils.Float64ToStr(settleCount), "unit": "(元)"}, | {"name": "已结算的总金额", "value": utils.Float64ToStr(settleCount), "unit": "(元)"}, | ||||
} | } | ||||
myTask := make([]map[string]string, 0) | myTask := make([]map[string]string, 0) | ||||
NewCampTaskListDb := implement.NewCampTaskListDb(svc.MasterDb(c)) | |||||
myTaskList, _ := NewCampTaskListDb.FindCampTaskList(utils.IntToStr(storeId), "", "", 1, 5, "apply_time desc") | |||||
if myTaskList != nil { | |||||
for _, v := range *myTaskList { | |||||
tmp := map[string]string{ | |||||
"id": utils.IntToStr(v.Id), | |||||
"name": v.Name, | |||||
"icon": svc.ImageFormat(c, v.Logo), | |||||
} | |||||
myTask = append(myTask, tmp) | |||||
var myTaskList []models.CampTaskList | |||||
sess := svc.MasterDb(c).Where("store_id=?", storeId) | |||||
if contact > 0 { | |||||
sess.And("contact=?", contact) | |||||
} | |||||
sess.Limit(5).OrderBy("apply_time desc,id desc").Find(&myTaskList) | |||||
for _, v := range myTaskList { | |||||
tmp := map[string]string{ | |||||
"id": utils.IntToStr(v.Id), | |||||
"name": v.Name, | |||||
"icon": svc.ImageFormat(c, v.Logo), | |||||
} | } | ||||
myTask = append(myTask, tmp) | |||||
} | } | ||||
hotTask := make([]map[string]string, 0) | hotTask := make([]map[string]string, 0) | ||||
NewCampTaskListDb := implement.NewCampTaskListDb(svc.MasterDb(c)) | |||||
hotTaskList, _ := NewCampTaskListDb.FindCampTaskList(utils.IntToStr(storeId), "", "1", 1, 5, "success_num desc,id desc") | hotTaskList, _ := NewCampTaskListDb.FindCampTaskList(utils.IntToStr(storeId), "", "1", 1, 5, "success_num desc,id desc") | ||||
if hotTaskList != nil { | if hotTaskList != nil { | ||||
for _, v := range *hotTaskList { | for _, v := range *hotTaskList { | ||||
@@ -79,9 +105,28 @@ func Index(c *gin.Context) { | |||||
} | } | ||||
func StoreIndex(c *gin.Context) { | func StoreIndex(c *gin.Context) { | ||||
storeId := svc.GetCampStoreId(c) | storeId := svc.GetCampStoreId(c) | ||||
allTaskCount, _ := svc.MasterDb(c).Where("store_id=? and is_delete=0", storeId).Count(&models.CampTaskList{}) | |||||
orderCount, _ := svc.MasterDb(c).Where("store_id=? and settle_time is null", storeId).Count(&models.CampTaskUserPromotionOrder{}) | |||||
orderMoney, _ := svc.MasterDb(c).Where("store_id=? and settle_time is null", storeId).Sum(&models.CampTaskUserPromotionOrder{}, "payment") | |||||
store := svc.GetCampStore(c) | |||||
taskIds := make([]int, 0) | |||||
contact := 0 | |||||
if store.Pid > 0 { | |||||
var task = make([]models.CampTaskList, 0) | |||||
svc.MasterDb(c).Where("store_id=? and is_delete=0 and contact=?", storeId, store.Id).Find(&task) | |||||
for _, v := range task { | |||||
taskIds = append(taskIds, v.Id) | |||||
} | |||||
contact = store.Id | |||||
} | |||||
taskSee := svc.MasterDb(c).Where("store_id=? and is_delete=0", storeId) | |||||
if contact > 0 { | |||||
taskSee.And("contact=?", contact) | |||||
} | |||||
allTaskCount, _ := taskSee.Count(&models.CampTaskList{}) | |||||
orderSee := svc.MasterDb(c).Where("store_id=? and settle_time is null", storeId) | |||||
if store.Pid > 0 { | |||||
orderSee.In("task_id", taskIds) | |||||
} | |||||
orderCount, _ := orderSee.Count(&models.CampTaskUserPromotionOrder{}) | |||||
orderMoney, _ := orderSee.Sum(&models.CampTaskUserPromotionOrder{}, "payment") | |||||
settleCount, _ := svc.MasterDb(c).Where("store_id=?", storeId).Sum(&models.CampTaskStoreUserAmount{}, "amount") | settleCount, _ := svc.MasterDb(c).Where("store_id=?", storeId).Sum(&models.CampTaskStoreUserAmount{}, "amount") | ||||
totalList := []map[string]string{ | totalList := []map[string]string{ | ||||
{"name": "当前待结算订单", "value": utils.Int64ToStr(orderCount)}, | {"name": "当前待结算订单", "value": utils.Int64ToStr(orderCount)}, | ||||
@@ -89,17 +134,19 @@ func StoreIndex(c *gin.Context) { | |||||
{"name": "当前剩余预存金额", "value": "¥" + utils.Float64ToStr(settleCount)}, | {"name": "当前剩余预存金额", "value": "¥" + utils.Float64ToStr(settleCount)}, | ||||
} | } | ||||
myTask := make([]map[string]string, 0) | myTask := make([]map[string]string, 0) | ||||
NewCampTaskListDb := implement.NewCampTaskListDb(svc.MasterDb(c)) | |||||
myTaskList, _ := NewCampTaskListDb.FindCampTaskList(utils.IntToStr(storeId), "", "", 1, 5, "apply_time desc") | |||||
if myTaskList != nil { | |||||
for _, v := range *myTaskList { | |||||
tmp := map[string]string{ | |||||
"id": utils.IntToStr(v.Id), | |||||
"name": v.Name, | |||||
"icon": svc.ImageFormat(c, v.Logo), | |||||
} | |||||
myTask = append(myTask, tmp) | |||||
var myTaskList []models.CampTaskList | |||||
sess := svc.MasterDb(c).Where("store_id=?", storeId) | |||||
if contact > 0 { | |||||
sess.And("contact=?", contact) | |||||
} | |||||
sess.Limit(5).OrderBy("apply_time desc,id desc").Find(&myTaskList) | |||||
for _, v := range myTaskList { | |||||
tmp := map[string]string{ | |||||
"id": utils.IntToStr(v.Id), | |||||
"name": v.Name, | |||||
"icon": svc.ImageFormat(c, v.Logo), | |||||
} | } | ||||
myTask = append(myTask, tmp) | |||||
} | } | ||||
res := map[string]interface{}{ | res := map[string]interface{}{ | ||||
"total_list": totalList, | "total_list": totalList, | ||||
@@ -47,7 +47,7 @@ func TaskList(c *gin.Context) { | |||||
sess.And("apply_time<=?", args.EndTime) | sess.And("apply_time<=?", args.EndTime) | ||||
} | } | ||||
count, _ := sess.Limit(utils.StrToInt(args.Size), (utils.StrToInt(args.P)-1)*utils.StrToInt(args.Size)).OrderBy("apply_time desc,id desc").FindAndCount(&data) | count, _ := sess.Limit(utils.StrToInt(args.Size), (utils.StrToInt(args.P)-1)*utils.StrToInt(args.Size)).OrderBy("apply_time desc,id desc").FindAndCount(&data) | ||||
applyType := []string{"", "下架申请", "上架申请"} | |||||
applyType := []string{"", "下架申请", "上架申请", "数量调整"} | |||||
stateType := []string{"审核中", "审核通过", "审核拒绝"} | stateType := []string{"审核中", "审核通过", "审核拒绝"} | ||||
taskCate := make([]map[string]string, 0) | taskCate := make([]map[string]string, 0) | ||||
taskCateList := make([]models.CampTaskCate, 0) | taskCateList := make([]models.CampTaskCate, 0) | ||||
@@ -21,6 +21,7 @@ func TaskWaitAuditOrder(c *gin.Context) { | |||||
return | return | ||||
} | } | ||||
storeId := svc.GetCampStoreId(c) | storeId := svc.GetCampStoreId(c) | ||||
store := svc.GetCampStore(c) | |||||
list := make([]map[string]interface{}, 0) | list := make([]map[string]interface{}, 0) | ||||
var data = make([]md.TaskWaitAuditOrderRes, 0) | var data = make([]md.TaskWaitAuditOrderRes, 0) | ||||
sess := svc.MasterDb(c).Table("camp_task_user_promotion_order").Where("camp_task_user_promotion_order.store_id=?", storeId) | sess := svc.MasterDb(c).Table("camp_task_user_promotion_order").Where("camp_task_user_promotion_order.store_id=?", storeId) | ||||
@@ -42,6 +43,9 @@ func TaskWaitAuditOrder(c *gin.Context) { | |||||
if args.EndTime != "" { | if args.EndTime != "" { | ||||
sess.And("camp_task_user_promotion_order.create_time<=?", args.EndTime) | sess.And("camp_task_user_promotion_order.create_time<=?", args.EndTime) | ||||
} | } | ||||
if store.Pid > 0 { | |||||
sess.And("camp_task_list.contact=?", store.Id) | |||||
} | |||||
sess.Join("LEFT", "camp_task_user_promotion_qrcode", "camp_task_user_promotion_qrcode.id = camp_task_user_promotion_order.qrcode_id") | sess.Join("LEFT", "camp_task_user_promotion_qrcode", "camp_task_user_promotion_qrcode.id = camp_task_user_promotion_order.qrcode_id") | ||||
sess.Join("LEFT", "camp_task_list", "camp_task_list.id = camp_task_user_promotion_order.task_id") | sess.Join("LEFT", "camp_task_list", "camp_task_list.id = camp_task_user_promotion_order.task_id") | ||||
sess.Join("LEFT", "camp_task_cate", "camp_task_cate.id = camp_task_list.first_cid") | sess.Join("LEFT", "camp_task_cate", "camp_task_cate.id = camp_task_list.first_cid") | ||||
@@ -122,6 +126,7 @@ func TaskWaitSettleOrder(c *gin.Context) { | |||||
return | return | ||||
} | } | ||||
storeId := svc.GetCampStoreId(c) | storeId := svc.GetCampStoreId(c) | ||||
store := svc.GetCampStore(c) | |||||
list := make([]map[string]interface{}, 0) | list := make([]map[string]interface{}, 0) | ||||
var data = make([]md.TaskWaitAuditOrderRes, 0) | var data = make([]md.TaskWaitAuditOrderRes, 0) | ||||
sess := svc.MasterDb(c).Table("camp_task_user_promotion_order").Where("camp_task_user_promotion_order.store_id=?", storeId) | sess := svc.MasterDb(c).Table("camp_task_user_promotion_order").Where("camp_task_user_promotion_order.store_id=?", storeId) | ||||
@@ -144,6 +149,9 @@ func TaskWaitSettleOrder(c *gin.Context) { | |||||
if args.EndTime != "" { | if args.EndTime != "" { | ||||
sess.And("camp_task_user_promotion_order.create_time<=?", args.EndTime) | sess.And("camp_task_user_promotion_order.create_time<=?", args.EndTime) | ||||
} | } | ||||
if store.Pid > 0 { | |||||
sess.And("camp_task_list.contact=?", store.Id) | |||||
} | |||||
sess.Join("LEFT", "camp_task_user_promotion_qrcode", "camp_task_user_promotion_qrcode.id = camp_task_user_promotion_order.qrcode_id") | sess.Join("LEFT", "camp_task_user_promotion_qrcode", "camp_task_user_promotion_qrcode.id = camp_task_user_promotion_order.qrcode_id") | ||||
sess.Join("LEFT", "camp_task_list", "camp_task_list.id = camp_task_user_promotion_order.task_id") | sess.Join("LEFT", "camp_task_list", "camp_task_list.id = camp_task_user_promotion_order.task_id") | ||||
sess.Join("LEFT", "camp_task_cate", "camp_task_cate.id = camp_task_list.first_cid") | sess.Join("LEFT", "camp_task_cate", "camp_task_cate.id = camp_task_list.first_cid") | ||||