Jelajahi Sumber

feat:调整配置

wangchuanjin 1 tahun lalu
induk
melakukan
09adbfa857
4 mengubah file dengan 105 tambahan dan 181 penghapusan
  1. 4 115
      openPower/config.json
  2. 1 1
      openPower/go.mod
  3. 2 2
      openPower/go.sum
  4. 98 63
      openPower/openPower.go

+ 4 - 115
openPower/config.json

@@ -1,5 +1,5 @@
 {
-	"etcdAddr": ["192.168.3.206:2379"],
+	"etcdAddr": ["127.0.0.1:2379"],
 	"mongodb": {
 	    "main": {
 	      "address": "192.168.3.206:27080",
@@ -10,123 +10,12 @@
   	"mysql": {
     	"main": {
 	      	"dbName": "jianyu",
-	      	"address": "192.168.3.11:3366",
-	      	"userName": "root",
-	      	"passWord": "Topnet123",
-	      	"maxOpenConns": 2,
-	      	"maxIdleConns": 2
-	    },
-	    "base": {
-	      	"dBName": "base_service",
-	      	"address" : "192.168.3.14:4000",
+	 		"address" : "192.168.3.14:4000",
 	      	"userName": "root",
 	      	"passWord": "=PDT49#80Z!RVv52_z",
-	     	"maxOpenConns": 2,
+	      	"maxOpenConns": 2,
 	      	"maxIdleConns": 2
 	    }
   	},
-	"products": {
-		"bi_yllyh": {
-			"Name": "医疗领域化BI",
-			"GoodsCode": "special_nosale_goods",
-			"GoodsSpecId": 14,
-			"All": {"医疗领域化BI": "bi_yllyh"}
-		},
-		"bi_ldx": {
-			"Name": "立达信BI分析工具",
-			"GoodsCode": "special_nosale_goods",
-			"GoodsSpecId": 15,
-			"All": {"立达信BI分析工具": "bi_ldx"}
-		},
-		"bi_hnyd_fx": {
-			"Name": "bi_河南移动_数据分析",
-			"GoodsCode": "special_nosale_goods",
-			"GoodsSpecId": 16,
-			"All": {"bi_河南移动_数据分析": "bi_hnyd_fx"}
-		},
-		"bi_hnyd_gl": {
-			"Name": "bi_河南移动_数据管理",
-			"GoodsCode": "special_nosale_goods",
-			"GoodsSpecId": 17,
-			"All": {"bi_河南移动_数据管理": "bi_hnyd_gl"}
-		},
-		"ai_helper": {
-			"Name": "智能助手",
-			"GoodsCode": "ai_helper",
-			"GoodsSpecId": 18,
-			"All": {"智能助手": "ai_helper"}
-		},
-		"bi_dx_gl": {
-			"Name": "bi_电销系统-管理权限",
-			"GoodsCode": "special_nosale_goods",
-			"GoodsSpecId": 19,
-			"All": {"bi_电销系统-管理权限": "bi_dx_gl"}
-		},
-		"bi_dx_ck": {
-			"Name": "bi_电销系统-查看权限",
-			"GoodsCode": "special_nosale_goods",
-			"GoodsSpecId": 20,
-			"All": {"bi_电销系统-查看权限": "bi_dx_ck"}
-		},
-		"cb_zy_code": {
-			"Name": "参标项目管理",
-			"GoodsCode": "special_nosale_goods",
-			"GoodsSpecId": 22,
-			"All": {"参标项目管理": "cb_zy_code"}
-		},
-		"bi_dx_fx": {
-			"Name": "bi_电销分析",
-			"GoodsCode": "special_nosale_goods",
-			"GoodsSpecId": 23,
-			"All": {"参标项目管理": "bi_dx_fx"}
-		},
-		"bi_yx": {
-			"Name": "bi_营销",
-			"GoodsCode": "special_nosale_goods",
-			"GoodsSpecId": 24,
-			"All": {"bi_营销": "bi_yx"}
-		},
-		"znsj_jqr_use": {
-			"Name": "站内社交_机器人",
-			"GoodsCode": "special_nosale_goods",
-			"GoodsSpecId": 27,
-			"All": {"站内社交_机器人": "znsj_jqr_use"}
-		},
-		"znsj_kf_use": {
-			"Name": "站内社交_客服",
-			"GoodsCode": "special_nosale_goods",
-			"GoodsSpecId": 28,
-			"All": {"站内社交_客服": "znsj_kf_use"}
-		},
-        "bi_kc_gl": {
-            "Name": "bi_客户成功管理",
-            "GoodsCode": "special_nosale_goods",
-            "GoodsSpecId": 25,
-            "All": {"bi_客户成功管理": "bi_kc_gl"}
-        },
-        "bi_kc_ck": {
-            "Name": "bi_客户成功查看",
-            "GoodsCode": "special_nosale_goods",
-            "GoodsSpecId": 26,
-            "All": {"bi_客户成功查看": "bi_kc_ck"}
-        },
-		"bi_sf_dz": {
-			"Name": "bi_数服_数据定制",
-			"GoodsCode": "special_nosale_goods",
-			"GoodsSpecId": 29,
-			"All": {"bi_数服_数据导入": "bi_sf_sjdr","bi_数服_数据清单": "bi_sf_sjqd","bi_数服_数据分析": "bi_sf_sjfx"}
-		},
-		"bi_sj_dz": {
-			"Name": "bi_数据_数据定制",
-			"GoodsCode": "special_nosale_goods",
-			"GoodsSpecId": 30,
-			"All": {"bi_数据_数据清单": "bi_sj_sjqk","bi_数据_数据分析": "bi_sj_sjfx"}
-		},
-        "bi_sj_yyszs": {
-            "Name": "bi_数据_运营商专属",
-            "GoodsCode": "special_nosale_goods",
-            "GoodsSpecId": 31,
-            "All": {"bi_数据_运营商专属": "bi_sj_yyszs"}
-        }
-	}
+	"products": [14,15,16,17,18,19,20,22,23,24,27,28,25,26,29,30,31]
 }

+ 1 - 1
openPower/go.mod

@@ -5,7 +5,7 @@ go 1.18
 require (
 	app.yhyue.com/moapp/jybase v0.0.0-20230523020646-528a068dac39
 	app.yhyue.com/moapp/jypkg v0.0.0-20230218064127-1de4f4f3e6a3
-	bp.jydev.jianyu360.cn/BaseService/resourceCenter v0.0.8
+	bp.jydev.jianyu360.cn/BaseService/resourceCenter v0.1.1-0.20231207054140-89a687b9c0bb
 	bp.jydev.jianyu360.cn/BaseService/userCenter v1.2.14
 )
 

+ 2 - 2
openPower/go.sum

@@ -7,8 +7,8 @@ bp.jydev.jianyu360.cn/BaseService/entManageApplication v0.0.0-20230209051900-1e7
 bp.jydev.jianyu360.cn/BaseService/entManageApplication v0.0.0-20230209051900-1e7dcb8f83b7/go.mod h1:7Xhygw0KBuL4h0G76FnFg4otQcA9bmOO0c8M0FCjAyQ=
 bp.jydev.jianyu360.cn/BaseService/powerCheckCenter v0.0.0-20230225125145-431a4f70093a h1:JX2jEMrbdLzXfVC/nTUvdFOkqNj5DUxkJFjl3XE1gyg=
 bp.jydev.jianyu360.cn/BaseService/powerCheckCenter v0.0.0-20230225125145-431a4f70093a/go.mod h1:5nimT8GJh46AyfeeDeyRlDQygMlO7TRM8Pwm41Gxemc=
-bp.jydev.jianyu360.cn/BaseService/resourceCenter v0.0.8 h1:14Yxzutsej7LQe3jnN61wuRX9qjAZ4FtdWMA27ewQ3w=
-bp.jydev.jianyu360.cn/BaseService/resourceCenter v0.0.8/go.mod h1:rRiGzKG4F/fmkNxXQCxrkxNWc8yf1SmW8qWCKfGIQSM=
+bp.jydev.jianyu360.cn/BaseService/resourceCenter v0.1.1-0.20231207054140-89a687b9c0bb h1:tB1iSI7JPrDzlI1N+HSM39rl+k691EeSXwCl/8QrExs=
+bp.jydev.jianyu360.cn/BaseService/resourceCenter v0.1.1-0.20231207054140-89a687b9c0bb/go.mod h1:rRiGzKG4F/fmkNxXQCxrkxNWc8yf1SmW8qWCKfGIQSM=
 bp.jydev.jianyu360.cn/BaseService/userCenter v1.2.14 h1:L/0RrgU+l8nMS7YO2JizszaX3lAo0gqzg2Bqmu0So0s=
 bp.jydev.jianyu360.cn/BaseService/userCenter v1.2.14/go.mod h1:03M9BWIGHy7BbGxLvjt8V9zZzEZDWhN6BuHVfVcDFbQ=
 cloud.google.com/go v0.26.0/go.mod h1:aQUYkXzVsufM+DwF1aE+0xfcU+56JwCaLick0ClmMTw=

+ 98 - 63
openPower/openPower.go

@@ -6,6 +6,7 @@ import (
 	"flag"
 	"fmt"
 	"log"
+	"strings"
 	"time"
 
 	. "app.yhyue.com/moapp/jybase/common"
@@ -27,7 +28,7 @@ var (
 	etcdAddress  []string
 	BaseService  *ml.Mysql
 	Mgo          *mongodb.MongodbSim
-	JyOrder      *ml.Mysql
+	MysqlMain    *ml.Mysql
 	goodsCode    string
 	goodsSpecId  int64
 	all          map[string]string
@@ -48,7 +49,7 @@ type Config struct {
 		Main *mysqlConf
 		Base *mysqlConf
 	}
-	Products map[string]*Common
+	Products []int64
 }
 
 type mgoConf struct {
@@ -74,14 +75,51 @@ func init() {
 }
 
 func main() {
-	allT := "yxy:医械云"
-	for k, v := range c.Products {
-		allEntity[k] = v
-		allT += " " + k + ":" + v.Name
+	MysqlMain = &ml.Mysql{
+		Address:      c.Mysql.Main.Address,
+		UserName:     c.Mysql.Main.UserName,
+		PassWord:     c.Mysql.Main.PassWord,
+		DBName:       c.Mysql.Main.DbName,
+		MaxOpenConns: c.Mysql.Main.MaxOpenConns,
+		MaxIdleConns: c.Mysql.Main.MaxIdleConns,
+	}
+	filterSpec := map[int64]bool{}
+	for _, v := range c.Products {
+		filterSpec[v] = true
+	}
+	MysqlMain.Init()
+	allEntity := map[int64]*Common{}
+	allT := ""
+	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_function c on (b.function_code=c.code)`) {
+		id := Int64All(v["id"])
+		if !filterSpec[id] {
+			continue
+		}
+		name, _ := v["name"].(string)
+		code, _ := v["code"].(string)
+		if allEntity[id] == nil {
+			spec_name, _ := v["spec_name"].(string)
+			spec_name = strings.TrimPrefix(spec_name, "特殊非售卖商品_")
+			if allT != "" {
+				allT += " "
+			}
+			allT += fmt.Sprintf("%d:%s", id, spec_name)
+			goods_code, _ := v["goods_code"].(string)
+			allEntity[id] = &Common{
+				Name:        spec_name,
+				GoodsCode:   goods_code,
+				GoodsSpecId: id,
+				All:         map[string]string{name: code},
+			}
+		} else {
+			allEntity[id].All[name] = code
+		}
 	}
 	phone := flag.String("p", "", "手机号")
 	m := flag.Int("m", 0, "1:查询权益 2:开通权益 3:取消权益")
-	t := flag.String("t", "", allT)
+	t := flag.Int64("t", 0, allT)
 	dayCount := flag.Int("c", 0, "自定义设置需要开通权益的天数,包含今天")
 	entName := flag.String("n", "", "企业名称")
 	isCheck := flag.Int("b", 1, "是否前置校验和后置处理")
@@ -98,26 +136,6 @@ func main() {
 	middleground = NewMiddleground(c.EtcdAddr)
 	middleground.RegResourceCenter("resource.rpc").RegUserCenter("usercenter.rpc")
 	//
-	BaseService = &ml.Mysql{
-		Address:      c.Mysql.Base.Address,
-		UserName:     c.Mysql.Base.UserName,
-		PassWord:     c.Mysql.Base.PassWord,
-		DBName:       c.Mysql.Base.DbName,
-		MaxOpenConns: c.Mysql.Base.MaxOpenConns,
-		MaxIdleConns: c.Mysql.Base.MaxIdleConns,
-	}
-	BaseService.Init()
-	//
-	JyOrder = &ml.Mysql{
-		Address:      c.Mysql.Main.Address,
-		UserName:     c.Mysql.Main.UserName,
-		PassWord:     c.Mysql.Main.PassWord,
-		DBName:       c.Mysql.Main.DbName,
-		MaxOpenConns: c.Mysql.Main.MaxOpenConns,
-		MaxIdleConns: c.Mysql.Main.MaxIdleConns,
-	}
-	JyOrder.Init()
-	//
 	Mgo = &mongodb.MongodbSim{
 		MongodbAddr: c.Mongodb.Main.Address,
 		Size:        c.Mongodb.Main.Size,
@@ -159,9 +177,9 @@ func main() {
 				}
 			}
 			msg := "身份信息:" + fmt.Sprintf("%+v", identity) + " 手机号:" + *phone
-			var c = resource.NewResource(middleground.ResourceCenter.NewClient())
+			var resClient = resource.NewResource(middleground.ResourceCenter.NewClient())
 			if *m == 1 {
-				r, err := c.Haspowers(context.Background(), &pb.HaspowersReq{
+				r, err := resClient.Haspowers(context.Background(), &pb.HaspowersReq{
 					Appid:        "10000",
 					EntId:        identity.EntId,
 					EntUserId:    identity.EntUserId,
@@ -193,37 +211,54 @@ func main() {
 				if *isCheck == 1 && !entity.beforeOpen(phone, identity) {
 					return
 				}
-				endTime := ""
-				if *dayCount > 0 {
-					now := time.Now()
-					end_time := time.Date(now.Year(), now.Month(), now.Day(), 23, 59, 59, 0, time.Local)
-					end_time = end_time.AddDate(0, 0, *dayCount-1)
-					endTime = date.FormatDate(&end_time, date.Date_Full_Layout)
-				}
-				powerReq := &pb.PowerReq{
-					Appid:       appid,
-					GoodsCode:   goodsCode,
-					GoodsSpecId: goodsSpecId,
-					BuyNum:      1,
-					Type:        1,
-					EndTime:     endTime,
-				}
-				if *powerWay == 2 {
-					powerReq.EntAccountId = identity.EntAccountId
-					powerReq.EntId = identity.EntId
-				} else {
-					powerReq.AccountId = identity.AccountId
-				}
-				r, err := c.PowerHandle(context.Background(), powerReq)
-				if err != nil {
-					log.Println(msg, powerType, "开通失败!", err)
-				} else if r.Status == 1 {
-					if *isCheck == 1 {
-						entity.afterOpen(phone, identity)
+				for _, v := range all {
+					wed, err := resClient.WaitEmpowerDetail(context.Background(), &pb.WaitEmpowerDetailReq{
+						Appid:        "10000",
+						EntId:        identity.EntId,
+						FunctionCode: v,
+					})
+					if err != nil {
+						log.Println(msg, powerType, "开通失败!", err)
+					} else if wed.Id == 0 {
+						endTime := ""
+						if *dayCount > 0 {
+							now := time.Now()
+							end_time := time.Date(now.Year(), now.Month(), now.Day(), 23, 59, 59, 0, time.Local)
+							end_time = end_time.AddDate(0, 0, *dayCount-1)
+							endTime = date.FormatDate(&end_time, date.Date_Full_Layout)
+						}
+						powerReq := &pb.PowerReq{
+							Appid:       appid,
+							GoodsCode:   goodsCode,
+							GoodsSpecId: goodsSpecId,
+							BuyNum:      0,
+							Type:        1,
+							EndTime:     endTime,
+						}
+						if *powerWay == 2 {
+							powerReq.EntAccountId = identity.EntAccountId
+							powerReq.EntId = identity.EntId
+						} else {
+							powerReq.AccountId = identity.AccountId
+						}
+						r, err := resClient.PowerHandle(context.Background(), powerReq)
+						if err != nil {
+							log.Println(msg, powerType, "开通失败!", err)
+						} else if r.Status == 1 {
+							if *isCheck == 1 {
+								entity.afterOpen(phone, identity)
+							}
+							log.Println(msg, powerType, "已开通!")
+						} else {
+							log.Println(msg, powerType, "开通失败!")
+						}
 					}
-					log.Println(msg, powerType, "已开通!")
-				} else {
-					log.Println(msg, powerType, "开通失败!")
+					resClient.Empower(context.Background(), &pb.EmpowerReq{
+						Appid:        "10000",
+						FunctionCode: v,
+						EntId:        identity.EntId,
+						EntUserId:    []int64{identity.EntUserId},
+					})
 				}
 			} else if *m == 3 {
 				powerReq := &pb.PowerReq{
@@ -241,7 +276,7 @@ func main() {
 					powerReq.EntAccountId = identity.EntAccountId
 					powerReq.EntId = identity.EntId
 				}
-				r, err := c.PowerHandle(context.Background(), powerReq)
+				r, err := resClient.PowerHandle(context.Background(), powerReq)
 				if err != nil {
 					log.Println(msg, powerType, "取消失败!", err)
 				} else if r.Status == 1 {
@@ -363,12 +398,12 @@ func (y *Yxy) isOK(phone string, user map[string]interface{}, order_user_id stri
 			return false, false, nil, nil
 		}
 	}
-	bigMemberRs := JyOrder.SelectBySql(`select * from dataexport_order where user_id=? and order_status=1 and product_type ="大会员" and (timestampdiff(day,vip_starttime,vip_endtime)>=365) order by create_time desc limit 1`, mainUserId)
+	bigMemberRs := MysqlMain.SelectBySql(`select * from dataexport_order where user_id=? and order_status=1 and product_type ="大会员" and (timestampdiff(day,vip_starttime,vip_endtime)>=365) order by create_time desc limit 1`, mainUserId)
 	if bigMemberRs != nil && len(*bigMemberRs) == 1 {
 		(*bigMemberRs)[0]["user_phone"] = phone
 		(*bigMemberRs)[0]["user_id"] = order_user_id
 	}
-	vipRs := JyOrder.SelectBySql(`select * from dataexport_order where user_id=? and order_status=1 and product_type ="VIP订阅" and (timestampdiff(day,vip_starttime,vip_endtime)>=365) order by create_time desc limit 1`, order_user_id)
+	vipRs := MysqlMain.SelectBySql(`select * from dataexport_order where user_id=? and order_status=1 and product_type ="VIP订阅" and (timestampdiff(day,vip_starttime,vip_endtime)>=365) order by create_time desc limit 1`, order_user_id)
 	if (bigMemberRs == nil || len(*bigMemberRs) == 0) && (vipRs == nil || len(*vipRs) == 0) {
 		log.Println("没有查询到该用户的年度超级订阅或者大会员订单")
 		return false, false, nil, nil
@@ -458,7 +493,7 @@ func (y *Yxy) createYxtOrder(phone string, user map[string]interface{}, orderVip
 	insertOrder["pay_time"] = insertOrder["vip_starttime"]
 	insertOrder["prepay_time"] = insertOrder["vip_starttime"]
 	delete(insertOrder, "id")
-	saveRs := JyOrder.Insert("dataexport_order", insertOrder)
+	saveRs := MysqlMain.Insert("dataexport_order", insertOrder)
 	if saveRs > 0 {
 		log.Println("医械通订单保存成功")
 	} else {