|
@@ -13,6 +13,7 @@ import (
|
|
upb "bp.jydev.jianyu360.cn/BaseService/userCenter/rpc/pb"
|
|
upb "bp.jydev.jianyu360.cn/BaseService/userCenter/rpc/pb"
|
|
"bp.jydev.jianyu360.cn/BaseService/userCenter/rpc/usercenter"
|
|
"bp.jydev.jianyu360.cn/BaseService/userCenter/rpc/usercenter"
|
|
"context"
|
|
"context"
|
|
|
|
+ "database/sql"
|
|
"encoding/json"
|
|
"encoding/json"
|
|
"flag"
|
|
"flag"
|
|
"fmt"
|
|
"fmt"
|
|
@@ -38,17 +39,18 @@ const (
|
|
)
|
|
)
|
|
|
|
|
|
var (
|
|
var (
|
|
- etcdAddress []string
|
|
|
|
- Mgo *mongodb.MongodbSim
|
|
|
|
- MgoLog *mongodb.MongodbSim
|
|
|
|
- MysqlMain *ml.Mysql
|
|
|
|
- goodsCode string
|
|
|
|
- goodsSpecId int64
|
|
|
|
- all map[string]string
|
|
|
|
- powerType string
|
|
|
|
- middleground *Middleground
|
|
|
|
- c *Config
|
|
|
|
- whether string
|
|
|
|
|
|
+ etcdAddress []string
|
|
|
|
+ Mgo *mongodb.MongodbSim
|
|
|
|
+ MgoLog *mongodb.MongodbSim
|
|
|
|
+ MysqlMain *ml.Mysql
|
|
|
|
+ goodsCode string
|
|
|
|
+ goodsSpecId int64
|
|
|
|
+ all map[string]string
|
|
|
|
+ powerType string
|
|
|
|
+ middleground *Middleground
|
|
|
|
+ c *Config
|
|
|
|
+ whether string
|
|
|
|
+ inputStartTime, inputEndTime, inputUserNum int64
|
|
)
|
|
)
|
|
|
|
|
|
type Config struct {
|
|
type Config struct {
|
|
@@ -112,7 +114,8 @@ func main() {
|
|
}
|
|
}
|
|
allEntity := map[int64]Entity{}
|
|
allEntity := map[int64]Entity{}
|
|
allEntity[-1] = &Yxy{}
|
|
allEntity[-1] = &Yxy{}
|
|
- allT := "-1:医械通"
|
|
|
|
|
|
+ allEntity[-2] = &Sjgl{}
|
|
|
|
+ allT := "-2:商机管理 -1:医械通"
|
|
for _, v := range *MysqlMain.SelectBySql(`select a.id,c.code,c.name,a.goods_code,a.name as spec_name from base_service.base_goods_spec a
|
|
for _, v := range *MysqlMain.SelectBySql(`select a.id,c.code,c.name,a.goods_code,a.name as spec_name from base_service.base_goods_spec a
|
|
inner join base_service.base_goods_spec_power b on (a.id=b.spec_id)
|
|
inner join base_service.base_goods_spec_power b on (a.id=b.spec_id)
|
|
inner join base_service.base_function c on (b.function_code=c.code) order by a.id`) {
|
|
inner join base_service.base_function c on (b.function_code=c.code) order by a.id`) {
|
|
@@ -149,19 +152,21 @@ func main() {
|
|
powerWay := flag.Int("a", 0, "权益开通/取消方式;0:一个身份 1:全部身份 2:仅仅企业上")
|
|
powerWay := flag.Int("a", 0, "权益开通/取消方式;0:一个身份 1:全部身份 2:仅仅企业上")
|
|
isCreateUser := flag.Bool("cu", false, "是否创建用户")
|
|
isCreateUser := flag.Bool("cu", false, "是否创建用户")
|
|
inputOrderCode := flag.String("oc", "", "订单号")
|
|
inputOrderCode := flag.String("oc", "", "订单号")
|
|
- inputStartTime := flag.Int64("st", 0, "unix类型的开始时间")
|
|
|
|
- inputEndTime := flag.Int64("et", 0, "unix类型的结束时间")
|
|
|
|
|
|
+ flag.Int64Var(&inputStartTime, "st", 0, "unix类型的开始时间")
|
|
|
|
+ flag.Int64Var(&inputEndTime, "et", 0, "unix类型的结束时间")
|
|
|
|
+ flag.Int64Var(&inputUserNum, "un", 0, "使用人数")
|
|
resetPower := flag.Bool("rp", false, "是否重新开通权益")
|
|
resetPower := flag.Bool("rp", false, "是否重新开通权益")
|
|
inputProductType := flag.String("pt", "", "订单的产品类型")
|
|
inputProductType := flag.String("pt", "", "订单的产品类型")
|
|
flag.Parse()
|
|
flag.Parse()
|
|
- //*phone = "18221111364"
|
|
|
|
- //*t = 43
|
|
|
|
- //*entName = "人脉管理企业"
|
|
|
|
|
|
+ //*phone = "15037870765"
|
|
|
|
+ //*t = -2
|
|
|
|
+ //*entName = "王传进的测试企业"
|
|
//*isCreateUser = true
|
|
//*isCreateUser = true
|
|
- //*inputOrderCode = "160007591541"
|
|
|
|
- //*inputStartTime = 1747670400
|
|
|
|
- //*inputEndTime = 1747670400
|
|
|
|
- //*inputProductType = "人脉管理"
|
|
|
|
|
|
+ //*inputOrderCode = "263451057668"
|
|
|
|
+ //inputStartTime = 1747670400
|
|
|
|
+ //inputEndTime = 1747670400
|
|
|
|
+ //inputUserNum = 7
|
|
|
|
+ //*inputProductType = "历史数据"
|
|
//*m = 2
|
|
//*m = 2
|
|
//
|
|
//
|
|
if *phone == "" {
|
|
if *phone == "" {
|
|
@@ -169,28 +174,36 @@ func main() {
|
|
}
|
|
}
|
|
if *inputOrderCode != "" {
|
|
if *inputOrderCode != "" {
|
|
*isCreateUser = true
|
|
*isCreateUser = true
|
|
- if *inputStartTime == 0 {
|
|
|
|
|
|
+ if inputStartTime == 0 {
|
|
log.Fatalln("-st 参数无效")
|
|
log.Fatalln("-st 参数无效")
|
|
}
|
|
}
|
|
- if *inputEndTime == 0 {
|
|
|
|
|
|
+ if inputEndTime == 0 {
|
|
log.Fatalln("-et 参数无效")
|
|
log.Fatalln("-et 参数无效")
|
|
}
|
|
}
|
|
if *inputProductType == "" {
|
|
if *inputProductType == "" {
|
|
log.Fatalln("-pt 参数无效")
|
|
log.Fatalln("-pt 参数无效")
|
|
}
|
|
}
|
|
}
|
|
}
|
|
- if *m != 2 {
|
|
|
|
|
|
+ if *m == 2 {
|
|
|
|
+ if *t == -2 {
|
|
|
|
+ if *entName == "" {
|
|
|
|
+ log.Fatalln("-n 参数无效")
|
|
|
|
+ } else if inputUserNum <= 0 {
|
|
|
|
+ log.Fatalln("-un 参数无效")
|
|
|
|
+ }
|
|
|
|
+ }
|
|
|
|
+ } else {
|
|
*isCreateUser = false
|
|
*isCreateUser = false
|
|
}
|
|
}
|
|
var inputStartTimeStr, inputEndTimeStr string
|
|
var inputStartTimeStr, inputEndTimeStr string
|
|
- if *inputStartTime > 0 {
|
|
|
|
- inputStartTimeStr = gtime.NewFromTimeStamp(*inputStartTime).String()
|
|
|
|
|
|
+ if inputStartTime > 0 {
|
|
|
|
+ inputStartTimeStr = gtime.NewFromTimeStamp(inputStartTime).String()
|
|
if inputStartTimeStr == "" {
|
|
if inputStartTimeStr == "" {
|
|
log.Fatalln("-st 参数无效")
|
|
log.Fatalln("-st 参数无效")
|
|
}
|
|
}
|
|
}
|
|
}
|
|
- if *inputEndTime > 0 {
|
|
|
|
- inputEndTimeStr = gtime.NewFromTimeStamp(*inputEndTime).String()
|
|
|
|
|
|
+ if inputEndTime > 0 {
|
|
|
|
+ inputEndTimeStr = gtime.NewFromTimeStamp(inputEndTime).String()
|
|
if inputEndTimeStr == "" {
|
|
if inputEndTimeStr == "" {
|
|
log.Fatalln("-et 参数无效")
|
|
log.Fatalln("-et 参数无效")
|
|
}
|
|
}
|
|
@@ -271,6 +284,7 @@ func main() {
|
|
//
|
|
//
|
|
isFindIdentity := false
|
|
isFindIdentity := false
|
|
var updateOrderUserId string
|
|
var updateOrderUserId string
|
|
|
|
+ var updateOrderEntId int64
|
|
for _, v := range *ur {
|
|
for _, v := range *ur {
|
|
id := Int64All(v["base_user_id"])
|
|
id := Int64All(v["base_user_id"])
|
|
for _, identity := range middleground.UserCenter.IdentityList(id) {
|
|
for _, identity := range middleground.UserCenter.IdentityList(id) {
|
|
@@ -325,11 +339,12 @@ func main() {
|
|
} else if *m == 2 {
|
|
} else if *m == 2 {
|
|
if identity.PositionType == 1 {
|
|
if identity.PositionType == 1 {
|
|
updateOrderUserId = gconv.String(identity.PositionId)
|
|
updateOrderUserId = gconv.String(identity.PositionId)
|
|
|
|
+ updateOrderEntId = identity.EntId
|
|
} else {
|
|
} else {
|
|
updateOrderUserId = newUserId
|
|
updateOrderUserId = newUserId
|
|
}
|
|
}
|
|
if *isCheck == 1 && !entity.beforeOpen(phone, identity) {
|
|
if *isCheck == 1 && !entity.beforeOpen(phone, identity) {
|
|
- return
|
|
|
|
|
|
+ break
|
|
}
|
|
}
|
|
startTime, endTime := "", ""
|
|
startTime, endTime := "", ""
|
|
if inputStartTimeStr != "" {
|
|
if inputStartTimeStr != "" {
|
|
@@ -465,7 +480,7 @@ func main() {
|
|
if *inputOrderCode != "" && updateOrderUserId != "" {
|
|
if *inputOrderCode != "" && updateOrderUserId != "" {
|
|
//更新订单主表
|
|
//更新订单主表
|
|
func() {
|
|
func() {
|
|
- orderData := MysqlMain.SelectBySql(`select user_id,vip_starttime,vip_endtime from jianyu.dataexport_order where order_code=?`, inputOrderCode)
|
|
|
|
|
|
+ orderData := MysqlMain.SelectBySql(`select user_id,vip_starttime,vip_endtime,ent_id from jianyu.dataexport_order where order_code=?`, inputOrderCode)
|
|
if orderData == nil || len(*orderData) == 0 {
|
|
if orderData == nil || len(*orderData) == 0 {
|
|
log.Fatalln("订单主表没有找到该订单,更新订单主表失败!")
|
|
log.Fatalln("订单主表没有找到该订单,更新订单主表失败!")
|
|
} else if len(*orderData) > 1 {
|
|
} else if len(*orderData) > 1 {
|
|
@@ -496,6 +511,15 @@ func main() {
|
|
} else {
|
|
} else {
|
|
log.Println("订单主表服务截止时间存在,无需更新")
|
|
log.Println("订单主表服务截止时间存在,无需更新")
|
|
}
|
|
}
|
|
|
|
+ if updateOrderEntId > 0 {
|
|
|
|
+ if odVar["ent_id"].IsEmpty() {
|
|
|
|
+ updateFields = append(updateFields, "企业id")
|
|
|
|
+ array = append(array, "ent_id=?")
|
|
|
|
+ updateArgs = append(updateArgs, updateOrderEntId)
|
|
|
|
+ } else {
|
|
|
|
+ log.Println("订单主表企业id存在,无需更新")
|
|
|
|
+ }
|
|
|
|
+ }
|
|
if len(array) > 0 {
|
|
if len(array) > 0 {
|
|
updateArgs = append(updateArgs, *inputOrderCode)
|
|
updateArgs = append(updateArgs, *inputOrderCode)
|
|
if MysqlMain.UpdateOrDeleteBySql(`update jianyu.dataexport_order set `+strings.Join(array, ",")+` where order_code=?`, updateArgs...) < 0 {
|
|
if MysqlMain.UpdateOrDeleteBySql(`update jianyu.dataexport_order set `+strings.Join(array, ",")+` where order_code=?`, updateArgs...) < 0 {
|
|
@@ -775,6 +799,35 @@ func (y *Yxy) getPriceBack(orderMoney float64, endTime time.Time, cycle, cycleUn
|
|
money := unitPrice * float64(int(days))
|
|
money := unitPrice * float64(int(days))
|
|
return int(money)
|
|
return int(money)
|
|
}
|
|
}
|
|
|
|
+
|
|
|
|
+// //////////////////////////////
|
|
|
|
+type Sjgl struct {
|
|
|
|
+}
|
|
|
|
+
|
|
|
|
+func (s *Sjgl) init() (string, string, int64, map[string]string) {
|
|
|
|
+ return "", "", 0, nil
|
|
|
|
+}
|
|
|
|
+func (s *Sjgl) beforeOpen(phone *string, identity *upb.Identity) bool {
|
|
|
|
+ status := 1
|
|
|
|
+ if inputEndTime < time.Now().Unix() {
|
|
|
|
+ status = 1
|
|
|
|
+ }
|
|
|
|
+ if !MysqlMain.ExecTx("开通商机管理权益", func(tx *sql.Tx) bool {
|
|
|
|
+ if MysqlMain.UpdateOrDeleteBySqlByTx(tx, `update jianyu.entniche_info set isNew=1,startdate=?,enddate=?,status=?,quota=? where id=?`, inputStartTime, inputEndTime, status, inputUserNum, identity.EntId) < 0 {
|
|
|
|
+ return false
|
|
|
|
+ }
|
|
|
|
+ if MysqlMain.UpdateOrDeleteBySqlByTx(tx, `update jianyu.entniche_user set power=1 where id=?`, identity.EntUserId) < 0 {
|
|
|
|
+ return false
|
|
|
|
+ }
|
|
|
|
+ return true
|
|
|
|
+ }) {
|
|
|
|
+ log.Println("商机管理权益开通失败!")
|
|
|
|
+ }
|
|
|
|
+ return false
|
|
|
|
+}
|
|
|
|
+func (s *Sjgl) afterOpen(phone *string, identity *upb.Identity) {
|
|
|
|
+
|
|
|
|
+}
|
|
func createUser(phone string, isCreateUser bool) (bool, *[]map[string]interface{}, string, int64) {
|
|
func createUser(phone string, isCreateUser bool) (bool, *[]map[string]interface{}, string, int64) {
|
|
ur, userOk := Mgo.Find("user", map[string]interface{}{
|
|
ur, userOk := Mgo.Find("user", map[string]interface{}{
|
|
"$or": []map[string]interface{}{
|
|
"$or": []map[string]interface{}{
|