浏览代码

Merge branch 'develop' of 192.168.3.17:zhanghongbo/qfw into develop

wangchuanjin 9 年之前
父节点
当前提交
997c2db22c

+ 37 - 22
common/src/qfw/util/credit/credit.go

@@ -31,6 +31,7 @@ const (
 	A_WCJY   = "a14" //完成交易
 	A_WCJYPJ = "a15" //完成交易评价
 	A_JYSCTS = "a63" //剑鱼首次推送
+	A_ALL    = "a64" //一次性积分任务完成
 
 	B_QD       = "b1" //签到
 	B_QD_T     = 7    //最高连续签到次数
@@ -76,6 +77,8 @@ func InCreditA(userId, code string, credit_a int) (bool, int, int, error) {
 		err := Rc.InCreadit(&rpc.CreditData{Code: code, Uid: userId, Num: 0, OtherParam: param}, &Replay)
 		if err == nil && Replay > 0 {
 			result, credit_a = UpuserCreditA(code, userId, credit_a)
+		} else {
+			log.Println("调用rpc出错", err)
 		}
 		return result, credit_a, Replay, err
 	}
@@ -102,8 +105,10 @@ func InCreditB(userId, code string, param map[string]interface{}) (bool, int, er
 	}
 	var Replay int
 	err := Rc.InCreadit(&rpc.CreditData{Code: code, Uid: userId, Num: 0, OtherParam: param}, &Replay)
-	if err == nil && Replay > 0 {
+	if err == nil && Replay != 0 {
 		b = true
+	} else {
+		log.Println("调用rpc出错", err)
 	}
 	return b, Replay, err
 }
@@ -156,16 +161,20 @@ func AAllIsHasDo(num int) bool {
 }
 
 //扣积分
-func OutCreditB(userId, code, umid string, score int, param map[string]interface{}) (bool, int) {
+func OutCreditB(userId, code, umid string, score int, param map[string]interface{},
+	xb *xweb.Action) (bool, int) {
 	b := false
 	var Replay int
 	if len(userId) < 5 {
 		return b, Replay
 	}
 	err := Rc.OutCreadit(&rpc.CreditData{Code: code, Uid: userId, Umid: umid, Num: score, OtherParam: param}, &Replay)
-	if err == nil && Replay > 0 {
+	if err == nil && Replay != 0 {
 		b = true
 	}
+	if b {
+		xb.Session().UpdateByCustomField("id", userId, "i_credit", util.IntAll(xb.GetSession("i_credit"))+Replay)
+	}
 	return b, Replay
 }
 
@@ -173,28 +182,34 @@ func OutCreditB(userId, code, umid string, score int, param map[string]interface
 func UpuserCreditSession(userId, code, dtype string, param map[string]interface{}, xb *xweb.Action) bool {
 	b := false
 	score := 0
-	if dtype == "A" {
-		credit_a := util.IntAll(xb.GetSession("credit_a"))
-		b, credit_a, score, _ = InCreditA(userId, code, credit_a)
-		if b {
-			xb.Session().UpdateByCustomField("id", userId, "credit_a", credit_a)
-			xb.Session().UpdateByCustomField("id", userId, "i_credit", util.IntAll(xb.GetSession("i_credit"))+score)
-		} else {
-			log.Println(userId, code, "一次性任务送积分失败")
-		}
-		if AAllIsHasDo(credit_a) {
-			b, _, _, _ := InCreditA(userId, "a64", credit_a)
+	util.Try(func() {
+		if dtype == "A" {
+			credit_a := util.IntAll(xb.GetSession("credit_a"))
+			b, credit_a, score, _ = InCreditA(userId, code, credit_a)
 			if b {
-				log.Println(userId, "完成所有一次性任务")
+				xb.Session().UpdateByCustomField("id", userId, "credit_a", credit_a)
+				xb.Session().UpdateByCustomField("id", userId, "i_credit", util.IntAll(xb.GetSession("i_credit"))+score)
+			} else {
+				log.Println(userId, code, "一次性任务送积分失败")
+			}
+			if AAllIsHasDo(credit_a) {
+				b, _, _, err := InCreditA(userId, A_ALL, credit_a)
+				if b {
+					log.Println(userId, "完成所有一次性任务,送分成功")
+				} else {
+					log.Println(userId, "完成所有一次性任务,送分失败", err)
+				}
 			}
-		}
-	} else {
-		b, score, _ = InCreditB(userId, code, param)
-		if b {
-			xb.Session().UpdateByCustomField("id", userId, "i_credit", util.IntAll(xb.GetSession("i_credit"))+score)
 		} else {
-			log.Println(userId, code, param, "任务送积分失败")
+			b, score, _ = InCreditB(userId, code, param)
+			if b {
+				xb.Session().UpdateByCustomField("id", userId, "i_credit", util.IntAll(xb.GetSession("i_credit"))+score)
+			} else {
+				log.Println(userId, code, param, "任务送积分失败")
+			}
 		}
-	}
+	}, func(e interface{}) {
+		log.Println("更新积分和session出错", e)
+	})
 	return b
 }

+ 17 - 0
core/src/qfw/coreutil/weixinrpc.go

@@ -1,6 +1,7 @@
 package coreutil
 
 import (
+	"fmt"
 	"log"
 	"net/rpc"
 	"qfw/coreconfig"
@@ -77,3 +78,19 @@ func GetJSInterfaceParam(url string) []string {
 	}
 	return ret
 }
+
+//
+func GetShareQR(url uint32) string {
+	var ret string
+	client, err := rpc.DialHTTP("tcp", rpcserver)
+	if err != nil {
+		log.Println(err.Error())
+		return ret
+	}
+	err = client.Call("WeiXinRpc.GetShareQR", url, &ret)
+	if err != nil {
+		log.Println(err.Error())
+	}
+	fmt.Println("ret:::::::::::", ret)
+	return ret
+}

+ 1 - 1
core/src/qfw/front/index.go

@@ -98,7 +98,7 @@ func (i *Index) LoadIndex() error {
 		}
 		//
 		content, _ := i.Render4Cache("/index.html", &xweb.T{"data": data, "pagination": pagination, "zkdata": zkdata, "entdata": entdata, "sfdata": sfdata})
-		redis.Put("other", "/", string(content), 0) //设置首页缓存
+		redis.Put("other", "/", string(content), 60*60*2) //设置首页缓存
 		return i.SetBody(content)
 	}
 }

+ 18 - 0
core/src/qfw/front/webcentent.go

@@ -11,6 +11,7 @@ import (
 	"github.com/go-xweb/xweb"
 	"html/template"
 	"log"
+	"qfw/coreutil"
 	"qfw/util"
 	"qfw/util/elastic"
 	. "qfw/util/mongodb"
@@ -42,6 +43,23 @@ type Newscont struct {
 	getJsonList xweb.Mapper `xweb:"POST /front/(\\w+)list/list"`
 	//微信端使用通用信息展示页
 	weixincontent xweb.Mapper `xweb:"GET /front/weixincontent/(\\w+)"`
+	//微信分享内容
+	weixinshare xweb.Mapper `xweb:"GET /front/weixinshare"`
+}
+
+//微信分享内容
+
+func (e *Newscont) Weixinshare() error {
+	id := coreutil.GetShareId(coreutil.TYPE_INVITE)
+	var pngdata = ""
+	if ret := redis.Get("sso", fmt.Sprintf("p_share_%d", id)); ret != nil {
+		return e.SetBody([]byte(ret.(string)))
+	} else {
+		pngdata = coreutil.GetShareQR(id)
+	}
+	e.T["pngdata"] = pngdata
+	fmt.Println("pngdata:", pngdata, "000000:", fmt.Sprintf("p_share_%d", id))
+	return e.Render("/manage/web_weixinshare.html", &e.T)
 }
 
 //文章点赞

+ 22 - 13
core/src/qfw/mobile/wxmenu.go

@@ -139,22 +139,26 @@ func (m *Mobile) SwordfishPay() error {
 						mapPush := map[string]string{}
 						for _, v := range types {
 							util.Try(func() {
-								obj_typei := user["o_msgset"].(map[string]interface{})[v]
 								b_newopen := false
-								if obj_typei == nil {
+								if user["o_msgset"] == nil {
 									b_newopen = true
 								} else {
-									obj_type := obj_typei.(map[string]interface{})
-									st := obj_type["i_status"]
-									objt := obj_type["l_enddate"]
-									if st == nil || objt == nil {
+									obj_typei := user["o_msgset"].(map[string]interface{})[v]
+									if obj_typei == nil {
 										b_newopen = true
 									} else {
-										//判断是否开启
-										i_st := st.(int)
-										l_objt := objt.(int64)
-										if !(i_st == 1 && l_objt > util.GetDayStartSecond(0)) {
+										obj_type := obj_typei.(map[string]interface{})
+										st := obj_type["i_status"]
+										objt := obj_type["l_enddate"]
+										if st == nil || objt == nil {
 											b_newopen = true
+										} else {
+											//判断是否开启
+											i_st := st.(int)
+											l_objt := objt.(int64)
+											if !(i_st == 1 && l_objt > util.GetDayStartSecond(0)) {
+												b_newopen = true
+											}
 										}
 									}
 								}
@@ -168,13 +172,14 @@ func (m *Mobile) SwordfishPay() error {
 						}
 						//i_credit -= len(isPay) * 1000
 						if i_credit >= 0 {
-							if b, _ := credit.OutCreditB(userId.(string), credit.V_JY, util.ObjToString(m.GetSession("s_m_openid")), 0, isPay); b {
+							credit_a := util.IntAll(m.GetSession("credit_a"))
+							b := false
+							if b, _ = credit.OutCreditB(userId.(string), credit.V_JY, util.ObjToString(m.GetSession("s_m_openid")), 0, isPay, m.Action); b {
 								//先扣分,然后更新,然后返回结果
 								res["credit"] = i_credit
 								res["oprstatus"] = true
 								//初次提交积分时
 								//加上剑鱼是否推送过的逻辑判断
-								credit_a := util.IntAll(m.GetSession("credit_a"))
 								if !credit.AIsHasDo(credit.A_JYSCTS, credit_a) {
 									util.Try(func() {
 										//对用户进行推送
@@ -185,7 +190,7 @@ func (m *Mobile) SwordfishPay() error {
 											Mopenid:  m.GetSession("s_m_openid").(string),
 											PushType: mapPush,
 										}
-										go clent.Call("PushInfo.PushMsg", &rpcData, &repl)
+										clent.Call("PushInfo.PushMsg", &rpcData, &repl)
 										if errs == nil {
 											//修改剑鱼占位值
 											credit.CheckSword(userId.(string), credit.A_JYSCTS, credit_a, m.Action)
@@ -195,6 +200,10 @@ func (m *Mobile) SwordfishPay() error {
 									})
 								}
 							}
+							//首次使用剑鱼送积分
+							if b && !credit.AIsHasDo(credit.A_SYJY, credit_a) {
+								credit.UpuserCreditSession(userId.(string), credit.A_SYJY, "A", nil, m.Action)
+							}
 						} else {
 							res["credit"] = i_credit
 						}

+ 6 - 7
core/src/qfw/swordfish/swordfish.go

@@ -9,13 +9,12 @@ import (
 
 type SwordFish struct {
 	*xweb.Action
-	swordfish     xweb.Mapper `xweb:"/front/swordfish"`                 //剑鱼
-	rsssetAjaxReq xweb.Mapper `xweb:"/member/swordfish/rssset/ajaxReq"` //订阅消息设置ajax请求
-	rssSet        xweb.Mapper `xweb:"/member/swordfish/rssset"`         //订阅消息设置
-	infolist      xweb.Mapper `xweb:"/member/swordfish/infolist"`       //剑鱼
-	swordfishlist xweb.Mapper `xweb:"/member/swordfish/swordfishlist"`  //剑鱼列表
-	setVisited    xweb.Mapper `xweb:"/member/swordfish/setVisited"`     //已经访问过的列表
-	visitRedirect xweb.Mapper `xweb:"/visit/redirect"`                  //剑鱼跳转访问请求,后续统计
+	swordfish     xweb.Mapper `xweb:"/front/swordfish"`                //剑鱼
+	rssSet        xweb.Mapper `xweb:"/member/swordfish/rssset"`        //订阅消息设置
+	infolist      xweb.Mapper `xweb:"/member/swordfish/infolist"`      //剑鱼
+	swordfishlist xweb.Mapper `xweb:"/member/swordfish/swordfishlist"` //剑鱼列表
+	setVisited    xweb.Mapper `xweb:"/member/swordfish/setVisited"`    //已经访问过的列表
+	visitRedirect xweb.Mapper `xweb:"/visit/redirect"`                 //剑鱼跳转访问请求,后续统计
 }
 
 func init() {

+ 21 - 38
core/src/qfw/swordfish/swordfishmanage.go

@@ -2,8 +2,6 @@ package swordfish
 
 import (
 	"gopkg.in/mgo.v2/bson"
-	"qfw/util"
-	credit "qfw/util/credit"
 	"qfw/util/mongodb"
 	"qfw/util/redis"
 	"time"
@@ -29,44 +27,29 @@ func (s *SwordFish) Swordfish() error {
 //跳转到订阅设置页面
 func (s *SwordFish) RssSet() error {
 	u := mongodb.FindById("user", s.GetSession("userId").(string), `{"o_msgset":1}`)
-	s.T["msgset"] = (*u)["o_msgset"]
-	//判断是否使用过剑鱼
-
-	return s.Render("/swordfish/rssset.html", &s.T)
-}
-func (s *SwordFish) RsssetAjaxReq() error {
-	userId := s.GetSession("userId").(string)
-	var flag = "n"
-	msgset := make(map[string]interface{})
-	//投标公告
-	if tender_flag, _ := s.GetBool("tender_flag"); tender_flag {
-		tender := make(map[string]interface{})
-		tender["a_key"] = s.GetSlice("tender_keys")
-		tender["s_scope"] = s.GetString("tender_scope")
-		msgset["tender"] = tender
-	}
-	//中标公告
-	if bid_flag, _ := s.GetBool("bid_flag"); bid_flag {
-		bid := make(map[string]interface{})
-		bid["a_key"] = s.GetSlice("bid_keys")
-		bid["s_scope"] = s.GetString("bid_scope")
-		msgset["bid"] = bid
-	}
-	//更新数据库
-	msgset["l_modifydate"] = time.Now().Unix()
-	if mongodb.Update("user", `{"_id":"`+userId+`"}`, &map[string]interface{}{"$set": map[string]interface{}{"o_msgset": msgset}}, false, false) {
-		flag = "y"
-	}
-	//首次使用剑鱼送积分
-	if flag == "y" {
-		if credit.AIsHasDo(credit.A_SYJY, util.IntAll(s.GetSession("credit_a"))) {
-			credit.UpuserCreditSession(userId, credit.A_SYJY, "A", nil, s.Action)
+	msgset := (*u)["o_msgset"]
+	if msgset != nil {
+		if set, _ := msgset.(map[string]interface{}); set != nil {
+			if set["tender"] != nil {
+				tender, _ := set["tender"].(map[string]interface{})
+				if tender["l_enddate"] != nil {
+					t := tender["l_enddate"].(int64) - time.Now().Unix()
+					tender["day"] = t / (60 * 60 * 24)
+				}
+			}
+		}
+		if set, _ := msgset.(map[string]interface{}); set != nil {
+			if set["bid"] != nil {
+				bid, _ := set["bid"].(map[string]interface{})
+				if bid["l_enddate"] != nil {
+					t := bid["l_enddate"].(int64) - time.Now().Unix()
+					bid["day"] = t / (60 * 60 * 24)
+				}
+			}
 		}
 	}
-	s.ServeJson(map[string]interface{}{
-		"flag": flag,
-	})
-	return nil
+	s.T["msgset"] = msgset
+	return s.Render("/swordfish/rssset.html", &s.T)
 }
 
 //跳转到用户中心剑鱼信息列表

+ 1 - 1
core/src/timetask.json

@@ -1 +1 @@
-{"comment":{"c_rate":720,"commentrate":900},"market":{"demand":{"attr":["i_hits","i_bids","i_status"],"timepoint":"2016-01-18 16:22:55"},"service":{"attr":["i_hits","i_sales","i_comments","i_score","i_appcounts"],"timepoint":"2016-01-18 16:22:55"}},"marketisstart":true,"marketrate":300}
+{"comment":{"c_rate":720,"commentrate":900},"market":{"demand":{"attr":["i_hits","i_bids","i_status"],"timepoint":"2016-01-19 09:51:19"},"service":{"attr":["i_hits","i_sales","i_comments","i_score","i_appcounts"],"timepoint":"2016-01-19 09:51:19"}},"marketisstart":true,"marketrate":300}

+ 6 - 0
core/src/web/staticres/css/dev-qfw.css

@@ -2353,6 +2353,12 @@ style="color:#D03102;margin-right:5px;"
 	padding: 10px 10px 10px 20px;
 	font-size: 16px;
 }
+.b-modal .modal-header-jy{
+	background-color: #37C6DA;
+	color: #FFFFFF;
+	padding: 10px 10px 10px 20px;
+	font-size: 16px;
+}
 .b-modal .modal-header .close{
 	opacity: 1;
 	text-shadow: none;

+ 25 - 2
core/src/web/staticres/css/index-new.css

@@ -553,7 +553,7 @@ a:focus, a:hover{
 	border:1px solid #f0f0f0;
 }
 .index-new-tg-tb img{
-	width:40px;
+	width:36px;
 	height:39px;
 	margin-bottom:1px;
 }
@@ -566,10 +566,30 @@ a:focus, a:hover{
 	color:#FFF;
 	padding:24px 6px;
 	height:120px;
-	width:40px; 
+	width:36px; 
 	border:1px solid #FF5A5F;
 	font-size: 16px;
 }
+.index-new-mingcheng1 div{
+	height: 119px;
+	background-color:#00bcd4;
+	color:#FFF;
+	padding:24px 6px;
+	width:36px; 
+	border:1px solid #00bcd4;
+	font-size: 16px;
+	
+}
+.index-new-mingcheng2 div{
+	height: 119px;
+	background-color:#16a086;
+	color:#FFF;
+	padding:24px 6px;
+	width:36px; 
+	border:1px solid #16a086;
+	font-size: 16px;
+	
+}
 .index-new-tg-con ul li{
 	padding:5px;
 }    
@@ -597,3 +617,6 @@ a:focus, a:hover{
 	color:#A0A0A0;
 	font-size:12px;
 }
+.index-new-tg-tb .bmrzqy img{
+	margin-bottom:0px;
+}

+ 5 - 4
core/src/web/staticres/css/qfw.css

@@ -155,9 +155,9 @@ a.new_red:hover, a.new_red:active {
 }
 /* 底部 */
 .qfw-bottom {
-	background: url("../images/bottom_bg.jpg");
+	background: url("../images/bottom_bg_new.jpg");
 	font-size: 12px;
-	height: 122px;
+	height: 120px;
 	padding: 0px;
 }
 
@@ -170,13 +170,14 @@ a.new_red:hover, a.new_red:active {
 
 .qfw-bottom>div {
 	display: inline-block;
+	font-size:14px;
 }
 
 .qfw-bottom img {
 	vertical-align: text-bottom;
 	margin-top: 26px;
-	width: 70px;
-	height: 70px;
+	width: 50px;
+	height: 52px;
 }
 
 .qfw-bottom-text span {

+ 9 - 0
core/src/web/staticres/css/swordfish.css

@@ -88,6 +88,11 @@ a:focus, a:hover{
 	border: 1px solid #F5DC99;
 	text-indent: 2em;
 }
+.swordfish-explain2{
+	background-color: #FCF8E3;
+	padding: 10px 30px;
+	text-indent: 2em;
+}
 .swordfish-explain span{
 	color: #A0A0A0;
 }
@@ -329,6 +334,10 @@ a:focus, a:hover{
 	border-radius: 8px !important;
 	margin-right: 10px;
 }
+.btn-primary, .btn-primary:hover, .btn-primary:focus, .btn-primary:active {
+    background-color: #37C6DA;
+    border-color: #37C6DA;
+}
 @media (max-width: 1200px) {
 	.b-left{
 		width: 100%;

二进制
core/src/web/staticres/images/bottom_bg.jpg


二进制
core/src/web/staticres/images/bottom_bg.png


二进制
core/src/web/staticres/images/bottom_bg_bak.jpg


二进制
core/src/web/staticres/images/bottom_bg_bak.png


二进制
core/src/web/staticres/images/bottom_bg_new.jpg


二进制
core/src/web/staticres/images/bottom_logo.png


二进制
core/src/web/staticres/images/bottom_logo_bak.png


+ 0 - 0
core/src/web/staticres/wxswordfish/images/4 .png → core/src/web/staticres/wxswordfish/images/feerule.png


+ 9 - 5
core/src/web/staticres/wxswordfish/style.css

@@ -529,18 +529,18 @@ img{
 }
 .tip-button{
 	float: right;
- 	margin-right: 50px;
+ 	margin-right: 20px;
 	margin-top:5px;
 }
 .tip-button span{
-	border-radius:5px;
+	border-radius:4px;
 	display:inline-block;
-	padding:3px 10px;
-	margin-right:5px;
+	padding:4px 20px;
+	margin-right:10px;
 	border:1px solid #689AFF;
 	cursor:pointer;
 }
-.tip-button span:nth-child(1){
+.tip-button span:nth-child(2){
 	background-color:#24C0D7;
 }
 .visible{
@@ -552,4 +552,8 @@ img{
 	margin-left:2px;
 	color:#999;
 }
+#txt_tip{
+	text-indent:2em;
+	padding:10px;
+}
 	

+ 4 - 4
core/src/web/templates/index.html

@@ -190,7 +190,7 @@
 		<div class="a-cols row index-new-xwzx-con">
  			{{range $k,$v:=.T.data}}
  			{{ if lt $k 3}}
-			<ul class="a-wrap a-com-ul-block{{if ge $k 3}} a-com-last{{end}}{{if ge $k 2}} hidden-xs{{end}}" {{if lt $k 2}} style="border-right:1px solid #ccc;padding-bottom:0px;"{{end}}>
+			<ul class="a-wrap a-com-ul-block{{if ge $k 3}} a-com-last{{end}}{{if ge $k 2}} hidden-xs{{end}}" {{if lt $k 2}} style="border-right:1px solid #e5e6e9;padding-bottom:0px;"{{end}}>
 				<li class="index-new-first"><a target="_blank" href="/front/webcontent/{{index $v "_id"}}.html"><img  data-original="{{if $v.s_pic1}}{{if eq (index $v "s_pic1") ""}}{{index $v "s_pic"}}{{else}}{{index $v "s_pic1"}}{{end}}{{else}}{{index $v "s_pic"}}{{end}}" class="lazy"   onerror="this.src='/images/u166.png'"></a></li>
 				<li class="index-new-xwzx-title"><a class="data" target="_blank" title="{{index $v "s_title"}}" href="/front/webcontent/{{index $v "_id"}}.html">{{index $v "s_shorttitle"}}</a></li>
 				<li class="index-new-xwzx-content">{{index $v "s_shortdescription"}}</li>
@@ -244,14 +244,14 @@
 		<div class="bmjy"><img src="/images/u0118.png"/></div>
 		<div class="bmrzqy"><img src="/images/u0119.png"/></div>
 		</li>
-		<li class="index-new-mingcheng"><div class="text-center" style="padding-top: 35px;height: 119px;">剑鱼</div></li>
+		<li class="index-new-mingcheng1"><div class="text-center" style="padding-top:35px;">剑鱼</div></li>
 		</ul>
 		</div>
 		<div class="col-sm-5 index-new-tg-con">
 		<ul>
 		{{range $k,$v:=.T.sfdata}}
 		{{ if lt $k 8}}
-		<li><span></span><span><a target="_blank" href="http://{{index $v "href"}}"/>{{index $v "title"}}</a></span><span style="float:right;">{{if (index $v "publishtime")}}{{index $v "publishtime"}}{{else}}------{{end}}</span></li>
+		<li><span></span><span><a target="_blank" href="{{index $v "href"}}"/>{{index $v "title"}}</a></span><span style="float:right;">{{if (index $v "publishtime")}}{{index $v "publishtime"}}{{else}}------{{end}}</span></li>
 		{{if ge $k 3}}
 		{{if lt $k 4}}
 		</ul>
@@ -279,7 +279,7 @@
 		<div class="bmjy"><img src="/images/u0117.png"/></div>
 		<div class="bmrzqy"><img src="/images/u0120.png"/></div>
 		</li>
-		<li class="index-new-mingcheng"><div class="text-center" style="padding-top: 15px;height: 119px;">认证企业</div></li>
+		<li class="index-new-mingcheng2"><div class="text-center" style="padding-top:15px;">认证企业</div></li>
 		</ul>
 		</div>
 		<div class="col-sm-5 index-new-tg-con">

+ 16 - 0
core/src/web/templates/manage/web_weixinshare.html

@@ -0,0 +1,16 @@
+<html>
+<head>
+<title>帮助中心-意见反馈</title>
+{{include "/common/inc.html"}}
+<link rel="stylesheet" href="/js/kindeditor/themes/default/default.css" />
+<script charset="utf-8" src="/js/kindeditor/kindeditor-all.js"></script>
+<script charset="utf-8" src="/js/kindeditor/kinditem.js"></script>
+<script src="/js/upload.js"></script>
+<script type="text/javascript" src="/js/zDrag.js"></script>
+<script type="text/javascript" src="/js/zDialog.js"></script>
+
+</head>
+<body>
+{{.T.pngdata}}
+</body>
+</html>

+ 171 - 15
core/src/web/templates/swordfish/rssset.html

@@ -11,14 +11,14 @@
 	<div class="b-left">
 		<div class="swordfish-page-title">
 			<i class="img-circle glyphicon jianyu"></i>订阅设置
-			<span >继续使用表明你已经同意了<span><a>剑鱼用户服务协议</a>
+			<!--<span >继续使用表明你已经同意了<span><a onclick="$('#yhxyModal').modal('show')">剑鱼用户服务协议</a>-->
 			<span style="float:right;width:190px">
 			<a id="ckys">查看演示&nbsp;&nbsp;</a>
-			<a id="sfbz">收费标准</a>
+			<a id="sfbz" onclick="$('#sfbzModal').modal('show')">收费标准</a>
 			<a id="yjfk">去提意见</a>
 			</span>
 		</div>
-		<div id="swordfish-tishi" class="swordfish-explain">
+		<div class="swordfish-explain">
 			“剑鱼”是企明星的特色产品,它借助内置的互联网搜索引擎、大数据平台和自然语言分析系统,
 			为企业从互联网上自动抓取、分析、筛选并推送富有价值的信息情报,
 			比如本企业或其他企业的失信行为信息、受到行政处罚的信息、招标公告、中标公告等等。
@@ -30,7 +30,15 @@
 				<img class="swordfish-uncheck" src="/images/swordfish/checkbox.png">
 				<img class="swordfish-checked" src="/images/swordfish/checkbox-a.png">
 				招标公告
-				<span id="tender-panel-info">本栏目推送服务期还剩3天。想要服务不间断,请确保积分充足。 <a href="/member/credit/myCredit">去做任务赚积分</a></span>
+				<span>
+				{{if .T.msgset}}
+					{{if .T.msgset.tender}}
+						{{if .T.msgset.tender.day}}
+						本栏目推送服务期还剩{{.T.msgset.tender.day}}天。想要服务不间断,请确保积分充足。 <a href="/member/credit/myCredit">去做任务赚积分</a>
+						{{end}}
+					{{end}}
+				{{end}}
+				</span>
 			</div>
 			<div class="swordfish-panel-c">
 				<div>
@@ -56,7 +64,15 @@
 				<img class="swordfish-uncheck" src="/images/swordfish/checkbox.png">
 				<img class="swordfish-checked" src="/images/swordfish/checkbox-a.png">
 				中标公告
-				<span id="bid-panel-info">本栏目推送服务期还剩3天。想要服务不间断,请确保积分充足。 <a href="/member/credit/myCredit">去做任务赚积分</a></span>
+				<span id="bid-panel-info">
+				{{if .T.msgset}}
+					{{if .T.msgset.bid}}
+						{{if .T.msgset.bid.day}}
+						本栏目推送服务期还剩{{.T.msgset.bid.day}}天。想要服务不间断,请确保积分充足。 <a href="/member/credit/myCredit">去做任务赚积分</a>
+						{{end}}
+					{{end}}
+				{{end}}
+				</span>
 			</div>
 			<div class="swordfish-panel-c">
 				<div>
@@ -234,10 +250,75 @@
 	    </div>
   	</div>
 </div>
+
+<!-- tishiModal -->
+<div class="modal fade b-modal" id="tishiModal" tabindex="-1" role="dialog" aria-labelledby="tishiModalLabel">
+  	<div class="modal-dialog" role="document">
+		<div class="modal-content">
+		  	<div class="modal-header-jy">
+				<span data-dismiss="modal" aria-label="Close" class="close glyphicon guanbi1"></span>
+				<span class="modal-title" id="vipcreditModalLabel">提示信息</span>
+			</div>
+			<div class="swordfish-explain2">
+				<div id="swordfish-tishi"></div>
+				<div id="btn-tijiao" style="text-align:center;padding:10px 0;"></div>
+			</div>
+		</div>
+	</div>
+</div>
+
+<!-- 用户协议 -->
+<div class="modal fade b-modal" id="yhxyModal" tabindex="-1" role="dialog" aria-labelledby="yhxyModalLabel">
+  	<div class="modal-dialog" role="document">
+		<div class="modal-content">
+		  	<div class="modal-header-jy">
+				<span data-dismiss="modal" aria-label="Close" class="close glyphicon guanbi1"></span>
+				<span class="modal-title" id="yhxyModalLabel">用户协议</span>
+			</div>
+			<div style="background-color: #FCF8E3;padding:10px;line-height:25px">
+				<div>
+					<p style="margin-left:5px">剑鱼用户协议:</p>
+					<p style="margin-left:15px">
+					 
+					</p>
+				</div>
+				<div style="text-align:center;padding:10px 0;">
+					<button class='btn btn-primary' onclick="$('#yhxyModal').modal('hide')">确定</button>
+				</div>
+			</div>
+		</div>
+	</div>
+</div>
+
+<!-- 收费标准 -->
+<div class="modal fade b-modal" id="sfbzModal" tabindex="-1" role="dialog" aria-labelledby="sfbzModalLabel">
+  	<div class="modal-dialog" role="document">
+		<div class="modal-content">
+		  	<div class="modal-header-jy">
+				<span data-dismiss="modal" aria-label="Close" class="close glyphicon guanbi1"></span>
+				<span class="modal-title" id="sfbzModalLabel">用户协议</span>
+			</div>
+			<div style="background-color: #FCF8E3;padding:10px 20px;line-height:25px">
+				<div>
+					<p style="margin-left:5px">剑鱼收费标准:</p>
+					<p style="margin-left:35px">
+					每个栏目、每月1000积分。
+					积分按月扣除,到期后默认自动扣除下月积分,积分不足则停止服务。如果您不希望下月继续服务,可提前将服务关闭。
+					</p>
+				</div>
+				<div style="text-align:center;padding:10px 0;">
+					<button class='btn btn-primary' onclick="$('#sfbzModal').modal('hide')">确定</button>
+				</div>
+			</div>
+		</div>
+	</div>
+</div>
 <!-- 底部 -->
 {{include "/common/bottom.html"}}
 <script type="text/javascript">
-
+//Array.prototype.indexOf = function (val) {for (var i = 0; i < this.length; i++) {if (this[i] == val) {return i;}} return -1;};  
+//Array.prototype.removevalue = function (val){var index=this.indexOf(val);if(index > -1){this.splice(index, 1);}}; 
+var oprarr = new Array();
 $(function(){
 	var selectKeyword = function(type,keyword,i_switchstatus){
 		if(keyword == "" || typeof(keyword) == "undefined"){
@@ -306,20 +387,62 @@ $(function(){
 	$("#bid-scope-dialog").find("li .btn").click(function(){
 		afterSelectScope("bid",$(this));
 	});
+	var tender_i_status=0;
+	var bid_i_status=0;
+	var i_credit={{session "i_credit"}}
+	if(typeof(msgset.tender) != "undefined"&&typeof(msgset.tender.i_status) != "undefined"&&msgset.tender.i_status==1){
+		tender_i_status=1;
+	}
+	if(typeof(msgset.bid) != "undefined"&&typeof(msgset.bid.i_status) != "undefined"&&msgset.bid.i_status==1){
+		bid_i_status=1;
+	}
 	$(".swordfish-uncheck").click(function(){
-		$(this).next().show();
+		var type=$(this).parent().parent().attr("id");
+		//如果新增功能扣积分
+		if(type=="tender"&&tender_i_status==0){
+			oprarr.push("types=tender");
+		}
+		if(type=="bid"&&bid_i_status==0){
+			oprarr.push("types=bid");
+		}
+		var typeinfo="";
+		if(type=="tender"){
+			typeinfo="招标公告";
+		}else{
+			typeinfo="中标公告 ";
+		}
+		if(oprarr.length>0){
+			var str1="您选择了<span style='color:red'>"+oprarr.length+"</span>个信息栏目(<span style='color:red'>"+typeinfo+"</span>),确认后系统将每月扣除<span style='color:red'>"+oprarr.length*1000+"</span>积分,您目前的积分余额<span style='color:red'>("+i_credit+")</span>不足,<a href='/member/credit/myCredit' style='color:#37C6DA'>去做任务赚积分</a>";
+			str2="<button class='btn btn-primary' onclick='swordfishpay(1)'>取消</button>";
+			if((i_credit-oprarr.length*1000)>0){				
+				str1="您选择了<span style='color:red'>"+oprarr.length+"</span>个信息栏目(<span style='color:red'>"+typeinfo+"</span>),确认后系统将每月扣除<span style='color:red'>"+oprarr.length*1000+"</span>积分,您目前的积分余额是<span style='color:red'>"+i_credit+"</span>积分,扣除后将剩余<span style='color:red'>"+(i_credit-oprarr.length*1000)+"</span>积分。";
+				str2="<button class='btn btn-primary' onclick='swordfishpay(0)'>提交</button>"
+				+"&nbsp;<button class='btn btn-primary' onclick='swordfishpay(1)'>取消</button>";
+			}
+			$("#swordfish-tishi").html(str1);
+			$("#btn-tijiao").html(str2);
+			$("#tishiModal").modal("show");
+		}
 		$(this).hide();
 		autoChecked($(this).parents(".swordfish-panel").attr("id"),true,1);
 	});
-	var arrinfo=["您选择了?个信息栏目,确认后系统将每月扣除?积分,您目前的积分余额是?积分,扣除后将剩余?积分。",
-				"ss"];
 	$(".swordfish-checked").click(function(){
 		$(this).parents(".swordfish-panel").removeClass("swordfish-panel-a");
 		$(this).prev().show();
 		$(this).hide();
-		$(this).next().css('display','none');
-		//ajaxReq();
+		ajaxReq();
 	});
+	//针对页面异常关闭
+	if(typeof(msgset.tender) != "undefined"&&typeof(msgset.tender.i_switchstatus) != "undefined"&&msgset.tender.i_switchstatus==1){
+		if(tender_i_status==0){
+			$("#tender").children(".swordfish-panel-t").children(".swordfish-uncheck").click();
+		}
+	}
+	if(typeof(msgset.bid) != "undefined"&&typeof(msgset.bid.i_switchstatus) != "undefined"&&msgset.bid.i_switchstatus==1){
+		if(bid_i_status==0){
+			$("#bid").children(".swordfish-panel-t").children(".swordfish-uncheck").click();
+		}
+	}
 });
 function afterSelectScope(type,btn){
 	var text = btn.text();
@@ -362,7 +485,6 @@ function autoChecked(type,flag,i_switchstatus){
 		obj.find(".swordfish-checked").show();
 		obj.find(".swordfish-checked").next().css('display','');
 	}
-	
 	if(obj.find(".swordfish-keywords").children(".swordfish-keyword").length == 0){
 		appendKeyWord(type,"",false);
 	}
@@ -401,17 +523,14 @@ function appendKeyWord(type,value,isFocus){
 		obj.find(".swordfish-keyword").each(function(i){
 			$(this).children("b").children("font").text(i+1);
 		});
-		//autoChecked(type,false,i_switchstatus);
 		ajaxReq();
 	});
 	node.children("[type='text']").blur(function(){
-		//autoChecked(type,false,i_switchstatus);
 		ajaxReq();
 	});
 	if(isFocus){
 		node.children("[type='text']").focus()
 	}
-	//autoChecked(type,false,i_switchstatus);
 }
 function ajaxReq(){
 	var thisClass = this;
@@ -480,6 +599,43 @@ function ajaxReq(){
 		}
 	});
 }
+
+//扣积分
+function swordfishpay(oprtype){
+	$("#tishiModal").modal("hide");
+	$.ajax({
+		dataType:"json",
+		url:"/member/credit/swordfishpay",
+		data:oprarr.join("&")+"&no="+oprtype,
+		type:"POST",
+		async:false,
+		success:function(msg){
+			if(msg){
+				if(msg.flag){
+					//有session
+					if(msg.oprstatus){
+						//扣积分操作成功
+						$("#tishiModal").hide()
+					}else{
+						//扣积分操作无效
+						alert("操作无效,请重新进入页剑鱼页面后操作")
+					}				
+				}else{
+					//无session
+					alert("请重新进入页剑鱼页面后操作")
+				}
+			}			
+		},
+		error:function(x,st,err){
+			alert("请稍后再试"+st)
+		}
+	})
+	window.location.reload()
+}
+//弹窗关闭,取消
+$('#tishiModal').on('hidden.bs.modal', function () {
+  swordfishpay(1);
+})
 </script>
 </body>
 </html>

+ 2 - 2
core/src/web/templates/swordfish/wxrssset.html

@@ -18,8 +18,8 @@
 	<div class="tip">
 		<div id="txt_tip"></div>
 		<div class="tip-button">
-		<span id="credit_yes">提交</span>
 		<span id="credit_no">取消</span>
+		<span id="credit_yes">提交</span>
 		</div>
 		<div style="clear:both"></div>
 	</div>
@@ -63,7 +63,7 @@
 			<span class="on-off" id="intelligence-on-off"></span>
 		</li>
 		<li class="parent-node">
-			<img src="/wxswordfish/images/qingbao.png">
+			<img src="/wxswordfish/images/feerule.png">
 			收费规则
 			<span class="rule" id="rule"></span>
 		</li>

+ 1 - 1
core/src/web/templates/swordfish/wxtoolbar.html

@@ -34,7 +34,7 @@
 		<div class="dialog-content" style="height:115px;">
 			<div class="rule-content">
 				<div>剑鱼收费标准:</div>
-				<div>每个栏目、每月1000积分。</div>
+				<div>每个栏目、每月1000积分。</div>
 				<div>积分按月扣除,到期后默认自动扣除下月积分,积分不足则停止服务。如果您不希望下月继续服务,可提前将服务关闭。</div>
 			</div>
 		</div>

+ 1 - 1
credit/src/qfw/creditrpc/creditrpc.go

@@ -281,7 +281,7 @@ func (c *CreditRpc) OutCreadit(param *qrpc.CreditData, replay *int) error {
 			creditDoc["i_givestatus"] = 0
 		}
 		if creditlog.Save(creditDoc) {
-			*replay = 1
+			*replay = creditDoc["i_score"].(int)
 			//发送微信通知扣积分成功
 			if first == "A" {
 				go SendMsgWebAndWx(Message["swordfish_payTitle"], fmt.Sprintf(Message["swordfish_pay"], creditDoc["i_score"], creditDoc["i_scorenow"], util.FormatDate(&newDate, util.Date_Full_Layout)), param.Uid, param.Umid)