zhangxinlei1996 2 years ago
parent
commit
57e3696628
5 changed files with 401 additions and 175 deletions
  1. 1 1
      rpc/etc/powercheck.yaml
  2. 1 1
      rpc/internal/logic/checklogic.go
  3. 91 54
      service/coverage
  4. 306 117
      service/coverage.html
  5. 2 2
      service/power_test.go

+ 1 - 1
rpc/etc/powercheck.yaml

@@ -25,4 +25,4 @@ Mongo:
     size: 50
     address: 192.168.3.206:27080
 RedisAddrees:
-  - other=192.168.3.206:1712
+  - newother=192.168.3.206:1712

+ 1 - 1
rpc/internal/logic/checklogic.go

@@ -104,5 +104,5 @@ func (l *CheckLogic) Check(in *pb.CheckReq) (*pb.CheckResp, error) {
 			}
 		}
 	}
-	return &pb.CheckResp{}, nil
+	return resp, nil
 }

+ 91 - 54
service/coverage

@@ -1,55 +1,92 @@
 mode: set
-bp.jydev.jianyu360.cn/BaseService/powerCheckCenter/service/power.go:21.48,25.2 1 1
-bp.jydev.jianyu360.cn/BaseService/powerCheckCenter/service/power.go:28.98,32.42 2 1
-bp.jydev.jianyu360.cn/BaseService/powerCheckCenter/service/power.go:212.2,212.12 1 0
-bp.jydev.jianyu360.cn/BaseService/powerCheckCenter/service/power.go:32.42,80.23 26 1
-bp.jydev.jianyu360.cn/BaseService/powerCheckCenter/service/power.go:83.3,83.123 1 1
-bp.jydev.jianyu360.cn/BaseService/powerCheckCenter/service/power.go:87.3,87.166 1 1
-bp.jydev.jianyu360.cn/BaseService/powerCheckCenter/service/power.go:90.3,90.39 1 1
-bp.jydev.jianyu360.cn/BaseService/powerCheckCenter/service/power.go:94.3,94.139 1 1
-bp.jydev.jianyu360.cn/BaseService/powerCheckCenter/service/power.go:97.3,100.51 3 1
-bp.jydev.jianyu360.cn/BaseService/powerCheckCenter/service/power.go:125.3,126.18 2 1
-bp.jydev.jianyu360.cn/BaseService/powerCheckCenter/service/power.go:199.3,210.4 6 1
-bp.jydev.jianyu360.cn/BaseService/powerCheckCenter/service/power.go:80.23,82.4 1 0
-bp.jydev.jianyu360.cn/BaseService/powerCheckCenter/service/power.go:83.123,86.4 2 0
-bp.jydev.jianyu360.cn/BaseService/powerCheckCenter/service/power.go:87.166,89.4 1 1
-bp.jydev.jianyu360.cn/BaseService/powerCheckCenter/service/power.go:90.39,92.4 1 0
-bp.jydev.jianyu360.cn/BaseService/powerCheckCenter/service/power.go:94.139,96.4 1 0
-bp.jydev.jianyu360.cn/BaseService/powerCheckCenter/service/power.go:100.51,102.38 2 0
-bp.jydev.jianyu360.cn/BaseService/powerCheckCenter/service/power.go:119.4,122.39 4 0
-bp.jydev.jianyu360.cn/BaseService/powerCheckCenter/service/power.go:102.38,106.24 4 0
-bp.jydev.jianyu360.cn/BaseService/powerCheckCenter/service/power.go:106.24,108.6 1 0
-bp.jydev.jianyu360.cn/BaseService/powerCheckCenter/service/power.go:108.11,108.68 1 0
-bp.jydev.jianyu360.cn/BaseService/powerCheckCenter/service/power.go:108.68,110.26 2 0
-bp.jydev.jianyu360.cn/BaseService/powerCheckCenter/service/power.go:110.26,112.7 1 0
-bp.jydev.jianyu360.cn/BaseService/powerCheckCenter/service/power.go:113.11,113.50 1 0
-bp.jydev.jianyu360.cn/BaseService/powerCheckCenter/service/power.go:113.50,115.6 1 0
-bp.jydev.jianyu360.cn/BaseService/powerCheckCenter/service/power.go:115.11,115.30 1 0
-bp.jydev.jianyu360.cn/BaseService/powerCheckCenter/service/power.go:115.30,117.6 1 0
-bp.jydev.jianyu360.cn/BaseService/powerCheckCenter/service/power.go:126.18,131.49 2 1
-bp.jydev.jianyu360.cn/BaseService/powerCheckCenter/service/power.go:142.4,144.89 2 1
-bp.jydev.jianyu360.cn/BaseService/powerCheckCenter/service/power.go:148.4,149.35 2 1
-bp.jydev.jianyu360.cn/BaseService/powerCheckCenter/service/power.go:131.49,132.35 1 0
-bp.jydev.jianyu360.cn/BaseService/powerCheckCenter/service/power.go:132.35,134.64 2 0
-bp.jydev.jianyu360.cn/BaseService/powerCheckCenter/service/power.go:134.64,136.7 1 0
-bp.jydev.jianyu360.cn/BaseService/powerCheckCenter/service/power.go:136.12,136.74 1 0
-bp.jydev.jianyu360.cn/BaseService/powerCheckCenter/service/power.go:136.74,138.7 1 0
-bp.jydev.jianyu360.cn/BaseService/powerCheckCenter/service/power.go:144.89,146.5 1 0
-bp.jydev.jianyu360.cn/BaseService/powerCheckCenter/service/power.go:149.35,150.28 1 1
-bp.jydev.jianyu360.cn/BaseService/powerCheckCenter/service/power.go:196.5,196.110 1 1
-bp.jydev.jianyu360.cn/BaseService/powerCheckCenter/service/power.go:150.28,151.37 1 1
-bp.jydev.jianyu360.cn/BaseService/powerCheckCenter/service/power.go:154.6,169.45 13 1
-bp.jydev.jianyu360.cn/BaseService/powerCheckCenter/service/power.go:180.6,180.128 1 1
-bp.jydev.jianyu360.cn/BaseService/powerCheckCenter/service/power.go:184.6,184.107 1 1
-bp.jydev.jianyu360.cn/BaseService/powerCheckCenter/service/power.go:188.6,188.50 1 1
-bp.jydev.jianyu360.cn/BaseService/powerCheckCenter/service/power.go:151.37,152.15 1 0
-bp.jydev.jianyu360.cn/BaseService/powerCheckCenter/service/power.go:169.45,170.34 1 0
-bp.jydev.jianyu360.cn/BaseService/powerCheckCenter/service/power.go:170.34,172.69 2 0
-bp.jydev.jianyu360.cn/BaseService/powerCheckCenter/service/power.go:172.69,174.9 1 0
-bp.jydev.jianyu360.cn/BaseService/powerCheckCenter/service/power.go:174.14,174.73 1 0
-bp.jydev.jianyu360.cn/BaseService/powerCheckCenter/service/power.go:174.73,176.9 1 0
-bp.jydev.jianyu360.cn/BaseService/powerCheckCenter/service/power.go:180.128,182.7 1 1
-bp.jydev.jianyu360.cn/BaseService/powerCheckCenter/service/power.go:184.107,186.7 1 0
-bp.jydev.jianyu360.cn/BaseService/powerCheckCenter/service/power.go:188.50,189.105 1 1
-bp.jydev.jianyu360.cn/BaseService/powerCheckCenter/service/power.go:189.105,191.8 1 1
-bp.jydev.jianyu360.cn/BaseService/powerCheckCenter/service/power.go:217.52,221.2 1 1
+bp.jydev.jianyu360.cn/BaseService/powerCheckCenter/service/power.go:23.48,27.2 1 1
+bp.jydev.jianyu360.cn/BaseService/powerCheckCenter/service/power.go:49.124,56.100 7 1
+bp.jydev.jianyu360.cn/BaseService/powerCheckCenter/service/power.go:61.2,74.23 4 0
+bp.jydev.jianyu360.cn/BaseService/powerCheckCenter/service/power.go:93.2,94.41 2 0
+bp.jydev.jianyu360.cn/BaseService/powerCheckCenter/service/power.go:343.2,351.12 2 0
+bp.jydev.jianyu360.cn/BaseService/powerCheckCenter/service/power.go:357.2,357.19 1 0
+bp.jydev.jianyu360.cn/BaseService/powerCheckCenter/service/power.go:56.100,57.60 1 1
+bp.jydev.jianyu360.cn/BaseService/powerCheckCenter/service/power.go:57.60,59.4 1 1
+bp.jydev.jianyu360.cn/BaseService/powerCheckCenter/service/power.go:74.23,90.3 15 0
+bp.jydev.jianyu360.cn/BaseService/powerCheckCenter/service/power.go:90.8,92.3 1 0
+bp.jydev.jianyu360.cn/BaseService/powerCheckCenter/service/power.go:94.41,111.24 15 0
+bp.jydev.jianyu360.cn/BaseService/powerCheckCenter/service/power.go:258.3,260.51 3 0
+bp.jydev.jianyu360.cn/BaseService/powerCheckCenter/service/power.go:285.3,285.18 1 0
+bp.jydev.jianyu360.cn/BaseService/powerCheckCenter/service/power.go:337.3,337.68 1 0
+bp.jydev.jianyu360.cn/BaseService/powerCheckCenter/service/power.go:111.24,115.88 4 0
+bp.jydev.jianyu360.cn/BaseService/powerCheckCenter/service/power.go:120.4,139.35 10 0
+bp.jydev.jianyu360.cn/BaseService/powerCheckCenter/service/power.go:144.4,157.38 7 0
+bp.jydev.jianyu360.cn/BaseService/powerCheckCenter/service/power.go:163.4,163.24 1 0
+bp.jydev.jianyu360.cn/BaseService/powerCheckCenter/service/power.go:166.4,166.124 1 0
+bp.jydev.jianyu360.cn/BaseService/powerCheckCenter/service/power.go:170.4,170.167 1 0
+bp.jydev.jianyu360.cn/BaseService/powerCheckCenter/service/power.go:173.4,173.40 1 0
+bp.jydev.jianyu360.cn/BaseService/powerCheckCenter/service/power.go:177.4,177.47 1 0
+bp.jydev.jianyu360.cn/BaseService/powerCheckCenter/service/power.go:115.88,118.5 1 0
+bp.jydev.jianyu360.cn/BaseService/powerCheckCenter/service/power.go:139.35,142.5 2 0
+bp.jydev.jianyu360.cn/BaseService/powerCheckCenter/service/power.go:157.38,158.63 1 0
+bp.jydev.jianyu360.cn/BaseService/powerCheckCenter/service/power.go:158.63,161.6 2 0
+bp.jydev.jianyu360.cn/BaseService/powerCheckCenter/service/power.go:163.24,165.5 1 0
+bp.jydev.jianyu360.cn/BaseService/powerCheckCenter/service/power.go:166.124,169.5 2 0
+bp.jydev.jianyu360.cn/BaseService/powerCheckCenter/service/power.go:170.167,172.5 1 0
+bp.jydev.jianyu360.cn/BaseService/powerCheckCenter/service/power.go:173.40,175.5 1 0
+bp.jydev.jianyu360.cn/BaseService/powerCheckCenter/service/power.go:178.9,178.31 1 0
+bp.jydev.jianyu360.cn/BaseService/powerCheckCenter/service/power.go:178.31,189.88 6 0
+bp.jydev.jianyu360.cn/BaseService/powerCheckCenter/service/power.go:193.4,201.45 2 0
+bp.jydev.jianyu360.cn/BaseService/powerCheckCenter/service/power.go:189.88,191.5 1 0
+bp.jydev.jianyu360.cn/BaseService/powerCheckCenter/service/power.go:201.45,207.40 6 0
+bp.jydev.jianyu360.cn/BaseService/powerCheckCenter/service/power.go:215.5,219.50 2 0
+bp.jydev.jianyu360.cn/BaseService/powerCheckCenter/service/power.go:207.40,208.65 1 0
+bp.jydev.jianyu360.cn/BaseService/powerCheckCenter/service/power.go:208.65,211.7 2 0
+bp.jydev.jianyu360.cn/BaseService/powerCheckCenter/service/power.go:219.50,220.36 1 0
+bp.jydev.jianyu360.cn/BaseService/powerCheckCenter/service/power.go:220.36,222.65 2 0
+bp.jydev.jianyu360.cn/BaseService/powerCheckCenter/service/power.go:222.65,238.8 5 0
+bp.jydev.jianyu360.cn/BaseService/powerCheckCenter/service/power.go:238.13,238.75 1 0
+bp.jydev.jianyu360.cn/BaseService/powerCheckCenter/service/power.go:238.75,249.93 3 0
+bp.jydev.jianyu360.cn/BaseService/powerCheckCenter/service/power.go:249.93,251.9 1 0
+bp.jydev.jianyu360.cn/BaseService/powerCheckCenter/service/power.go:260.51,262.38 2 0
+bp.jydev.jianyu360.cn/BaseService/powerCheckCenter/service/power.go:279.4,282.39 4 0
+bp.jydev.jianyu360.cn/BaseService/powerCheckCenter/service/power.go:262.38,266.24 4 0
+bp.jydev.jianyu360.cn/BaseService/powerCheckCenter/service/power.go:266.24,268.6 1 0
+bp.jydev.jianyu360.cn/BaseService/powerCheckCenter/service/power.go:268.11,268.68 1 0
+bp.jydev.jianyu360.cn/BaseService/powerCheckCenter/service/power.go:268.68,270.26 2 0
+bp.jydev.jianyu360.cn/BaseService/powerCheckCenter/service/power.go:270.26,272.7 1 0
+bp.jydev.jianyu360.cn/BaseService/powerCheckCenter/service/power.go:273.11,273.50 1 0
+bp.jydev.jianyu360.cn/BaseService/powerCheckCenter/service/power.go:273.50,275.6 1 0
+bp.jydev.jianyu360.cn/BaseService/powerCheckCenter/service/power.go:275.11,275.30 1 0
+bp.jydev.jianyu360.cn/BaseService/powerCheckCenter/service/power.go:275.30,277.6 1 0
+bp.jydev.jianyu360.cn/BaseService/powerCheckCenter/service/power.go:285.18,288.35 2 0
+bp.jydev.jianyu360.cn/BaseService/powerCheckCenter/service/power.go:288.35,289.28 1 0
+bp.jydev.jianyu360.cn/BaseService/powerCheckCenter/service/power.go:334.5,334.110 1 0
+bp.jydev.jianyu360.cn/BaseService/powerCheckCenter/service/power.go:289.28,290.37 1 0
+bp.jydev.jianyu360.cn/BaseService/powerCheckCenter/service/power.go:293.6,307.45 13 0
+bp.jydev.jianyu360.cn/BaseService/powerCheckCenter/service/power.go:318.6,318.128 1 0
+bp.jydev.jianyu360.cn/BaseService/powerCheckCenter/service/power.go:322.6,322.107 1 0
+bp.jydev.jianyu360.cn/BaseService/powerCheckCenter/service/power.go:326.6,326.50 1 0
+bp.jydev.jianyu360.cn/BaseService/powerCheckCenter/service/power.go:290.37,291.15 1 0
+bp.jydev.jianyu360.cn/BaseService/powerCheckCenter/service/power.go:307.45,308.34 1 0
+bp.jydev.jianyu360.cn/BaseService/powerCheckCenter/service/power.go:308.34,310.69 2 0
+bp.jydev.jianyu360.cn/BaseService/powerCheckCenter/service/power.go:310.69,312.9 1 0
+bp.jydev.jianyu360.cn/BaseService/powerCheckCenter/service/power.go:312.14,312.73 1 0
+bp.jydev.jianyu360.cn/BaseService/powerCheckCenter/service/power.go:312.73,314.9 1 0
+bp.jydev.jianyu360.cn/BaseService/powerCheckCenter/service/power.go:318.128,320.7 1 0
+bp.jydev.jianyu360.cn/BaseService/powerCheckCenter/service/power.go:322.107,324.7 1 0
+bp.jydev.jianyu360.cn/BaseService/powerCheckCenter/service/power.go:326.50,327.105 1 0
+bp.jydev.jianyu360.cn/BaseService/powerCheckCenter/service/power.go:327.105,329.8 1 0
+bp.jydev.jianyu360.cn/BaseService/powerCheckCenter/service/power.go:337.68,339.4 1 0
+bp.jydev.jianyu360.cn/BaseService/powerCheckCenter/service/power.go:339.9,341.4 1 0
+bp.jydev.jianyu360.cn/BaseService/powerCheckCenter/service/power.go:351.12,352.72 1 0
+bp.jydev.jianyu360.cn/BaseService/powerCheckCenter/service/power.go:352.72,355.4 2 0
+bp.jydev.jianyu360.cn/BaseService/powerCheckCenter/service/power.go:362.52,366.2 1 0
+bp.jydev.jianyu360.cn/BaseService/powerCheckCenter/service/power.go:377.78,379.35 2 0
+bp.jydev.jianyu360.cn/BaseService/powerCheckCenter/service/power.go:382.2,382.11 1 0
+bp.jydev.jianyu360.cn/BaseService/powerCheckCenter/service/power.go:379.35,381.3 1 0
+bp.jydev.jianyu360.cn/BaseService/powerCheckCenter/service/power.go:386.52,387.28 1 0
+bp.jydev.jianyu360.cn/BaseService/powerCheckCenter/service/power.go:393.2,393.14 1 0
+bp.jydev.jianyu360.cn/BaseService/powerCheckCenter/service/power.go:387.28,389.20 2 0
+bp.jydev.jianyu360.cn/BaseService/powerCheckCenter/service/power.go:389.20,391.4 1 0
+bp.jydev.jianyu360.cn/BaseService/powerCheckCenter/service/power.go:397.44,398.21 1 1
+bp.jydev.jianyu360.cn/BaseService/powerCheckCenter/service/power.go:401.2,401.54 1 1
+bp.jydev.jianyu360.cn/BaseService/powerCheckCenter/service/power.go:398.21,400.3 1 0
+bp.jydev.jianyu360.cn/BaseService/powerCheckCenter/service/power.go:405.64,406.21 1 0
+bp.jydev.jianyu360.cn/BaseService/powerCheckCenter/service/power.go:409.2,409.56 1 0
+bp.jydev.jianyu360.cn/BaseService/powerCheckCenter/service/power.go:406.21,408.3 1 0

+ 306 - 117
service/coverage.html

@@ -55,7 +55,7 @@
 			<div id="nav">
 				<select id="files">
 				
-				<option value="file0">bp.jydev.jianyu360.cn/BaseService/powerCheckCenter/service/power.go (64.9%)</option>
+				<option value="file0">bp.jydev.jianyu360.cn/BaseService/powerCheckCenter/service/power.go (6.1%)</option>
 				
 				</select>
 			</div>
@@ -72,8 +72,10 @@
 		<pre class="file" id="file0" style="display: none">package service
 
 import (
+        "encoding/json"
         "fmt"
         "log"
+        "math/rand"
         "strings"
         "time"
 
@@ -95,79 +97,237 @@ func NewPower(conn *entity.Conn) *PowerService <span class="cov8" title="1">{
         }
 }</span>
 
-//权益相关 userid用户mongodbid baseUserId
-func (this *PowerService) Power(userid string, baseUserId, accountId, entId int64) *entity.Power <span class="cov8" title="1">{
-        //获取权益
-        //大会员状态
-        data, ok := this.Conn.MgoJy.FindById("user", userid, `{"l_vip_starttime":1,"l_vip_endtime":1,"s_phone":1,"s_m_phone":1,i_member_status":1,"i_member_give":1,"s_member_mainid":1,"i_member_sub_status":1,"i_member_trial":1,"i_vip_status":1,"o_vipjy":1,"o_jy":1,"l_registedate":1,"s_myemail":1,"base_user_id":1}`)
-        if ok &amp;&amp; *data != nil &amp;&amp; len(*data) &gt; 0 </span><span class="cov8" title="1">{
+var level_map = map[int64]string{
+        1: "专家版",
+        2: "智慧版",
+        3: "商机版",
+        4: "试用版",
+        5: "自定义",
+        6: "商机版2.0",
+        7: "专家版2.0",
+}
 
-                ent := &amp;entity.Ent{}
-                entniche := &amp;entity.Entniche{}
-                vip := &amp;entity.Vip{}
-                member := &amp;entity.Member{}
-                registeDate := common.Int64All((*data)["l_registedate"]) //注册时间
-                //VIP
-                vipStatus := common.Int64All((*data)["i_vip_status"])
-                vipStartTime := common.Int64All((*data)["l_vip_starttime"])
-                vipEndTime := common.Int64All((*data)["l_vip_endtime"])
-                ovipjy := common.ObjToMap((*data)["o_vipjy"])
-                oBuyset := common.ObjToMap((*ovipjy)["o_buyset"])
-                upgrade := common.Int64All((*oBuyset)["oBuyset"])
-                areacount := common.Int64All((*oBuyset)["areacount"])
-                buyerclasscount := common.Int64All((*oBuyset)["buyerclasscount"])
-                vip = &amp;entity.Vip{
-                        Status:          vipStatus,
-                        StartTime:       vipStartTime,
-                        EndTime:         vipEndTime,
-                        Upgrade:         upgrade,
-                        Areacount:       areacount,
-                        Buyerclasscount: buyerclasscount,
-                        MaxKeyLength:    300,
-                        PowerType:       common.Int64All(common.If(vipStatus &gt; 0, 1, 0)),
-                        //TODO 附件下载次数
-                }
-                //免费相关
-                free := &amp;entity.Free{}
-                o_jy, _ := (*data)["o_jy"].(map[string]interface{})
-                a_key, _ := o_jy["a_key"].([]interface{})
-                free.FreeHasKey = len(a_key) &gt; 0
-                //免费用户可查看企业画像次数//免费用户可查看采购单位画像次数//免费用户可以进行附件下载次数
-                freeEntPort, freeBuyerPort, freeFile := FreeExperience(userid)
-                free.FreeEntPort, free.FreeBuyerPort, free.FreeFile = int64(freeEntPort), int64(freeBuyerPort), int64(freeFile)
-                //
-                //子账号被启用
-                i_member_sub_status := common.IntAllDef((*data)["i_member_sub_status"], 0)
+/*
+        权益相关
+        userid                  //mongodb用户id
+        baseUserId                 //base_user用户id
+        accountId                 //账户id
+        entId =5;                //企业id
+        positionType    //职位类型 0个人 1企业
+        positionId                //职位id
+        切换到企业身份后,session中userId存的是企业雇员的职位id,个人身份,userId还是原来mgo库里的_id
+*/
+func (this *PowerService) Power(userid string, baseUserId, accountId, entId, positionType, positionId int64) *entity.Power <span class="cov8" title="1">{
+        ent := &amp;entity.Ent{}
+        entniche := &amp;entity.Entniche{}
+        vip := &amp;entity.Vip{}
+        member := &amp;entity.Member{}
+        free := &amp;entity.Free{}
+        userPower := entity.Power{}
+        if bytes, err := redis.GetBytes("newother", GetRedisName(positionId)); err == nil &amp;&amp; bytes != nil </span><span class="cov8" title="1">{
+                if err := json.Unmarshal(*bytes, &amp;userPower); err == nil </span><span class="cov8" title="1">{
+                        return &amp;userPower
+                }</span>
+        }
+        <span class="cov0" title="0">log.Println("##########", redis.Get("newother", "zxl"))
+
+        //获取用户本身的注册时间和邮箱、这个与个人、企业无关
+        mgoUserFields := map[string]interface{}{
+                "s_myemail":     1,
+                "l_registedate": 1,
+                "s_phone":       1,
+                "s_m_phone":     1,
+                "base_user_id":  1,
+        }
+        //大会员权益表查询条件
+        bigmemberServiceUserQuery := map[string]interface{}{"s_userid": userid, "i_status": 0}
+        //个人身份 取user表中权益
+        if positionType == 0 </span><span class="cov0" title="0">{
+                mgoUserFields["i_vip_status"] = 1
+                mgoUserFields["l_vip_starttime"] = 1
+                mgoUserFields["l_vip_endtime"] = 1
+                mgoUserFields["o_vipjy"] = 1
+                mgoUserFields["i_member_status"] = 1
+                mgoUserFields["i_member_give"] = 1
+                mgoUserFields["s_member_mainid"] = 1
+                mgoUserFields["i_member_sub_status"] = 1
+                mgoUserFields["i_member_trial"] = 1
+                mgoUserFields["o_member_jy"] = 1
+                mgoUserFields["o_jy"] = 1
+                mgoUserFields["i_ts_guide"] = 1
+                mgoUserFields["i_member_apppushunread"] = 1
+                mgoUserFields["i_entniche_apppushunread"] = 1
+                mgoUserFields["i_apppushunread"] = 1
+        }</span> else<span class="cov0" title="0"> {
+                bigmemberServiceUserQuery["s_userid"] = positionId
+        }</span>
+        <span class="cov0" title="0">data, ok := this.Conn.MgoJy.FindById("user", userid, mgoUserFields)
+        if ok &amp;&amp; data != nil &amp;&amp; len(*data) &gt; 0 </span><span class="cov0" title="0">{
+                //基本信息
+                registeDate := common.Int64All((*data)["l_registedate"])                                            //注册时间
+                phone, _ := common.If((*data)["s_phone"] != nil, (*data)["s_phone"], (*data)["s_m_phone"]).(string) //
+                mail := common.ObjToString((*data)["s_myemail"])
+                i_ts_guide := common.Int64All((*data)["i_ts_guide"])
+                i_member_apppushunread := common.Int64All((*data)["i_member_apppushunread"])
+                i_entniche_apppushunread := common.Int64All((*data)["i_entniche_apppushunread"])
+                i_apppushunread := common.Int64All((*data)["i_apppushunread"])
+                free.Mail = mail
+                free.Registedate = registeDate
+                free.Phone = phone
+                free.TsGuide = i_ts_guide
+                free.Apppushunread = i_apppushunread
+                free.EntnicheApppushunread = i_entniche_apppushunread
+                free.MemberApppushunread = i_member_apppushunread
+                //个人权益
+                if positionType == 0 </span><span class="cov0" title="0">{
+                        o_jy, _ := (*data)["o_jy"].(map[string]interface{})
+                        a_key, _ := o_jy["a_key"].([]interface{})
+                        free.FreeHasKey = len(a_key) &gt; 0
+                        if common.IntAll((o_jy)["i_newfree"]) &gt; 0 || entity.IsNewFreeTimeCell &lt; registeDate </span><span class="cov0" title="0">{
+                                //IsNewFreeTimeCell dev3.6.4版本之前发了个紧急版本处理老用户订阅问题,i_newfree字段必须用户选择地区才能生成,不能作为判断是否是新用户得唯一标识,在此版本添加了常量:IsNewFreeTimeCell作为判断标准;--ws
+                                free.IsUpgrade = true //新免费用户
+                        }</span>
+                        //超级订阅
+                        <span class="cov0" title="0">vipStatus := common.Int64All((*data)["i_vip_status"])
+                        vipStartTime := common.Int64All((*data)["l_vip_starttime"])
+                        vipEndTime := common.Int64All((*data)["l_vip_endtime"])
+                        ovipjy := common.ObjToMap((*data)["o_vipjy"])
+                        oBuyset := common.ObjToMap((*ovipjy)["o_buyset"])
+                        upgrade := common.Int64All((*oBuyset)["upgrade"])
+                        areacount := common.Int64All((*oBuyset)["areacount"])
+                        buyerclasscount := common.Int64All((*oBuyset)["buyerclasscount"])
+                        vip = &amp;entity.Vip{
+                                Status:          vipStatus,
+                                StartTime:       vipStartTime,
+                                EndTime:         vipEndTime,
+                                Upgrade:         upgrade,
+                                Areacount:       areacount,
+                                Buyerclasscount: buyerclasscount,
+                                MaxKeyLength:    300,
+                                PowerType:       common.Int64All(common.If(vipStatus &gt; 0, 1, 0)),
+                                //TODO 附件下载次数
+                        }
+                        if (*ovipjy)["a_items"] != nil </span><span class="cov0" title="0">{
+                                a_items := common.ObjArrToMapArr((*ovipjy)["a_items"].([]interface{}))
+                                vip.HasKey = HasKey(a_items)
+                        }</span>
+                        //个人member
+                        <span class="cov0" title="0">i_member_sub_status := common.IntAllDef((*data)["i_member_sub_status"], 0)
 
-                memberStatus := common.Int64All((*data)["i_member_status"])
-                memberStarttime := common.Int64All((*data)["i_member_starttime"])
-                memberEndtime := common.Int64All((*data)["i_member_endtime"])
-                member = &amp;entity.Member{
-                        Status:       memberStatus,
-                        StartTime:    memberStarttime,
-                        EndTime:      memberEndtime,
-                        MaxKeyLength: 300, //最大关键词数量限制
+                        memberStatus := common.Int64All((*data)["i_member_status"])
+                        memberStarttime := common.Int64All((*data)["i_member_starttime"])
+                        memberEndtime := common.Int64All((*data)["i_member_endtime"])
+                        member = &amp;entity.Member{
+                                Status:       memberStatus,
+                                StartTime:    memberStarttime,
+                                EndTime:      memberEndtime,
+                                MaxKeyLength: 300, //最大关键词数量限制
+                                PowerType:    common.Int64All(common.If(memberStatus &gt; 0, 1, 0)),
+                        }
+                        omemberjy := common.ObjToMap((*data)["o_member_jy"])
+                        if (*omemberjy)["a_items"] != nil </span><span class="cov0" title="0">{
+                                if arr, ok := (*omemberjy)["a_items"].([]interface{}); ok </span><span class="cov0" title="0">{
+                                        a_items := common.ObjArrToMapArr(arr)
+                                        member.HasKey = HasKey(a_items)
+                                }</span>
+                        }
+                        <span class="cov0" title="0">if memberStatus &gt; 0 </span><span class="cov0" title="0">{
+                                member.MemberPower = 1 //是否分配了大会员;0:否 1:是
+                        }</span>
+                        <span class="cov0" title="0">if (*data)["s_member_mainid"] != nil &amp;&amp; common.ObjToString((*data)["s_member_mainid"]) != "" &amp;&amp; i_member_sub_status &gt; 0 </span><span class="cov0" title="0">{
+                                member.Pid = common.ObjToString((*data)["s_member_mainid"])
+                                member.IsSubCount = 1
+                        }</span>
+                        <span class="cov0" title="0">if (member.Pid != "" &amp;&amp; common.IntAllDef((*data)["i_member_sub_status"], 0) == 1) || this.Conn.MgoJy.Count("member", map[string]interface{}{"userid": userid}) &gt; 0 </span><span class="cov0" title="0">{
+                                member.Used = true
+                        }</span>
+                        <span class="cov0" title="0">if (*data)["i_member_trial"] != nil </span><span class="cov0" title="0">{
+                                member.IsMemberTrial = 1
+                        }</span>
+                        //获取大会员版本名称
+                        <span class="cov0" title="0">member.MemberName = level_map[memberStatus]</span>
+                } else<span class="cov0" title="0"> if positionType == 1 </span><span class="cov0" title="0">{
+                        entnicheUserId := this.GetEntnicheUserId(entId, phone)
+                        //免费
+                        fdata, ok := this.Conn.MgoJy.FindOne("entniche_rule", map[string]interface{}{
+                                "i_ent":    entId,
+                                "i_userid": entnicheUserId,
+                                "i_type":   2, //0:商机管理 1:超级订阅/大会员 2:免费
+                        })
+                        o_jy, _ := (*fdata)["o_entniche"].(map[string]interface{})
+                        a_key, _ := o_jy["a_key"].([]interface{})
+                        free.FreeHasKey = len(a_key) &gt; 0
+                        if common.IntAll((o_jy)["i_newfree"]) &gt; 0 || entity.IsNewFreeTimeCell &lt; registeDate </span><span class="cov0" title="0">{ //IsNewFreeTimeCell dev3.6.4版本之前发了个紧急版本处理老用户订阅问题,i_newfree字段必须用户选择地区才能生成,不能作为判断是否是新用户得唯一标识,在此版本添加了常量:IsNewFreeTimeCell作为判断标准;--ws
+                                free.IsUpgrade = true //新免费用户
+                        }</span>
+                        //企业
+                        <span class="cov0" title="0">edata, ok := this.Conn.MgoJy.FindOne("entniche_rule", map[string]interface{}{
+                                "i_ent":    entId,
+                                "i_userid": entnicheUserId,
+                                "i_type":   1, //0:商机管理 1:超级订阅/大会员
+                                "l_endtime": map[string]interface{}{
+                                        "$gt": time.Now().Unix(),
+                                },
+                        })
+                        if ok &amp;&amp; edata != nil &amp;&amp; len(*edata) &gt; 0 </span><span class="cov0" title="0">{
+                                haskey := false
+                                status := common.Int64All((*edata)["i_status"])
+                                starttime := common.Int64All((*edata)["l_starttime"])
+                                endtime := common.Int64All((*edata)["l_endtime"])
+                                o_entniche := common.ObjToMap((*edata)["o_entniche"])
+                                if (*o_entniche)["a_items"] != nil </span><span class="cov0" title="0">{
+                                        if arr, ok := (*o_entniche)["a_items"].([]interface{}); ok </span><span class="cov0" title="0">{
+                                                a_items := common.ObjArrToMapArr(arr)
+                                                haskey = HasKey(a_items)
+                                        }</span>
+                                }
+                                //获取用户是什么版本权益
+                                //用于判断是否含有企业主体的超级订阅、大会员服务
+                                <span class="cov0" title="0">epowerData := this.Conn.Mysql.SelectBySql(`SELECT c.product_type FROM entniche_user a INNER JOIN entniche_power b 
+                                                                                         INNER JOIN entniche_wait_empower c 
+                                                                                         ON a.id =b.ent_user_id  AND c.id = b.wait_empower_id WHERE a.phone =? AND b.ent_id=? AND c.end_time &gt;?`, phone, entId, time.Now().Format(date.Date_Full_Layout))
+
+                                if epowerData != nil &amp;&amp; len(*epowerData) &gt; 0 </span><span class="cov0" title="0">{
+                                        for _, v := range *epowerData </span><span class="cov0" title="0">{
+                                                product_type := common.ObjToString(v["product_type"])
+                                                if strings.Contains(product_type, entity.ProductType_vip) </span><span class="cov0" title="0">{
+                                                        oBuyset := common.ObjToMap((*o_entniche)["o_buyset"])
+                                                        upgrade := common.Int64All((*oBuyset)["oBuyset"])
+                                                        areacount := common.Int64All((*oBuyset)["areacount"])
+                                                        buyerclasscount := common.Int64All((*oBuyset)["buyerclasscount"])
+                                                        vip = &amp;entity.Vip{
+                                                                Status:          status,
+                                                                StartTime:       starttime,
+                                                                EndTime:         endtime,
+                                                                Upgrade:         upgrade,
+                                                                Areacount:       areacount,
+                                                                Buyerclasscount: buyerclasscount,
+                                                                MaxKeyLength:    300,
+                                                                PowerType:       2,
+                                                                HasKey:          haskey,
+                                                        }
+                                                }</span> else<span class="cov0" title="0"> if strings.Contains(product_type, entity.ProductType_member) </span><span class="cov0" title="0">{
+                                                        member.PowerType = 2
+                                                        member = &amp;entity.Member{
+                                                                Status:     status,
+                                                                StartTime:  starttime,
+                                                                EndTime:    endtime,
+                                                                MemberName: level_map[status],
+                                                                PowerType:  2,
+                                                                HasKey:     haskey,
+                                                        }
+                                                        //是否试用
+                                                        if this.Conn.MgoJy.Count("member", map[string]interface{}{"userid": positionId}) &gt; 0 </span><span class="cov0" title="0">{
+                                                                member.Used = true
+                                                        }</span>
+                                                }
+                                        }
+                                }
+                        }
                 }
-                if memberStatus &gt; 0 </span><span class="cov0" title="0">{
-                        member.MemberPower = 1 //是否分配了大会员;0:否 1:是
-                }</span>
-                <span class="cov8" title="1">if (*data)["s_member_mainid"] != nil &amp;&amp; common.ObjToString((*data)["s_member_mainid"]) != "" &amp;&amp; i_member_sub_status &gt; 0 </span><span class="cov0" title="0">{
-                        member.Pid = common.ObjToString((*data)["s_member_mainid"])
-                        member.IsSubCount = 1
-                }</span>
-                <span class="cov8" title="1">if (member.Pid != "" &amp;&amp; common.IntAllDef((*data)["i_member_sub_status"], 0) == 1) || this.Conn.MgoJy.Count("member", map[string]interface{}{"userid": userid}) &gt; 0 </span><span class="cov8" title="1">{
-                        member.Used = true
-                }</span>
-                <span class="cov8" title="1">if (*data)["i_member_trial"] != nil </span><span class="cov0" title="0">{
-                        member.IsMemberTrial = 1
-                }</span>
-                //获取大会员版本名称 //TODO 自定义有问题
-                <span class="cov8" title="1">if combo := this.Conn.Mysql.SelectBySql(`select s_name from bigmember_combo where id=?`, memberStatus); combo != nil &amp;&amp; len(*combo) &gt; 0 </span><span class="cov0" title="0">{
-                        member.MemberName = common.ObjToString((*combo)[0]["s_name"])
-                }</span>
-                <span class="cov8" title="1">memberServiceMap := map[int64]bool{}
-                //获取大会员相关操作
-                serviceList := this.Conn.Mysql.Find("bigmember_service_user", map[string]interface{}{"s_userid": userid, "i_status": 0}, "DISTINCT(s_serviceid),i_frequency", "", -1, -1)
+                //大会员相关权益数量
+                <span class="cov0" title="0">memberServiceMap := map[int64]bool{}
+                serviceList := this.Conn.Mysql.Find("bigmember_service_user", bigmemberServiceUserQuery, "DISTINCT(s_serviceid),i_frequency", "", -1, -1)
                 if serviceList != nil &amp;&amp; len(*serviceList) != 0 </span><span class="cov0" title="0">{
                         pCount, eCount, dailyNum, customers := 0, 0, 0, 10
                         for _, item := range *serviceList </span><span class="cov0" title="0">{
@@ -193,44 +353,22 @@ func (this *PowerService) Power(userid string, baseUserId, accountId, entId int6
                         member.Customers = int64(customers)</span>
                 }
                 //
-                <span class="cov8" title="1">phone, _ := common.If((*data)["s_phone"] != nil, (*data)["s_phone"], (*data)["s_m_phone"]).(string)
-                if phone != "" </span><span class="cov8" title="1">{
-                        //用于判断是否含有企业主体的超级订阅、大会员服务
-                        epowerData := this.Conn.Mysql.SelectBySql(`SELECT c.product_type FROM entniche_user a INNER JOIN entniche_power b 
-                                                                                         INNER JOIN entniche_wait_empower c 
-                                                                                         ON a.id =b.ent_user_id  AND c.id = b.wait_empower_id WHERE a.phone =? AND c.end_time &gt;?`, phone, time.Now().Format(date.Date_Full_Layout))
-                        if epowerData != nil &amp;&amp; len(*epowerData) &gt; 0 </span><span class="cov0" title="0">{
-                                for _, v := range *epowerData </span><span class="cov0" title="0">{
-                                        product_type := common.ObjToString(v["product_type"])
-                                        if strings.Contains(product_type, entity.ProductType_vip) </span><span class="cov0" title="0">{
-                                                vip.PowerType = 2
-                                        }</span> else<span class="cov0" title="0"> if strings.Contains(product_type, entity.ProductType_member) </span><span class="cov0" title="0">{
-                                                member.PowerType = 2
-                                        }</span>
-                                }
-                        }
-                        //免费用户画像和附件下载权限
-                        <span class="cov8" title="1">o_jy := common.ObjToMap((*data)["o_jy"])
-                        //IsNewFreeTimeCell dev3.6.4版本之前发了个紧急版本处理老用户订阅问题,i_newfree字段必须用户选择地区才能生成,不能作为判断是否是新用户得唯一标识,在此版本添加了常量:IsNewFreeTimeCell作为判断标准;--ws
-                        if common.IntAll((*o_jy)["i_newfree"]) &gt; 0 || entity.IsNewFreeTimeCell &lt; registeDate </span><span class="cov0" title="0">{
-                                free.IsUpgrade = true //新免费用户
-                        }</span>
+                <span class="cov0" title="0">if phone != "" </span><span class="cov0" title="0">{
                         //查询是否是商机管理付费用户
-                        <span class="cov8" title="1">res := this.Conn.Mysql.SelectBySql(`SELECT i. STATUS AS status, i.isNew, i.power_source, r.role_id, u.power, i.name,i.id,i.startdate,i.enddate,i.auth_status,i.auth_reason,i.dept_subscribe FROM (entniche_user u LEFT JOIN entniche_user_role r ON r.user_id = u.id ) LEFT JOIN entniche_info i ON u.ent_id = i.id WHERE u.phone = ? and i.id = ? ORDER BY i. STATUS DESC, i.auth_status DESC`, phone, entId)
-                        if res != nil &amp;&amp; len(*res) &gt; 0 </span><span class="cov8" title="1">{
-                                for _, v := range *res </span><span class="cov8" title="1">{
+                        res := this.Conn.Mysql.SelectBySql(`SELECT i. STATUS AS status, i.isNew, i.power_source, r.role_id, u.power, i.name,i.id,i.startdate,i.enddate,i.auth_status,i.auth_reason,i.dept_subscribe FROM (entniche_user u LEFT JOIN entniche_user_role r ON r.user_id = u.id ) LEFT JOIN entniche_info i ON u.ent_id = i.id WHERE u.phone = ? and i.id = ? ORDER BY i. STATUS DESC, i.auth_status DESC`, phone, entId)
+                        if res != nil &amp;&amp; len(*res) &gt; 0 </span><span class="cov0" title="0">{
+                                for _, v := range *res </span><span class="cov0" title="0">{
                                         if common.IntAll(v["id"]) == 0 </span><span class="cov0" title="0">{
                                                 continue</span>
                                         }
-                                        <span class="cov8" title="1">entniche.IsNew = common.Int64All(v["isNew"])
+                                        <span class="cov0" title="0">entniche.IsNew = common.Int64All(v["isNew"])
                                         entniche.Status = common.Int64All(v["status"])
                                         entniche.IsEntPower = common.Int64All(v["power"])
                                         entniche.PowerSource = common.Int64All(v["power_source"])
                                         entniche.StartTime = common.Int64All(v["startdate"])
                                         entniche.EndTime = common.Int64All(v["enddate"])
-
                                         //
-                                        ent.Name = common.ObjToString((*res)[0]["name"])
+                                        ent.Name = common.ObjToString(v["name"])
                                         ent.EntRoleId = common.Int64All(v["role_id"])
                                         ent.EntAuthStatus = common.Int64All(v["auth_status"])
                                         ent.EntAuthReason = common.ObjToString(v["auth_reason"])
@@ -248,48 +386,99 @@ func (this *PowerService) Power(userid string, baseUserId, accountId, entId int6
                                                 }
                                         }
                                         //企业管理员
-                                        <span class="cov8" title="1">if ent.EntRoleId == 1 &amp;&amp; ((ent.BuyMember == 1 || ent.BuyVip == 1) || (entniche.Status == 1 &amp;&amp; entniche.PowerSource == 0)) </span><span class="cov8" title="1">{
+                                        <span class="cov0" title="0">if ent.EntRoleId == 1 &amp;&amp; ((ent.BuyMember == 1 || ent.BuyVip == 1) || (entniche.Status == 1 &amp;&amp; entniche.PowerSource == 0)) </span><span class="cov0" title="0">{
                                                 ent.EntSubscribeManager = 1
                                         }</span>
                                         //部门管理员
-                                        <span class="cov8" title="1">if ent.EntRoleId == 2 &amp;&amp; entniche.Status == 1 &amp;&amp; entniche.PowerSource == 0 &amp;&amp; ent.DeptSubscribe == 1 </span><span class="cov0" title="0">{
+                                        <span class="cov0" title="0">if ent.EntRoleId == 2 &amp;&amp; entniche.Status == 1 &amp;&amp; entniche.PowerSource == 0 &amp;&amp; ent.DeptSubscribe == 1 </span><span class="cov0" title="0">{
                                                 ent.EntSubscribeManager = 1
                                         }</span>
                                         //
-                                        <span class="cov8" title="1">if ent.EntRoleId == 1 || ent.EntRoleId == 2 </span><span class="cov8" title="1">{
-                                                if (ent.BuyMember == 1 || ent.BuyVip == 1) || (entniche.Status == 1 &amp;&amp; entniche.PowerSource == 0) </span><span class="cov8" title="1">{
+                                        <span class="cov0" title="0">if ent.EntRoleId == 1 || ent.EntRoleId == 2 </span><span class="cov0" title="0">{
+                                                if (ent.BuyMember == 1 || ent.BuyVip == 1) || (entniche.Status == 1 &amp;&amp; entniche.PowerSource == 0) </span><span class="cov0" title="0">{
                                                         ent.EntSubscribe = 1
                                                 }</span>
                                         }
                                 }
 
                                 //广东移动DICT 用户
-                                <span class="cov8" title="1">ent.PrivateGD = this.Conn.Mysql.CountBySql(`select count(1) from privatedata where phone = ?`, phone) &gt; 0</span>
+                                <span class="cov0" title="0">ent.PrivateGD = this.Conn.Mysql.CountBySql(`select count(1) from privatedata where phone = ?`, phone) &gt; 0</span>
                         }
                 }
-                <span class="cov8" title="1">log.Println("vip:", vip)
-                log.Println("member:", member)
-                log.Println("free:", free)
-                log.Println("ent:", ent)
-                log.Println("entniche:", entniche)
-                return &amp;entity.Power{
-                        Vip:      vip,
-                        Member:   member,
-                        Free:     free,
-                        Ent:      ent,
-                        Entniche: entniche,
+                <span class="cov0" title="0">if vip.Status &lt;= 0 &amp;&amp; member.Status &lt;= 0 &amp;&amp; entniche.Status &lt;= 0 </span><span class="cov0" title="0">{
+                        free.IsFree = true
+                }</span> else<span class="cov0" title="0"> {
+                        free.IsFree = false
                 }</span>
         }
-        <span class="cov0" title="0">return nil</span>
+        <span class="cov0" title="0">userPower = entity.Power{
+                Vip:      vip,
+                Member:   member,
+                Free:     free,
+                Ent:      ent,
+                Entniche: entniche,
+        }
+        //存储缓存
+        go func() </span><span class="cov0" title="0">{
+                if bytes, err := json.Marshal(userPower); err == nil &amp;&amp; bytes != nil </span><span class="cov0" title="0">{
+                        oneDayMore := 60*60*24 + rand.Intn(60*60)
+                        _ = redis.PutBytes("newother", GetRedisName(positionId), &amp;bytes, oneDayMore)
+                }</span>
+        }()
+        <span class="cov0" title="0">return &amp;userPower</span>
 }
 
 //免费用户体验会员功能权限
 //免费用户在企业画像/采购单位画像/附件下载留资 留资成功后用户才有功能使用次数
-func FreeExperience(userId string) (int, int, int) <span class="cov8" title="1">{
+func FreeExperience(userId string) (int, int, int) <span class="cov0" title="0">{
         return redis.GetInt(entity.PowerCacheDb, fmt.Sprintf(entity.PowerCacheEntPortKey, userId)),
                 redis.GetInt(entity.PowerCacheDb, fmt.Sprintf(entity.PowerCacheBuyerPortKey, userId)),
                 redis.GetInt(entity.PowerCacheDb, fmt.Sprintf(entity.PowerCacheFileKey, userId))
 }</span>
+
+/*
+判断是企业或个人
+1.企业
+ entniche_rule
+ 查询 vip/member  free ent entniche
+2.个人
+  查询vip member free
+*/
+
+func (this *PowerService) GetEntnicheUserId(entId int64, phone string) int64 <span class="cov0" title="0">{
+        data := this.Conn.Mysql.SelectBySql(`select id from entniche_user where phone =? and ent_id =?`, phone, entId)
+        if data != nil &amp;&amp; len(*data) &gt; 0 </span><span class="cov0" title="0">{
+                return common.Int64All((*data)[0]["id"])
+        }</span>
+        <span class="cov0" title="0">return -1</span>
+}
+
+//是否有关键词
+func HasKey(a_items []map[string]interface{}) bool <span class="cov0" title="0">{
+        for _, v := range a_items </span><span class="cov0" title="0">{
+                akey, _ := v["a_key"].([]interface{})
+                if len(akey) &gt; 0 </span><span class="cov0" title="0">{
+                        return true
+                }</span>
+        }
+        <span class="cov0" title="0">return false</span>
+}
+
+//获取redis key
+func GetRedisName(positionId int64) string <span class="cov8" title="1">{
+        if positionId == 0 </span><span class="cov0" title="0">{
+                return ""
+        }</span>
+        <span class="cov8" title="1">return fmt.Sprintf("user_power_info_%v", positionId)</span>
+}
+
+//清除redis缓存
+func (this *PowerService) DelRedisPower(positionId int64) bool <span class="cov0" title="0">{
+        if positionId == 0 </span><span class="cov0" title="0">{
+                return false
+        }</span>
+        <span class="cov0" title="0">return redis.Del("newother", GetRedisName(positionId))</span>
+}
 </pre>
 		
 		</div>

+ 2 - 2
service/power_test.go

@@ -55,7 +55,7 @@ func InitDb() *entity.Conn {
 		MgoJy:     MgoJy,
 	}
 
-	redis.InitRedisBySize("other=192.168.3.206:1712", 100, 30, 300)
+	redis.InitRedisBySize("newother=192.168.3.206:1712", 100, 30, 300)
 
 	log.Println("初始化成功。。")
 	NewPowerService = *NewPower(&MyConn)
@@ -108,7 +108,7 @@ func TestPowerService_Power(t *testing.T) {
 			this := &PowerService{
 				Conn: NewPowerService.Conn,
 			}
-			if got := this.Power("6103bb722abfa5f4d81bb1d1", 69871, 0, 15051); !reflect.DeepEqual(got, tt.want) {
+			if got := this.Power("6103bb722abfa5f4d81bb1d1", 69871, 0, 15051, 0, 2403); !reflect.DeepEqual(got, tt.want) {
 				t.Errorf("Power() = %v, want %v", got, tt.want)
 			}
 		})