Browse Source

Merge branch 'dev3.5.3' into release

luwenna 4 năm trước cách đây
mục cha
commit
1a384e053c
53 tập tin đã thay đổi với 244 bổ sung620 xóa
  1. 6 5
      README.md
  2. 8 4
      src/db.json
  3. 1 1
      src/jfw/front/commonPayWx.go
  4. 1 1
      src/jfw/front/distribution.go
  5. 1 0
      src/jfw/front/front.go
  6. 1 1
      src/jfw/modules/app/src/app/front/commonPay.go
  7. 2 1
      src/jfw/modules/app/src/app/front/course.go
  8. 3 3
      src/jfw/modules/app/src/app/front/distrib.go
  9. 21 41
      src/jfw/modules/app/src/app/front/login.go
  10. 8 4
      src/jfw/modules/app/src/db.json
  11. BIN
      src/jfw/modules/app/src/web/staticres/jyapp/course/image/lessonsOffline.png
  12. BIN
      src/jfw/modules/app/src/web/staticres/jyapp/course/image/lessonsOffline_bak.png
  13. BIN
      src/jfw/modules/app/src/web/staticres/jyapp/course/image/lessonsOnline.png
  14. BIN
      src/jfw/modules/app/src/web/staticres/jyapp/course/image/lessonsOnline_bak.png
  15. 5 1
      src/jfw/modules/app/src/web/staticres/jyapp/js/common.js
  16. 4 172
      src/jfw/modules/app/src/web/templates/commonPay/myOrder.html
  17. 0 7
      src/jfw/modules/bidfileinter/src/config.json
  18. 2 14
      src/jfw/modules/bidfileinter/src/service/config/config.go
  19. 2 1
      src/jfw/modules/bigmember/src/config.json
  20. 1 0
      src/jfw/modules/bigmember/src/config/config.go
  21. 8 10
      src/jfw/modules/bigmember/src/db.json
  22. 15 23
      src/jfw/modules/bigmember/src/db/db.go
  23. 7 0
      src/jfw/modules/bigmember/src/service/analysis/analysis.go
  24. 12 4
      src/jfw/modules/bigmember/src/service/analysis/decision.go
  25. 1 1
      src/jfw/modules/common/src/qfw/util/jy/userMerge.go
  26. 10 3
      src/jfw/modules/common/src/qfw/util/jy/userPhoneUtil.go
  27. 2 2
      src/jfw/modules/distribution/src/service/action/share.go
  28. 11 4
      src/jfw/modules/subscribepay/src/config.json
  29. 15 13
      src/jfw/modules/subscribepay/src/config/config.go
  30. 4 2
      src/jfw/modules/subscribepay/src/entity/dataExportSearch.go
  31. 1 1
      src/jfw/modules/subscribepay/src/entity/jyCourseOnlineStruct.go
  32. 3 3
      src/jfw/modules/subscribepay/src/entity/jyCourseStruct.go
  33. 2 2
      src/jfw/modules/subscribepay/src/pay/util.go
  34. 2 2
      src/jfw/modules/subscribepay/src/pay_config.json
  35. 3 2
      src/jfw/modules/subscribepay/src/service/commonAction.go
  36. 5 3
      src/jfw/modules/subscribepay/src/service/courseAction.go
  37. 1 1
      src/jfw/modules/subscribepay/src/service/index_p1.go
  38. 1 3
      src/jfw/modules/subscribepay/src/service/orderListDetails.go
  39. 2 2
      src/jfw/modules/subscribepay/src/service/payCallback.go
  40. 1 1
      src/jfw/modules/subscribepay/src/service/userAccountInfo.go
  41. 7 3
      src/jfw/modules/subscribepay/src/util/db.go
  42. 4 0
      src/jfw/public/db.go
  43. 2 1
      src/main.go
  44. 1 1
      src/seo.json
  45. BIN
      src/web/staticres/course/image/lessonsOffline.png
  46. BIN
      src/web/staticres/course/image/lessonsOffline_bak.png
  47. BIN
      src/web/staticres/course/image/lessonsOnline.png
  48. BIN
      src/web/staticres/course/image/lessonsOnline_bak.png
  49. 11 7
      src/web/templates/common/pchead.html
  50. 42 97
      src/web/templates/pc/myOrder.html
  51. 3 171
      src/web/templates/weixin/commonPay/myOrder.html
  52. 1 1
      src/web/templates/weixin/commonPay/paySuccess.html
  53. 1 1
      src/web/templates/weixin/search/mainSearch.html

+ 6 - 5
README.md

@@ -1,6 +1,7 @@
--剑鱼招标订阅
--微信和pc端功能
--weixin sdk https://github.com/wizjin/weixin
--web用xweb框架
-
+剑鱼招标订阅
+微信和pc端功能
+weixin sdk https://github.com/wizjin/weixin
+web用xweb框架
 
+v3.5.3
+bidding库加用户名密码

+ 8 - 4
src/db.json

@@ -15,9 +15,11 @@
 			"password": "123456"
 		},
 		"ent": {
-			"address": "192.168.3.128:27080",
+			"address": "192.168.3.207:27001,192.168.3.206:27002",
 	 		"size": 5,
-	 		"dbName": "extract_v3"
+	 		"dbName": "mixdata",
+			"userName": "jyDevGroup",
+			"password": "jy@DevGroup"
 		},
 		"qyfw": {
 			"address": "192.168.3.128:27080",
@@ -25,12 +27,14 @@
 	 		"dbName": "jyqyfw"
 		},
 		"bidding": {
-			"address": "192.168.3.207:27092",
+			"address": "192.168.3.207:27001,192.168.3.206:27002",
 	 		"size": 5,
 	 		"dbName": "qfw_data",
 			"replSet": "",
 			"collection": "bidding",
-			"collection_back": "bidding_back"
+			"collection_back": "bidding_back",
+			"userName": "jyDevGroup",
+			"password": "jy@DevGroup"
 		}
 	},
 	"elasticsearch": {

+ 1 - 1
src/jfw/front/commonPayWx.go

@@ -23,7 +23,7 @@ var (
 		"entniche":     []string{"企业商机管理"},
 		"course":       []string{"招投标课程"},
 		"datareport":   []string{"数据报告"},
-		"onlineCourse": []string{"线上课程"},
+		"onlineCourse": []string{"中标必听课"},
 	}
 )
 

+ 1 - 1
src/jfw/front/distribution.go

@@ -134,7 +134,7 @@ func (this *Distrib) ShareLogs(discored, userId string) {
 		typ = 2
 	} else if discored[:1] == "C" { //数据报告
 		typ = 3
-	} else if discored[:1] == "D" { //线上课程
+	} else if discored[:1] == "D" { //中标必听课
 		typ = 4
 	} else if discored[:1] == "X" { //公告信息
 		typ = 4

+ 1 - 0
src/jfw/front/front.go

@@ -770,6 +770,7 @@ func (m *Front) Wxerr() error {
 func FindUserAndCreateSess(openid string, sess *httpsession.Session) (bool, *map[string]interface{}, map[string]interface{}) {
 	return CreateSession(map[string]interface{}{
 		"s_m_openid": openid,
+		"s_unionid":  map[string]interface{}{"$ne": openid}, //处理排除未关注用户点击菜单创建的用户
 		"i_ispush":   1,
 	}, sess)
 }

+ 1 - 1
src/jfw/modules/app/src/app/front/commonPay.go

@@ -17,7 +17,7 @@ var (
 		"entniche":     []string{"企业商机管理"},
 		"course":       []string{"招投标课程"},
 		"datareport":   []string{"数据报告"},
-		"onlineCourse": []string{"线上课程"},
+		"onlineCourse": []string{"中标必听课"},
 		"member":       []string{"大会员"},
 	}
 )

+ 2 - 1
src/jfw/modules/app/src/app/front/course.go

@@ -24,7 +24,8 @@ type CourseInfo struct {
 }
 
 func init() {
-	xweb.AddAction(&CourseInfo{})
+	// 线下课程 dev3.5.2 21年2.24 下线
+	// xweb.AddAction(&CourseInfo{})
 }
 
 //

+ 3 - 3
src/jfw/modules/app/src/app/front/distrib.go

@@ -63,7 +63,7 @@ func (this *Distrib) RedirectTo() error {
 			case "C":
 				modular = "数据报告"
 			case "D":
-				modular = "线上课程"
+				modular = "中标必听课"
 			}
 			go this.ShareLogs(modular, disWord[1:], userId)
 		}
@@ -75,7 +75,7 @@ func (this *Distrib) RedirectTo() error {
 	return this.Redirect("/jyapp/free/login?back=index&to=back&DisUrl=" + appUrl)
 }
 
-//type 1:超级订阅 2:数据导出 3:数据报告 4:线上课程
+//type 1:超级订阅 2:数据导出 3:数据报告 4:中标必听课
 func (this *Distrib) ShareLogs(modular, discored, userId string) {
 	typ := 0
 	if modular == "超级订阅" {
@@ -84,7 +84,7 @@ func (this *Distrib) ShareLogs(modular, discored, userId string) {
 		typ = 2
 	} else if modular == "数据报告" {
 		typ = 3
-	} else if modular == "线上课程" {
+	} else if modular == "中标必听课" {
 		typ = 4
 	}
 	//保存日志

+ 21 - 41
src/jfw/modules/app/src/app/front/login.go

@@ -4,11 +4,6 @@ import (
 	"app/jyutil"
 	"encoding/json"
 	"fmt"
-	"github.com/dchest/captcha"
-	"github.com/go-xweb/httpsession"
-	"github.com/go-xweb/xweb"
-	"go.mongodb.org/mongo-driver/bson"
-	"go.mongodb.org/mongo-driver/bson/primitive"
 	"jfw/config"
 	"log"
 	. "mongodb"
@@ -21,6 +16,12 @@ import (
 	"strings"
 	"sync"
 	"time"
+
+	"github.com/dchest/captcha"
+	"github.com/go-xweb/httpsession"
+	"github.com/go-xweb/xweb"
+	"go.mongodb.org/mongo-driver/bson"
+	"go.mongodb.org/mongo-driver/bson/primitive"
 )
 
 //签名
@@ -498,25 +499,8 @@ func (l *Login) WxLogin() {
 			//保存a_m_openid[微信公众号用户首次登录or绑定app、保存此字段]
 			if _, ok := (*user)["a_m_openid"]; !ok {
 				upSet["a_m_openid"] = u.OpenId
-			}
-			//旧用户i_mode转换
-			if o_jy, ok := (*user)["o_jy"].(map[string]interface{}); ok {
-				if i_mode_obj, i_mode_exists := o_jy["i_mode"]; i_mode_exists {
-					i_mode := qutil.IntAll(i_mode_obj)
-					wxpush, mailpush := 0, 0
-					if i_mode == 2 {
-						mailpush = 1
-					} else if i_mode == 3 {
-						wxpush = 1
-						mailpush = 1
-					} else {
-						wxpush = 1
-					}
-					upSet["o_jy.i_wxpush"] = wxpush
-					upSet["o_jy.i_mailpush"] = mailpush
-					upSet["o_jy.i_apppush"] = 1
-				}
-
+				upSet["l_a_registedate"] = time.Now().Unix()
+				upSet["o_jy.i_apppush"] = 1
 			}
 			go mongodb.UpdateById("user", BsonIdToSId((*user)["_id"]), map[string]interface{}{
 				"$set": upSet,
@@ -965,29 +949,25 @@ func afterLogin(user map[string]interface{}, session *httpsession.Session, rid,
 				})
 			}
 		}
-
-		update_query := map[string]interface{}{
-			"i_appid": 2,
-		}
-		if strings.ToLower(phoneType) == "huawei" {
-			update_query["s_jpushid"] = map[string]interface{}{
-				"$in": []string{rid, oid},
-			}
-		} else {
-			update_query["s_jpushid"] = rid
-		}
-		mongodb.Update("user", update_query, map[string]interface{}{
+		mongodb.Update("user", map[string]interface{}{
+			"i_appid":   2,
+			"s_jpushid": rid,
+		}, map[string]interface{}{
 			"$unset": map[string]interface{}{
 				"s_jpushid": "",
 				"s_opushid": "",
 			},
 		}, false, true)
+		set := map[string]interface{}{
+			"s_jpushid":     rid,
+			"s_opushid":     oid,
+			"s_appponetype": phoneType,
+		}
+		if o_jy, ok := user["o_jy"].(map[string]interface{}); ok && o_jy != nil && o_jy["i_apppush"] == nil {
+			set["o_jy.i_apppush"] = 1
+		}
 		mongodb.UpdateById("user", userid, map[string]interface{}{
-			"$set": map[string]interface{}{
-				"s_jpushid":     rid,
-				"s_opushid":     oid,
-				"s_appponetype": phoneType,
-			},
+			"$set":  set,
 			"$pull": map[string]interface{}{"a_jpushid": rid},
 		})
 		//删除未登录的pushid

+ 8 - 4
src/jfw/modules/app/src/db.json

@@ -13,16 +13,20 @@
 			"password": "123456"
 		},
 		"ent": {
-			"address": "192.168.3.128:27080",
+			"address": "192.168.3.207:27001,192.168.3.206:27002",
 	 		"size": 5,
-	 		"dbName": "extract_v3"
+	 		"dbName": "mixdata",
+			"userName": "jyDevGroup",
+			"password": "jy@DevGroup"
 		},
 		"bidding": {
-			"address": "192.168.3.207:27092",
+			"address": "192.168.3.207:27001,192.168.3.206:27002",
 	 		"size": 5,
 	 		"dbName": "qfw_data",
 			"collection": "bidding",
-			"collection_back": "bidding_back"
+			"collection_back": "bidding_back",
+			"userName": "jyDevGroup",
+			"password": "jy@DevGroup"
 		}
 	},
 	"elasticsearch": {

BIN
src/jfw/modules/app/src/web/staticres/jyapp/course/image/lessonsOffline.png


BIN
src/jfw/modules/app/src/web/staticres/jyapp/course/image/lessonsOffline_bak.png


BIN
src/jfw/modules/app/src/web/staticres/jyapp/course/image/lessonsOnline.png


BIN
src/jfw/modules/app/src/web/staticres/jyapp/course/image/lessonsOnline_bak.png


+ 5 - 1
src/jfw/modules/app/src/web/staticres/jyapp/js/common.js

@@ -941,7 +941,6 @@ function loginSuccess(result) {
             afterLoginSuccess("", true);
             window.history.back();
         } else {
-            afterLoginSuccess("", true);
             afterLoginSuccess("S", false);//提示app定位搜索菜单
             //window.location.href = "/jyapp/jylab/mainSearch";
             location.replace("/jyapp/jylab/mainSearch");
@@ -980,6 +979,11 @@ function afterLoginSuccess(type, canBack) {
         prohibitBack();
         localStorage.reLogin = "1";
     }
+    try {
+      JyObj.refreshAppointTab('me', 1)
+    } catch (e) {
+      console.log(e)
+    }
     JyObj.loginSuccess(type);
 }
 

+ 4 - 172
src/jfw/modules/app/src/web/templates/commonPay/myOrder.html

@@ -1666,175 +1666,7 @@
                         + iconHtml
                         + '</div>'
                 }
-            } else if (obj.product_type === "招投标课程") {
-                count++;
-                // console.log(obj)
-                var id = obj.id;
-                //订单编号
-                var orderCode = obj.order_code;
-                //创建时间
-                var createTime = obj.create_time;
-                createTime = createTime.replace(/-/g, ".")
-                var payWay = obj.pay_way
-                var filterObj = JSON.parse(obj.filter);
-                var courseName = filterObj.courseName;
-                var courseType = filterObj.courseType;
-                var courseAddress = filterObj.courseAddress;
-                var peopleNum = filterObj.peoleNum;
-                var orderStatus = obj.order_status;
-                var courseStatus = obj.course_status;
-                var orderStatusHtml = "";
-                var orderStatusHtmls = "";
-                var coursePrice = filterObj.coursePrice;
-                var costPrice = peopleNum * coursePrice;
-                var orderMoney = obj.order_money;
-                var courseId = filterObj.courseMgoId;
-                var lastHtml = "";
-                var orderUrl = "/jyapp/course/orderDetail?code=" + orderCode;
-                var helpHtml = "";
-
-                if (payWay !== "transferAccounts") {
-                    if (orderStatus === 0) {
-                        orderStatusHtml = "待付款";
-                        orderStatusHtmls = "notpay";
-                        lastHtml = '<div class="card-footer">'
-                            + '<a  class="btn cancle gopay_btn" onclick="cancelOrder(' + id + ',this)">取消订单</a>'
-                            + '<a onclick="setSessionStorage()" href="/jyapp/course/optionPay?code=' + orderCode + '" class="btn green-btn">去支付</a>'
-                            + '</div>';
-                    } else if (orderStatus === 1) {
-                        if (courseStatus === 5) {
-                            orderStatusHtml = "退款审核中";
-                            orderStatusHtmls = "refund";
-                            lastHtml = '<div class="card-footer">'
-                            '<a onclick="setSessionStorage()" href="/jyapp/course/detail/' + courseId + '" class="btn cancle green-btn">再次购买</a>'
-                            '</div>';
-                            orderUrl = "/jyapp/course/refundVerify?code=" + orderCode;
-                        } else if (courseStatus === 6) {
-                            orderStatusHtml = "已退款";
-                            orderStatusHtmls = "refund";
-                            lastHtml = '<div class="card-footer">'
-                                + '<a onclick="setSessionStorage()" href="/jyapp/course/detail/' + courseId + '" class="btn cancle green-btn">再次购买</a>'
-                                + '</div>';
-                            orderUrl = "/jyapp/course/refundVerify?code=" + orderCode + "&isrefund=true";
-                        } else {
-                            orderStatusHtml = "已完成";
-                            lastHtml = '<div class="card-footer refundable tooltip">'
-                                + '<i class="show-more" onclick="show_more(this)"></i>'
-                                + '<a onclick="setSessionStorage()" href="/jyapp/course/refund?code=' + orderCode + '" class="tooltip-text hide" data-id="订单id" style="display: none;">退款</a>'
-                                + '<a onclick="setSessionStorage()" href="/jyapp/course/detail/' + courseId + '" class="btn cancle green-btn">再次购买</a>'
-                                + '</div>'
-                            var endTime = "";
-                            try {
-                                var startTime = new Date(filterObj.startTime * 1000).toLocaleString().split(" ")[0];
-                                var startTimes = new Date(startTime + " 00:00:00").getTime();
-                                var nowTime = new Date().getTime();
-                                if (nowTime >= startTimes) {
-                                    lastHtml = '<div class="card-footer">'
-                                        + '<a onclick="setSessionStorage()" href="/jyapp/course/detail/' + courseId + '" class="btn cancle green-btn">再次购买</a>'
-                                        + '</div>'
-                                }
-                            } catch (e) {
-                            }
-                        }
-                    } else {
-                        orderStatusHtml = "已取消";
-                        lastHtml = '<div class="card-footer">'
-                            + '<a onclick="setSessionStorage()" href="/jyapp/course/detail/' + courseId + '" class="btn cancle green-btn">再次购买</a>'
-                            + '</div>'
-                    }
-                } else {
-                    //公对公
-                    if (orderStatus === 0) {
-                        if (courseStatus === 2) {
-                            orderStatusHtml = "转账审核中";
-                            orderStatusHtmls = "refund";
-                            orderUrl = "/jyapp/course/transferVerify?code=" + orderCode;
-                        } else if (courseStatus === 3) {
-                            orderStatusHtml = "未收到转账";
-                            orderStatusHtmls = "refund";
-                            lastHtml = '<div class="card-footer">'
-                                + '<a  class="btn cancle gray-btn" onclick="cancelOrder(' + id + ',this)">取消订单</a>'
-                                + '<a onclick="setSessionStorage()" href="/jyapp/course/optionPay?code=' + orderCode + '" class="btn green-btn">再次支付</a>'
-                                + '</div>';
-                            helpHtml = '<span class="doubt iconfont icon-bangzhu" onclick="phoneShow()"></span>'
-                        } else {
-                            orderStatusHtml = "待付款";
-                            orderStatusHtmls = "notpay";
-                            lastHtml = '<div class="card-footer">'
-                                + '<a class="btn cancle gray-btn" onclick="cancelOrder(' + id + ',this)">取消订单</a>'
-                                + '<a onclick="setSessionStorage()" href="/jyapp/course/optionPay?code=' + orderCode + '" class="btn green-btn">去支付</a>'
-                                + '</div>'
-                        }
-                    } else if (orderStatus === 1) {
-                        if (courseStatus === 5) {
-                            orderStatusHtml = "退款审核中";
-                            orderStatusHtmls = "refund";
-                            lastHtml = '<div class="card-footer">'
-                                + '<a onclick="setSessionStorage()" href="/jyapp/course/detail/' + courseId + '" class="btn cancle green-btn">再次购买</a>'
-                                + '</div>'
-                            orderUrl = "/jyapp/course/refundVerify?code=" + orderCode;
-                        } else if (courseStatus === 6) {
-                            orderStatusHtml = "已退款";
-                            orderStatusHtmls = "refund";
-                            lastHtml = '<div class="card-footer">'
-                                + '<a onclick="setSessionStorage()" href="/jyapp/course/detail/' + courseId + '" class="btn cancle green-btn">再次购买</a>'
-                                + '</div>'
-                            orderUrl = "/jyapp/course/refundVerify?code=" + orderCode + "&isrefund=true";
-                        } else {
-                            orderStatusHtml = "已完成";
-                            lastHtml = '<div class="card-footer refundable tooltip">'
-                                + '<i class="show-more" onclick="show_more(this)"></i>'
-                                + '<a onclick="setSessionStorage()" href="/jyapp/course/refund?code=' + orderCode + '" class="tooltip-text hide" data-id="订单id" style="display: none;">退款</a>'
-                                + '<a onclick="setSessionStorage()" href="/jyapp/course/detail/' + courseId + '" class="btn cancle">再次购买</a>'
-                                + '</div>'
-                            var endTime = "";
-                            try {
-                                var startTime = new Date(filterObj.startTime * 1000).toLocaleString().split(" ")[0];
-                                var startTimes = new Date(startTime + " 00:00:00").getTime();
-                                var nowTime = new Date().getTime();
-                                if (nowTime >= startTimes) {
-                                    lastHtml = '<div class="card-footer">'
-                                        + '<a onclick="setSessionStorage()" href="/jyapp/course/detail/' + courseId + '" class="btn cancle green-btn">再次购买</a>'
-                                        + '</div>'
-                                }
-                            } catch (e) {
-                            }
-                        }
-                    } else {
-                        orderStatusHtml = "已取消";
-                        lastHtml = '<div class="card-footer">'
-                            + '<a onclick="setSessionStorage()" href="/jyapp/course/detail/' + courseId + '" class="btn cancle green-btn">再次购买</a>'
-                            + '</div>'
-                    }
-                }
-                listhtml += '<div class="card">'
-                    + '<div class="card-header">'
-                    + '<span class="time">' + createTime + '</span>'
-                    + '<span class="status ' + orderStatusHtmls + '">'
-                    + helpHtml
-                    + '<span class="status-text">' + orderStatusHtml + '</span>'
-                    + '<a class="delete_icon" title="删除订单" onclick="deleteOrder(' + id + ',this)"></a>'
-                    + '</span>'
-                    + '</div>'
-                    + '<div class="card-content">'
-                    + '<a onclick="setSessionStorage()" href="' + orderUrl + '" eid="' + courseId + '" vid="' + orderCode + '" class="media" courseOrder="true">'
-                    + '<div class="media-img">'
-                    + '<img src="/jyapp/course/image/lessonsOffline.png?v=51430">'
-                    + '</div>'
-                    + '<div class="media-info">'
-                    + '<p class="item-ifo ellipsis-2">' + courseName + '</p>'
-                    + '<p class="item-ifo ellipsis">课程类型:' + courseType + '</p>'
-                    + '<p class="item-ifo ellipsis">课程地点:' + courseAddress + '</p>'
-                    + '<p class="item-ifo ellipsis">购买人数:' + peopleNum + '人</p>'
-                    + '</div>'
-                    + '</a>'
-                    + '<div class="price">'
-                    + '<strong class="current">¥' + formatMoney(orderMoney) + '</strong>'
-                    + '</div>'
-                    + '</div>'
-                    + lastHtml
-                    + '</div>'
-            } else if (obj.product_type === "线上课程") {
+            } else if (obj.product_type === "中标必听课") {
                 count++;
                 var id = obj.id;
                 //订单编号
@@ -1905,13 +1737,13 @@
                     + '</span>'
                     + '</div>'
                     + '<div class="card-content">'
-                    + '<a onclick="setSessionStorage()" href="' + orderUrl + '" eid="' + courseId + '" vid="' + orderCode + '" class="media" courseOnlineOrder="true">'
+                    + '<a onclick="setSessionStorage()" href="' + orderUrl + '" eid="' + orderCode + '" vid="' + orderCode + '" class="media" courseOnlineOrder="true">'
                     + '<div class="media-img">'
-                    + '<img src="/jyapp/course/image/lessonsOnline.png?v=51430">'
+                    + '<img src="/jyapp/course/image/lessonsOnline.png?v=520">'
                     + '</div>'
                     + '<div class="media-info">'
                     + '<p class="item-ifo ellipsis-2">课程名称:' + courseName + '</p>'
-                    + '<p class="item-ifo ellipsis">课程类型:线上课程</p>'
+                    + '<p class="item-ifo ellipsis">课程类型:中标必听课</p>'
                     + '<p class="item-ifo ellipsis">课程时长:' + courseLength + '</p>'
                     + '<p class="item-ifo ellipsis">课程节数:共' + (!filterObj.i_num ? 1 : filterObj.i_num) + '节</p>'
                     + '<p class="item-ifo ellipsis">有效日期:' + courseEndTime.getFullYear() + '/' + (courseEndTime.getMonth() + 1) + '/' + courseEndTime.getDate() + ' 到期</p>'

+ 0 - 7
src/jfw/modules/bidfileinter/src/config.json

@@ -13,13 +13,6 @@
 	 		"dbName": "qfw",
 			"userName": "admin",
 			"password": "123456"
-		},
-		"bidding": {
-			"address": "192.168.3.207:27092",
-	 		"size": 5,
-	 		"dbName": "qfw_data",
-			"collection": "bidding",
-			"collection_back": "bidding_back"
 		}
 	},
     "redis": {

+ 2 - 14
src/jfw/modules/bidfileinter/src/service/config/config.go

@@ -15,9 +15,8 @@ type config struct {
 	Webdomain string
 	Mail      *[]mailConf
 	Mongodb   struct {
-		Main    *mgoConf
-		Log     *mgoConf
-		Bidding *mgoConf
+		Main *mgoConf
+		Log  *mgoConf
 	}
 	Elasticsearch struct {
 		Main *esConf
@@ -110,17 +109,6 @@ func init() {
 			}
 			Mgo_Log.InitPool()
 		}
-		if Sysconfig.Mongodb.Bidding != nil {
-			log.Println("初始化 mongodb bidding")
-			Mgo_Bid = mg.MongodbSim{
-				MongodbAddr: Sysconfig.Mongodb.Bidding.Address,
-				Size:        Sysconfig.Mongodb.Bidding.Size,
-				DbName:      Sysconfig.Mongodb.Bidding.DbName,
-				UserName:    Sysconfig.Mongodb.Bidding.UserName,
-				Password:    Sysconfig.Mongodb.Bidding.Password,
-			}
-			Mgo_Bid.InitPool()
-		}
 		if Sysconfig.Mysql.Main != nil {
 			log.Println("初始化 mysql")
 			Mysql = &mysql.Mysql{

+ 2 - 1
src/jfw/modules/bigmember/src/config.json

@@ -48,5 +48,6 @@
 	"keyMaxLength":30,
 	"warnMailbox":["wangshan@topnet.net.cn","2308734067@qq.com"],
 	"warnMbTitle":"中标预测失败提醒",
-	"timeSpan":2
+	"timeSpan":2,
+	"regWinner":".+[司院厂所心处普行]$"
 }

+ 1 - 0
src/jfw/modules/bigmember/src/config/config.go

@@ -29,6 +29,7 @@ type config struct {
 	WarnMailbox         []string
 	WarnMbTitle         string
 	TimeSpan            int
+	RegWinner           string
 }
 type followConfig struct {
 	Normal int

+ 8 - 10
src/jfw/modules/bigmember/src/db.json

@@ -15,25 +15,23 @@
 			"password": "123456"
 		},
 		"ent": {
-			"address": "192.168.3.207:27092",
+			"address": "192.168.3.207:27001,192.168.3.206:27002",
 	 		"size": 5,
 	 		"dbName": "mixdata",
 			"replSet": "",
 			"collection": "qyxy",
-			"collection_change": "qyxy_change"
-		},
-		"newproject": {
-			"address": "192.168.3.166:27082",
-	 		"size": 5,
-	 		"dbName": "bqData",
-			"replSet": ""
+			"collection_change": "qyxy_change",
+			"userName": "jyDevGroup",
+			"password": "jy@DevGroup"
 		},
 		"bidding": {
-			"address": "192.168.3.207:27092",
+			"address": "192.168.3.207:27001,192.168.3.206:27002",
 	 		"size": 5,
 	 		"dbName": "qfw_data",
 			"collection": "bidding",
-			"collection_change": "bidding_back"
+			"collection_change": "bidding_back",
+			"userName": "jyDevGroup",
+			"password": "jy@DevGroup"
 		}
 	},
 	"elasticsearch": {

+ 15 - 23
src/jfw/modules/bigmember/src/db/db.go

@@ -13,11 +13,10 @@ import (
 
 type dbConf struct {
 	Mongodb struct {
-		Main       *mgoConf
-		Log        *mgoConf
-		Ent        *mgoConf
-		NewProject *mgoConf
-		Bidding    *mgoConf
+		Main    *mgoConf
+		Log     *mgoConf
+		Ent     *mgoConf
+		Bidding *mgoConf
 	}
 	Elasticsearch struct {
 		Main *esConf
@@ -61,14 +60,13 @@ type mysqlConf struct {
 }
 
 var (
-	DbConf         *dbConf
-	Mgo            m.MongodbSim
-	Mgo_Ent        m.MongodbSim
-	Mgo_Log        m.MongodbSim
-	Mgo_NewProject m.MongodbSim
-	Mgo_Bidding    m.MongodbSim
-	Mysql          *mysql.Mysql
-	Mysql_Push     *mysql.Mysql
+	DbConf      *dbConf
+	Mgo         m.MongodbSim
+	Mgo_Ent     m.MongodbSim
+	Mgo_Log     m.MongodbSim
+	Mgo_Bidding m.MongodbSim
+	Mysql       *mysql.Mysql
+	Mysql_Push  *mysql.Mysql
 )
 
 func init() {
@@ -101,6 +99,8 @@ func init() {
 				Size:        DbConf.Mongodb.Ent.Size,
 				DbName:      DbConf.Mongodb.Ent.DbName,
 				ReplSet:     DbConf.Mongodb.Ent.ReplSet,
+				UserName:    DbConf.Mongodb.Ent.UserName,
+				Password:    DbConf.Mongodb.Ent.Password,
 			}
 			Mgo_Ent.InitPool()
 		}
@@ -116,16 +116,6 @@ func init() {
 			}
 			Mgo_Log.InitPool()
 		}
-		if DbConf.Mongodb.NewProject != nil {
-			log.Println("初始化 mongodb newproject")
-			Mgo_NewProject = m.MongodbSim{
-				MongodbAddr: DbConf.Mongodb.NewProject.Address,
-				Size:        DbConf.Mongodb.NewProject.Size,
-				DbName:      DbConf.Mongodb.NewProject.DbName,
-				ReplSet:     DbConf.Mongodb.NewProject.ReplSet,
-			}
-			Mgo_NewProject.InitPool()
-		}
 		if DbConf.Mysql.Main != nil {
 			log.Println("初始化 mysql")
 			Mysql = &mysql.Mysql{
@@ -145,6 +135,8 @@ func init() {
 				Size:        DbConf.Mongodb.Bidding.Size,
 				DbName:      DbConf.Mongodb.Bidding.DbName,
 				ReplSet:     DbConf.Mongodb.Bidding.ReplSet,
+				UserName:    DbConf.Mongodb.Bidding.UserName,
+				Password:    DbConf.Mongodb.Bidding.Password,
 			}
 			Mgo_Bidding.InitPool()
 		}

+ 7 - 0
src/jfw/modules/bigmember/src/service/analysis/analysis.go

@@ -7,6 +7,7 @@ import (
 	"db"
 	"entity"
 	qutil "qfw/util"
+	"regexp"
 	"strconv"
 	"strings"
 	"time"
@@ -56,11 +57,17 @@ const (
 )
 
 var P_Starttime = "1514736000" //2018.01.01
+
+var RegWinner = regexp.MustCompile(".+[司院厂所心处普]$")
+
 //
 func init() {
 	now := time.Now()
 	newDate := time.Date(now.Year()-Config.TimeSpan, 1, 1, 0, 0, 0, 0, time.Local).Unix()
 	P_Starttime = strconv.FormatInt(newDate, 10)
+	if Config.RegWinner != "" {
+		RegWinner = regexp.MustCompile(Config.RegWinner)
+	}
 }
 
 //根据项目名称获取项目信息

+ 12 - 4
src/jfw/modules/bigmember/src/service/analysis/decision.go

@@ -35,7 +35,6 @@ type DecParam struct {
 }
 
 var regExperts = regexp.MustCompile("^[\\p{Han}]{2,4}$")
-var regWinner = regexp.MustCompile(".+[司院厂所心处普]$")
 var decisionLock = map[string]*sync.Mutex{}
 
 //试用用户分析
@@ -438,7 +437,7 @@ func getDecInfo(decQuery, buyer_buyerClass string, dec *DecParam) map[string]int
 				if len(aggsMap) > 0 {
 					var buckets = []*DecWinnerInfo{}
 					for _, v := range aggsMap {
-						if !regWinner.MatchString(qutil.ObjToString(v["key"])) {
+						if !RegWinner.MatchString(qutil.ObjToString(v["key"])) {
 							continue
 						}
 						//类似项目金额
@@ -578,8 +577,17 @@ func Sequence(seqData []map[string]interface{}) []map[string]interface{} {
 	var sequenceArr9 = []map[string]interface{}{}
 	for k, v := range seqData {
 		var score = 0
-		if v["s_winner"] == nil || !regWinner.MatchString(qutil.ObjToString(v["s_winner"].(string))) {
-			continue
+		if v["s_winner"] == nil {
+			var s_winner = qutil.ObjToString(v["s_winner"])
+			var s_length = 0
+			for _, v := range strings.Split(s_winner, ",") {
+				if RegWinner.MatchString(v) {
+					s_length += 1
+				}
+			}
+			if s_length == 0 {
+				continue
+			}
 		}
 		//评审专家
 		review_experts := []string{}

+ 1 - 1
src/jfw/modules/common/src/qfw/util/jy/userMerge.go

@@ -16,7 +16,7 @@ import (
 
 var (
 	aboutTableRemove = []string{"pushspace", "pushspace_entniche", "pushspace_entniche_project", "pushspace_entniche_temp", "pushspace_entniche_wait", "pushspace_fail", "pushspace_project", "pushspace_statistic", "pushspace_temp", "pushspace_vip", "pushspace_fail"}
-	WxField          = []string{"s_appponetype", "s_jpushid", "s_opushid", "s_appversion", "s_unionid", "s_name", "s_nickname", "i_sex", "s_country", "s_province", "s_city", "s_headimageurl", "s_m_openid", "a_m_openid", "i_ispush"}
+	WxField          = []string{"s_appponetype", "s_jpushid", "s_opushid", "s_appversion", "s_unionid", "s_name", "s_nickname", "i_sex", "s_country", "s_province", "s_city", "s_headimageurl", "s_m_openid", "a_m_openid", "i_ispush", "i_applystatus"}
 	PhField          = []string{"s_appponetype", "s_jpushid", "s_opushid", "s_appversion", "s_phone", "s_password"}
 )
 

+ 10 - 3
src/jfw/modules/common/src/qfw/util/jy/userPhoneUtil.go

@@ -57,13 +57,19 @@ func (this *PhoneUtil) bindWeixin(phoneUserId string, wxRelationMap *map[string]
 
 //解绑微信
 func (this *PhoneUtil) unBindWeixin(phoneUserId, opera string) error {
+	//查询解绑微信unionid
+	logMap := this.getWxRelationMap(phoneUserId)
 	if !this.UserMgoDB.UpdateById("user", phoneUserId, map[string]interface{}{
-		"$unset": map[string]interface{}{"s_name": 1, "s_nickname": 1, "i_sex": 1, "s_country": 1, "s_province": 1, "s_city": 1, "s_headimageurl": 1, "s_m_openid": 1, "a_m_openid": 1, "i_ispush": 1, "s_unionid": 1},
+		"$unset": map[string]interface{}{"s_name": 1, "s_nickname": 1, "i_sex": 1, "s_country": 1, "s_province": 1, "s_city": 1, "s_headimageurl": 1, "s_m_openid": 1, "a_m_openid": 1, "i_ispush": 1, "s_unionid": 1, "i_applystatus": 1},
 	}) {
 		return fmt.Errorf("解除微信关联异常")
 	}
 	//存日志
-	this.Log(phoneUserId, fmt.Sprintf("%s_unBindWeixin", opera), "")
+	logUnionid := ""
+	if logMap != nil && len(*logMap) > 0 {
+		logUnionid, _ = (*logMap)["s_unionid"].(string)
+	}
+	this.Log(phoneUserId, fmt.Sprintf("%s_unBindWeixin", opera), logUnionid)
 	return nil
 }
 
@@ -83,13 +89,14 @@ func (this *PhoneUtil) bindPhone(weixinUserId, phone, opera string) error {
 
 //解除手机号关联
 func (this *PhoneUtil) unBindPhone(weixinUserId, opera string) error {
+	logPhone := this.getUserPhone(weixinUserId)
 	if !this.UserMgoDB.UpdateById("user", weixinUserId, map[string]interface{}{
 		"$unset": map[string]interface{}{"s_m_phone": 0},
 	}) {
 		return fmt.Errorf("解除手机关联异常")
 	}
 	//存日志
-	this.Log(weixinUserId, fmt.Sprintf("%s_unBindPhone", opera), "")
+	this.Log(weixinUserId, fmt.Sprintf("%s_unBindPhone", opera), logPhone)
 	return nil
 }
 

+ 2 - 2
src/jfw/modules/distribution/src/service/action/share.go

@@ -356,7 +356,7 @@ func (this *Share) GetWordShare() {
 	this.ServeJson(res)
 }
 
-//type 1:超级订阅 2:数据导出 3:数据报告 4:线上课程 5三级页
+//type 1:超级订阅 2:数据导出 3:数据报告 4:中标必听课 5三级页
 func (this *Share) ShareLogs() {
 	userId, _ := this.GetSession("userId").(string)
 	//userId := "5c89fead1c298a4d75fef39e"
@@ -370,7 +370,7 @@ func (this *Share) ShareLogs() {
 		} else if typ == 3 {
 			product_type = "数据报告"
 		} else if typ == 4 {
-			product_type = "线上课程"
+			product_type = "中标必听课"
 		} else {
 			return -1, "product_type参数错误"
 		}

+ 11 - 4
src/jfw/modules/subscribepay/src/config.json

@@ -2,15 +2,22 @@
 	"mongodbServers": "192.168.3.128:27080",
     "mongodbPoolSize": 5,
     "mongodbName": "qfw",
-	"mongodbServersEnt": "192.168.3.128:27080",
-    "mongodbNameEnt": "extract_v3",
+    "mongoent":{
+    	"address": "192.168.3.207:27001,192.168.3.206:27002",
+		"size": 5,
+		"dbName": "qfw_data",
+		"userName": "jyDevGroup",
+		"password": "jy@DevGroup"
+    },
 	"mongobidding":{
-		"address": "192.168.3.207:27092",
+		"address": "192.168.3.207:27001,192.168.3.206:27002",
 		"size": 5,
 		"dbName": "qfw_data",
 		"replSet": "",
 		"collection": "bidding",
-		"collection_change": "bidding_back"
+		"collection_change": "bidding_back",
+		"userName": "jyDevGroup",
+		"password": "jy@DevGroup"
 	},
     "redisaddrs": "other=192.168.3.128:1712,session=192.168.3.128:1712,push=192.168.3.128:1712,pushcache_1=192.168.3.128:5000,pushcache_2_a=192.168.3.128:5001",
     "elasticsearch": "http://192.168.3.128:9800",

+ 15 - 13
src/jfw/modules/subscribepay/src/config/config.go

@@ -7,19 +7,11 @@ import (
 )
 
 type config struct {
-	MongodbServers    string
-	MongodbPoolSize   int
-	MongodbName       string
-	MongodbServersEnt string
-	MongodbNameEnt    string
-	Mongobidding      struct {
-		Address           string
-		Size              int
-		DbName            string
-		ReplSet           string
-		Collection        string
-		Collection_change string
-	}
+	MongodbServers  string
+	MongodbPoolSize int
+	MongodbName     string
+	Mongoent        *mgoConf
+	Mongobidding    *mgoConf
 	Elasticsearch   string
 	ElasticPoolSize int
 	Redisaddrs      string
@@ -62,6 +54,16 @@ type config struct {
 	ProfitTitle    string
 	ProfitDescript string
 }
+type mgoConf struct {
+	Address           string
+	Size              int
+	DbName            string
+	ReplSet           string
+	Collection        string
+	Collection_change string
+	UserName          string
+	Password          string
+}
 type timeTaskConfig struct {
 	IsRun          bool   //是否执行定时任务
 	ExpireRemind   string //到期提醒

+ 4 - 2
src/jfw/modules/subscribepay/src/entity/dataExportSearch.go

@@ -202,8 +202,10 @@ func getDataExportSql(scd *SieveCondition) string {
 		if _maxPrice != "" {
 			sq += fmt.Sprintf(lte, _maxPrice)
 		}
-		query_price := fmt.Sprintf(query_bool_should, fmt.Sprintf(query_price, sq, sq))
-		musts = append(musts, query_price)
+		if _minPrice != "" || _maxPrice != "" {
+			query_price := fmt.Sprintf(query_bool_should, fmt.Sprintf(query_price, sq, sq))
+			musts = append(musts, query_price)
+		}
 	}
 	boolsNum := 0
 	//should

+ 1 - 1
src/jfw/modules/subscribepay/src/entity/jyCourseOnlineStruct.go

@@ -91,7 +91,7 @@ func (this *jyCourseOnline) NewOrder(param frpc.JyPayOrderParam) (ordercode stri
 		"code_url":       payParam,
 		"out_trade_no":   tradeno,
 		"order_code":     ordercode,
-		"product_type":   "线上课程",
+		"product_type":   "中标必听课",
 		"create_time":    qutil.FormatDate(&now, qutil.Date_Full_Layout),
 		"prepay_time":    qutil.FormatDate(&now, qutil.Date_Full_Layout),
 		"original_price": param.Price,

+ 3 - 3
src/jfw/modules/subscribepay/src/entity/jyCourseStruct.go

@@ -66,8 +66,8 @@ func init() {
 }
 
 //给运营人员发送邮件通知   0:支付成功 1:对公转账凭证提交  2:申请退款
-func SendMailToOperation(ic int, orderCode string, auth []*mail.GmailAuth) {
-	var mail_title = "剑鱼标讯-招投标课程"
+func SendMailToOperation(ic int, orderCode, productType string, auth []*mail.GmailAuth) {
+	var mail_title = "剑鱼标讯-" + productType
 	var subject = "支付成功"
 	if ic == 1 {
 		subject = "公对公转账凭证审核"
@@ -111,7 +111,7 @@ func (this *jyCourse) PayCallBack(param *CallBackParam) bool {
 		}
 		if update {
 			//0:支付成功 1:对公转账凭证提交  2:申请退款
-			go SendMailToOperation(0, orderCode, config.GmailAuth)
+			go SendMailToOperation(0, orderCode, "招投标课程", config.GmailAuth)
 		}
 	}
 	return update

+ 2 - 2
src/jfw/modules/subscribepay/src/pay/util.go

@@ -27,7 +27,7 @@ vip订阅     | subvip
 历史数据	   | dataexport
 招投标课程   | course
 数据报告     | datareport
-线上课程     | onlineCourse
+中标必听课     | onlineCourse
 大会员      |  member
 AI中标预测包 |  aiForecastPack
 招标文件解读 |  bidfile
@@ -114,7 +114,7 @@ var (
 		"历史数据":           dataexportMap,
 		"招投标课程":          courseMap,
 		"数据报告":           datareportMap,
-		"线上课程":           onlineCourseMap,
+		"中标必听课":           onlineCourseMap,
 		"大会员":            memberMap,
 		"大会员-AI中标预测包":    aiForecastPackMap,
 		"招标文件解读":         bifileMap,

+ 2 - 2
src/jfw/modules/subscribepay/src/pay_config.json

@@ -12,7 +12,7 @@
             "sjbg_msg": "剑鱼标讯-数据报告",
             "subvip_msg":"剑鱼标讯-超级订阅",
             "course_msg":"剑鱼标讯-招投标课程",
-            "courseOnline_msg":"剑鱼标讯-线上课程",
+            "courseOnline_msg":"剑鱼标讯-中标必听课",
 			"entniche_msg":"剑鱼标讯-企业商机管理",
 			"member_msg":"剑鱼标讯-大会员",
 			"aiforecastpage_msg":"剑鱼标讯-大会员",
@@ -37,7 +37,7 @@
         "Subject_sjbg": "剑鱼数据报告",
         "Subject_subvip": "剑鱼标讯超级订阅",
         "Subject_course":"剑鱼标讯-招投标课程",
-		"Subject_courseOnline":"剑鱼标讯-线上课程",
+		"Subject_courseOnline":"剑鱼标讯-中标必听课",
 		"Subject_entniche": "企业商机管理",
 		"Subject_member":"剑鱼标讯-大会员",
 		"Subject_aiforecastpack":"剑鱼标讯-大会员",

+ 3 - 2
src/jfw/modules/subscribepay/src/service/commonAction.go

@@ -331,6 +331,7 @@ func (this *CommonAction) SaveTransferAccounts() {
 	orderCode := this.GetString("orderCode")
 	transferV := this.GetString("transferV")
 	userId := qutil.ObjToString(this.GetSession("userId"))
+	productType := ""
 	r := func() *entity.FuncResult {
 		if !imgReg.MatchString(transferV) {
 			return &entity.FuncResult{false, errors.New("上传图片异常"), nil}
@@ -343,7 +344,7 @@ func (this *CommonAction) SaveTransferAccounts() {
 		if !(qutil.IntAll((*rSearch)["order_status"]) == 0 && (qutil.IntAll((*rSearch)["course_status"]) == 0 || qutil.IntAll((*rSearch)["course_status"]) == 1 || qutil.IntAll((*rSearch)["course_status"]) == 3)) {
 			return &entity.FuncResult{false, errors.New("操作异常"), nil}
 		}
-		productType := qutil.ObjToString((*rSearch)["product_type"])
+		productType = qutil.ObjToString((*rSearch)["product_type"])
 		if !(productType == "招投标课程" || productType == "大会员") {
 			return &entity.FuncResult{false, errors.New("非法请求"), nil}
 		}
@@ -372,7 +373,7 @@ func (this *CommonAction) SaveTransferAccounts() {
 			return &entity.FuncResult{false, errors.New("保存失败"), nil}
 		}
 		go func() {
-			entity.SendMailToOperation(1, orderCode, config.GmailAuth)
+			entity.SendMailToOperation(1, orderCode, productType, config.GmailAuth)
 			//关闭之前支付串(防止重复支付)
 			if qutil.ObjToString((*rSearch)["pay_way"]) != "" {
 				if !pay.CloseOrder(qutil.ObjToString((*rSearch)["out_trade_no"]), qutil.ObjToString((*rSearch)["pay_way"])) {

+ 5 - 3
src/jfw/modules/subscribepay/src/service/courseAction.go

@@ -94,7 +94,7 @@ func (this *CourseAction) SaveVoucher() {
 		log.Printf("%s CreateOrder err:%v\n", userId, r.Err.Error())
 	} else {
 		//0:支付成功 1:对公转账凭证提交  2:申请退款
-		go entity.SendMailToOperation(1, this.GetString("orderCode"), config.GmailAuth)
+		go entity.SendMailToOperation(1, this.GetString("orderCode"), "招投标课程", config.GmailAuth)
 	}
 	this.ServeJson(r.Format())
 }
@@ -666,13 +666,14 @@ func (this *CourseAction) OrderInfo() {
 //退款
 func (this *CourseAction) Refund() {
 	userId := qutil.ObjToString(this.GetSession("userId"))
+	productType := ""
 	r := func() *entity.FuncResult {
 		orderCode := this.GetString("orderCode")
 		refundReason := this.GetString("refundReason") //退款原因
 		orderdata := util.Mysql.FindOne("dataexport_order", map[string]interface{}{
 			"order_code": orderCode,
 			"user_id":    userId,
-		}, "id,course_status,filter", "")
+		}, "id,course_status,filter,product_type", "")
 		if orderdata == nil {
 			return &entity.FuncResult{false, errors.New("未找到订单"), nil}
 		}
@@ -683,6 +684,7 @@ func (this *CourseAction) Refund() {
 		}
 		vmsg := entity.JyCourseDetailMsg{}
 		filterStr := qutil.ObjToString((*orderdata)["filter"])
+		productType = qutil.ObjToString((*orderdata)["product_type"])
 		if err := json.Unmarshal([]byte(filterStr), &vmsg); err != nil {
 			log.Printf("%s course PayCallBack Unmarshal 出错 [%s]\n", userId, filterStr)
 			return &entity.FuncResult{false, errors.New("序列化出错"), nil}
@@ -710,7 +712,7 @@ func (this *CourseAction) Refund() {
 		log.Printf("%s CreateOrder err:%v\n", userId, r.Err.Error())
 	} else {
 		//0:支付成功 1:对公转账凭证提交  2:申请退款
-		go entity.SendMailToOperation(2, this.GetString("orderCode"), config.GmailAuth)
+		go entity.SendMailToOperation(2, this.GetString("orderCode"), productType, config.GmailAuth)
 	}
 	this.ServeJson(r.Format())
 }

+ 1 - 1
src/jfw/modules/subscribepay/src/service/index_p1.go

@@ -360,7 +360,7 @@ func getPushHistory(userId string) (result []*jy.SubPushList) {
 		list := util.PushMysql.SelectBySql(fmt.Sprintf(findSQL, time.Now().AddDate(0, 0, -7).Unix()))
 		if len(*list) > 0 {
 			pushCas := jy.SubscribePush.GetJyPushs(*list)
-			result = jy.SubscribePush.GetInfoByIds(util.MQFW, config.Config.Mongobidding.Collection, config.Config.Mongobidding.Collection_change, pushCas)
+			result = jy.SubscribePush.GetInfoByIds(util.Mgo_bidding, config.Config.Mongobidding.Collection, config.Config.Mongobidding.Collection_change, pushCas)
 		} else {
 			result = []*jy.SubPushList{}
 		}

+ 1 - 3
src/jfw/modules/subscribepay/src/service/orderListDetails.go

@@ -120,7 +120,6 @@ func (o *OrderListDetails) MyOrder() {
 	}
 
 	typ := o.GetString("type") // 0全部 1未支付 2已支付 3已取消
-	log.Println("-----:", typ)
 	if typ != "0" && typ != "" {
 		if typ == "1" {
 			queryM["order_status"] = orderStatus_unPaid
@@ -170,7 +169,6 @@ func (o *OrderListDetails) DeleteOrder() error {
 		typ := o.GetString("type")
 		cancel := o.GetString("cancel")
 		pageNum, _ := o.GetInteger("pageNum")
-		log.Println("-----:", typ)
 		if typ != "0" && typ != "" {
 			if typ == "1" {
 				queryM["order_status"] = orderStatus_unPaid
@@ -529,7 +527,7 @@ func (o *OrderListDetails) SetRes(res []map[string]interface{}, queryM map[strin
 			create_time_stamp = create_time.AddDate(0, 0, i_countdown).Unix()
 		}
 		now_time_stamp := time.Now().Unix()
-		if create_time_stamp < now_time_stamp && (qutil.ObjToString(v["product_type"]) == "VIP订阅" || qutil.ObjToString(v["product_type"]) == "招投标课程" || qutil.ObjToString(v["product_type"]) == "线上课程" || qutil.ObjToString(v["product_type"]) == "企业商机管理" || qutil.ObjToString(v["product_type"]) == "数据报告") {
+		if create_time_stamp < now_time_stamp && (qutil.ObjToString(v["product_type"]) == "VIP订阅" || qutil.ObjToString(v["product_type"]) == "招投标课程" || qutil.ObjToString(v["product_type"]) == "中标必听课" || qutil.ObjToString(v["product_type"]) == "企业商机管理" || qutil.ObjToString(v["product_type"]) == "数据报告") {
 			if v["order_status"] != nil {
 				order_status := qutil.Int64All(v["order_status"])
 				if order_status == 0 {

+ 2 - 2
src/jfw/modules/subscribepay/src/service/payCallback.go

@@ -164,7 +164,7 @@ func (a *PayCallBackAction) AliPayCallback() {
 				log.Printf("支付宝企业商机管理更新执行出错 %+v\n", thisParam)
 				return false
 			}
-		} else if strings.HasPrefix(thisParam.OutTradeno, pay.ALI_COURSEONLINE_APP) || strings.HasPrefix(thisParam.OutTradeno, pay.ALI_COURSEONLINE_NATIVE) { //线上课程
+		} else if strings.HasPrefix(thisParam.OutTradeno, pay.ALI_COURSEONLINE_APP) || strings.HasPrefix(thisParam.OutTradeno, pay.ALI_COURSEONLINE_NATIVE) { //中标必听课
 			if !entity.JyCourseOnline.PayCallBack(thisParam) {
 				log.Printf("支付宝线上课程更新执行出错 %+v\n", thisParam)
 			}
@@ -250,7 +250,7 @@ func (p *PayCallBackAction) WxPayCallback() {
 			if update = entity.EntnicheStruct.PayCallBack(thisParam); !update {
 				log.Printf("微信企业商机管理更新执行出错 %+v\n", thisParam)
 			}
-		} else if strings.HasPrefix(thisParam.OutTradeno, pay.WX_COURSEONLINE_APP) || strings.HasPrefix(thisParam.OutTradeno, pay.WX_COURSEONLINE_JSAPI) || strings.HasPrefix(thisParam.OutTradeno, pay.WX_COURSEONLINE_NATIVE) { //线上课程
+		} else if strings.HasPrefix(thisParam.OutTradeno, pay.WX_COURSEONLINE_APP) || strings.HasPrefix(thisParam.OutTradeno, pay.WX_COURSEONLINE_JSAPI) || strings.HasPrefix(thisParam.OutTradeno, pay.WX_COURSEONLINE_NATIVE) { //中标必听课
 			if update = entity.JyCourseOnline.PayCallBack(thisParam); !update {
 				log.Printf("微信线上课程更新执行出错 %+v\n", thisParam)
 			}

+ 1 - 1
src/jfw/modules/subscribepay/src/service/userAccountInfo.go

@@ -587,7 +587,7 @@ func (this *UserAccount) WxUnBind() {
 		//if pass, data := authenticationCheck(this.GetSession(phoneAuthPassSessionKey)); !pass {
 		//	return data, nil
 		//}
-		unsetMap, _ := util.MQFW.FindById("user", userId, `{"s_m_phone":1,"s_phone":1,"s_unionid":1,"s_name":1,"s_nickname":1,"i_sex":1,"s_country":1,"s_province":1,"s_city":1,"s_headimageurl":1,"s_m_openid":1,"a_m_openid":1,"i_ispush":1}`)
+		unsetMap, _ := util.MQFW.FindById("user", userId, `{"s_m_phone":1,"s_phone":1,"s_unionid":1,"s_name":1,"s_nickname":1,"i_sex":1,"s_country":1,"s_province":1,"s_city":1,"s_headimageurl":1,"s_m_openid":1,"a_m_openid":1,"i_ispush":1,"i_applystatus":1}`)
 		if unsetMap == nil || len(*unsetMap) == 0 {
 			return nil, DBQUERY_ERROR
 		}

+ 7 - 3
src/jfw/modules/subscribepay/src/util/db.go

@@ -35,9 +35,11 @@ func init() {
 	MQFW.InitPool()
 	//
 	MQFWENT = mg.MongodbSim{
-		MongodbAddr: Config.MongodbServersEnt,
-		Size:        Config.MongodbPoolSize,
-		DbName:      Config.MongodbNameEnt,
+		MongodbAddr: Config.Mongoent.Address,
+		Size:        Config.Mongoent.Size,
+		DbName:      Config.Mongoent.DbName,
+		UserName:    Config.Mongoent.UserName,
+		Password:    Config.Mongoent.Password,
 	}
 	MQFWENT.InitPool()
 	//
@@ -68,6 +70,8 @@ func init() {
 		Size:        Config.Mongobidding.Size,
 		DbName:      Config.Mongobidding.DbName,
 		ReplSet:     Config.Mongobidding.ReplSet,
+		UserName:    Config.Mongobidding.UserName,
+		Password:    Config.Mongobidding.Password,
 	}
 	Mgo_bidding.InitPool()
 }

+ 4 - 0
src/jfw/public/db.go

@@ -109,6 +109,8 @@ func init() {
 				Size:        DbConf.Mongodb.Bidding.Size,
 				DbName:      DbConf.Mongodb.Bidding.DbName,
 				ReplSet:     DbConf.Mongodb.Bidding.ReplSet,
+				UserName:    DbConf.Mongodb.Bidding.UserName,
+				Password:    DbConf.Mongodb.Bidding.Password,
 			}
 			Mgo_Bidding.InitPool()
 		}
@@ -119,6 +121,8 @@ func init() {
 				Size:        DbConf.Mongodb.Ent.Size,
 				DbName:      DbConf.Mongodb.Ent.DbName,
 				ReplSet:     DbConf.Mongodb.Ent.ReplSet,
+				UserName:    DbConf.Mongodb.Ent.UserName,
+				Password:    DbConf.Mongodb.Ent.Password,
 			}
 			Mgo_Ent.InitPool()
 		}

+ 2 - 1
src/main.go

@@ -3,7 +3,8 @@ package main
 import (
 	_ "jfw/active"
 	. "jfw/config"
-	_ "jfw/course"
+
+	// _ "jfw/course"  线下课程 dev3.5.2 21年2.24 下线
 	_ "jfw/filter"
 	"jfw/front"
 	_ "jfw/nodemgr"

+ 1 - 1
src/seo.json

@@ -12,7 +12,7 @@
             "title": "_剑鱼标讯,全行业招标信息智能推送领导者!"
         }
     },
-    "version": "1412",
+    "version": "1413",
     "area": {
         "QG": {
             "NAME": "全国",

BIN
src/web/staticres/course/image/lessonsOffline.png


BIN
src/web/staticres/course/image/lessonsOffline_bak.png


BIN
src/web/staticres/course/image/lessonsOnline.png


BIN
src/web/staticres/course/image/lessonsOnline_bak.png


+ 11 - 7
src/web/templates/common/pchead.html

@@ -509,16 +509,17 @@
                     </div>
                     <a href="/bid/pc/page/bidfile_landpage">招标文件解读</a>
                 </li>
-				<li class="more" name="增值服务">
-				  <a>增值服务</a>
-					<div class="items course" style="display: none">
-                      <div class="item item_line">
-                        <a class="link" href="/jyxspc/">线上课程</a>
-                      </div>
+				<li name="中标必听课">
+				  <a href="javascript:" datahref="/jyxspc/" id="xspc">中标必听课</a>
+					<!--<div class="items course" style="display: none">
+                      <div class="item item_line" style="border-bottom: 0px solid #E0E0E0;">
+                        <a class="link" href="/jyxspc/">中标必听课</a>
+                      </div>-->
+                     <!-- 线下课程 dev3.5.2 21年2.24 下线
                       <div class="item">
                         <a class="link" href="/front/course/list">线下课程</a>
                       </div>
-					</div>
+					</div>-->
 				</li>
 				<li class="slider"></li>
 			</ul>
@@ -711,6 +712,9 @@ $(function(){
 	});
 })
 
+$("#xspc").click(function(){
+   window.location.href=$(this).attr("datahref");
+})
 $("#dataExport").click(function(){
     //清除筛选条件页面的相应session-20190102
     for(var i in sessionStorage){

+ 42 - 97
src/web/templates/pc/myOrder.html

@@ -382,74 +382,14 @@
                             }
                             m_status_html += '<p><a onclick="toDetail(\'' + orderCode + '\',0);">查看详情</a></p>'
 
-                        } else if (obj.product_type === "招投标课程") {
-                            var filter_ = JSON.parse(obj.filter)
-                            shop_img_html += '<img src="{{Msg "seo" "cdn"}}/course/image/lessonsOffline.png?v={{Msg "seo" "version"}}" alt="">'
-                            shop_main_html += '<p>课程名称:' + filter_.courseName + '</p>'
-                                + '<p>课程类型:' + filter_.courseType + '</p>'
-                                + '<p>课程地点:' + filter_.courseAddress + '</p>'
-                                + '<p>购买人数:' + filter_.peoleNum + '</p>'
-                            if (orderStatus === 0) {//0:待付款;
-                                //1:对公转账未上传凭证;2:对公转账审核中;3:对公转账审核未通过
-                                orderStatusClassOne = "blueColor"
-                                orderStatusClassTwo = "blueBg"
-                                if (parseInt(course_status) === 2) {
-                                    m_status_html += '<p class="unfinished">转账审核中</p>'
-                                    m_handle_html += '-'
-                                } else if (parseInt(course_status) === 3) {
-                                    m_status_html += '<p class="unfinished">未收到转账</p>'
-                                    m_handle_html += '<p><a href="/front/course/orderPay?code=' + orderCode + '" class="go_pay">再次支付</a></p>'
-                                        + '<p><a  orderCode="' + orderCode + '" onclick="toCancel(' + id +
-                                        ',this,\'' + obj.filter_id + '\',2)">取消订单</a></p>'
-                                } else {
-                                    m_status_html += '<p class="finish_status">待付款</p>'
-                                    m_handle_html += '<p><a href="/front/course/orderPay?code=' + orderCode + '" class="go_pay">去支付</a></p>'
-                                        + '<p><a  orderCode="' + orderCode + '" onclick="toCancel(' + id +
-                                        ',this,\'' + obj.filter_id + '\',2)">取消订单</a></p>'
-                                }
-                            } else if (orderStatus === 1) {//已完成
-                                //4:对公转账审核通过(同时修改订单状态为已完成);5:退款审核中;6:已退款;
-                                if (parseInt(course_status) === 5) {
-                                    m_status_html += '<p class="unfinished">退款审核中</p>'
-                                    if (obj.applybill_status === 1 || obj.applybill_status === 2) {
-                                        m_handle_html += '<p><a onclick="checkinvoice(' + obj.applybill_status + ',\'' + "/front/course/viewInvoice?orderCode=" + orderCode + '\')" >发票信息</a></p>'
-                                    }
-                                    m_handle_html += '<p><a href="/front/course/detail?aboutFlag=true&_id=' + obj.filter_id + '">再次购买</a></p>'
-                                } else if (parseInt(course_status) === 6) {
-                                    m_status_html += '<p class="finish_status">已退款</p>'
-                                    m_handle_html += '<p><a href="/front/course/detail?aboutFlag=true&_id=' + obj.filter_id + '">再次购买</a></p>'
-                                } else {
-                                    m_status_html += '<p class="finish_status">已完成</p>'
-                                    try {
-                                        var startTime = new Date(filter_.startTime * 1000).toLocaleString().split(" ")[0];
-                                        var startTimes = new Date(startTime + " 00:00:00").getTime();
-                                        var nowTime = new Date().getTime();
-                                        if (nowTime < startTimes) {
-                                            m_handle_html += '<p><a href="/front/course/refund?orderCode=' + orderCode + '">退款</a></p>'
-                                        }
-                                    } catch (e) {
-                                    }
-                                    if (obj.applybill_status === 0) {
-                                        m_handle_html += '<p><a href="/front/course/applyInvoice?orderCode=' + orderCode + '">开发票</a></p>'
-                                    } else if (obj.applybill_status === 1 || obj.applybill_status === 2) {
-                                        m_handle_html += '<p><a onclick="checkinvoice(' + obj.applybill_status + ',\'' + "/front/course/viewInvoice?orderCode=" + orderCode + '\')">发票信息</a></p>'
-                                    }
-                                    m_handle_html += '<p><a  href="/front/course/detail?aboutFlag=true&_id=' + obj.filter_id + '">再次购买</a></p>'
-                                }
-                            } else if (orderStatus === -2 || orderStatus === -3) {//已取消
-                                m_status_html += '<p class="finish_status">已取消</p>'
-                                m_handle_html += '<p><a  href="/front/course/detail?aboutFlag=true&_id=' + obj.filter_id + '">再次购买</a></p>'
-
-                            }
-                            m_status_html += '<p><a onclick="toDetail(\'' + orderCode + '\',2);">查看详情</a></p>'
-                        } else if (obj.product_type === "线上课程") {
+                        }else if (obj.product_type === "中标必听课") {
                             var filter_ = JSON.parse(obj.filter)
                             var courseEndTimeStamp = filter_.l_endtime;
                             var courseEndTime = new Date(courseEndTimeStamp * 1000)
 
                             shop_img_html += '<img src="{{Msg "seo" "cdn"}}/course/image/lessonsOnline.png?v={{Msg "seo" "version"}}" alt="">'
                             shop_main_html += '<p>课程名称:' + filter_.s_name + '</p>'
-                                + '<p>课程类型:线上课程</p>'
+                                + '<p>课程类型:中标必听课</p>'
                                 + '<p>课程时长:' + filter_.s_courseDate + '</p>'
                                 + '<p>课程节数:共' + (!filter_.i_num ? 1 : filter_.i_num) + '节</p>'
                                 + '<p>有效日期:' + courseEndTime.getFullYear() + '/' + (courseEndTime.getMonth() + 1) + '/' + courseEndTime.getDate() + ' 到期</p>'
@@ -918,42 +858,47 @@
                             }
                             m_status_html += '<p><a onclick="toDetail(\'' + orderCode + '\',10);">查看详情</a></p>'
                         }
-                        var money="¥"+FormatNum(orderMoney);
-                        if (filter_&&filter_.give_cycle&&filter_.original_price) {
-                           money = "<div style='  display: flex; flex-direction: column;align-items: center;justify-content: center;line-height:1;height:100%;color:#999;'><span style='text-decoration: line-through;'>¥"+FormatNum(filter_.original_price/100)+"</span><div style='color:#1D1D1D;text-decoration:none;'>¥"+FormatNum(orderMoney)+"</div></div>"
+                        if (shop_img_html!=""&&shop_main_html!=""&&priceHtml!=""){
+                          var money="¥"+FormatNum(orderMoney);
+                          if (filter_&&filter_.give_cycle&&filter_.original_price) {
+                             money = "<div style='  display: flex; flex-direction: column;align-items: center;justify-content: center;line-height:1;height:100%;color:#999;'><span style='text-decoration: line-through;'>¥"+FormatNum(filter_.original_price/100)+"</span><div style='color:#1D1D1D;text-decoration:none;'>¥"+FormatNum(orderMoney)+"</div></div>"
+                          }
+                          var priceHtml = '<div class="fl m_number ' + orderStatusClassOne + '">' +money+ '</div>'
+                          temp += '<div class="order_list ' + orderStatusClassOne + '">'
+                              + '<div class="clearfix o_l_top ' + orderStatusClassTwo + '">'
+                              + '<div class="fl">'
+                              + '<span class="o_time">' + obj.create_time + '</span>'
+                              + '<span class="o_number">订单号:' + orderCode + '</span>'
+                              + '</div>'
+                              + '<i class="iconfont icon-shanchu fr o_del" onclick="deleteOrder(\'' + id +
+                              '\',this)"></i>'
+                              + '</div>'
+                              + '<div class="clearfix o_l_middle">'
+                              + '<div class="fl m_info ' + orderStatusClassOne + ' fix-el">'
+                              + '<div class="fl shop_img">'
+                              + shop_img_html
+                              + '</div>'
+                              + '<div class="fl shop_main">'
+                              + shop_main_html
+                              + '</div>'
+                              + '</div>'
+                              + priceHtml
+                              + '<div class="fl m_status ' + orderStatusClassOne + '">'
+                              + '<div class="stateBox">'
+                              + m_status_html
+                              + '</div>'
+                              + '</div>'
+                              + '<div class="fl m_handle">'
+                              + '<div class="handleBox">'
+                              + m_handle_html
+                              + '</div>'
+                              + '</div>'
+                              + '</div>'
+                              + '</div>'
+                        }else{
+                          temp = noDataHtml;
+                          $(".pagination-box").hide();
                         }
-                        var priceHtml = '<div class="fl m_number ' + orderStatusClassOne + '">' +money+ '</div>'
-                        temp += '<div class="order_list ' + orderStatusClassOne + '">'
-                            + '<div class="clearfix o_l_top ' + orderStatusClassTwo + '">'
-                            + '<div class="fl">'
-                            + '<span class="o_time">' + obj.create_time + '</span>'
-                            + '<span class="o_number">订单号:' + orderCode + '</span>'
-                            + '</div>'
-                            + '<i class="iconfont icon-shanchu fr o_del" onclick="deleteOrder(\'' + id +
-                            '\',this)"></i>'
-                            + '</div>'
-                            + '<div class="clearfix o_l_middle">'
-                            + '<div class="fl m_info ' + orderStatusClassOne + ' fix-el">'
-                            + '<div class="fl shop_img">'
-                            + shop_img_html
-                            + '</div>'
-                            + '<div class="fl shop_main">'
-                            + shop_main_html
-                            + '</div>'
-                            + '</div>'
-                            + priceHtml
-                            + '<div class="fl m_status ' + orderStatusClassOne + '">'
-                            + '<div class="stateBox">'
-                            + m_status_html
-                            + '</div>'
-                            + '</div>'
-                            + '<div class="fl m_handle">'
-                            + '<div class="handleBox">'
-                            + m_handle_html
-                            + '</div>'
-                            + '</div>'
-                            + '</div>'
-                            + '</div>'
                     }
                 } else {
                     temp = noDataHtml;

+ 3 - 171
src/web/templates/weixin/commonPay/myOrder.html

@@ -1201,175 +1201,7 @@
                         + '</div>'
                 }
 
-            } else if (obj.product_type === "招投标课程") {
-                count++;
-                // console.log(obj)
-                var id = obj.id;
-                //订单编号
-                var orderCode = obj.order_code;
-                //创建时间
-                var createTime = obj.create_time;
-                createTime = createTime.replace(/-/g, ".")
-                var payWay = obj.pay_way
-                var filterObj = JSON.parse(obj.filter);
-                var courseName = filterObj.courseName;
-                var courseType = filterObj.courseType;
-                var courseAddress = filterObj.courseAddress;
-                var peopleNum = filterObj.peoleNum;
-                var orderStatus = obj.order_status;
-                var courseStatus = obj.course_status;
-                var orderStatusHtml = "";
-                var orderStatusHtmls = "";
-                var coursePrice = filterObj.coursePrice;
-                var costPrice = peopleNum * coursePrice;
-                var orderMoney = obj.order_money;
-                var courseId = filterObj.courseMgoId;
-                var lastHtml = "";
-                var orderUrl = "/swordfish/course/orderDetail?code=" + orderCode;
-                var helpHtml = "";
-
-                if (payWay !== "transferAccounts") {
-                    if (orderStatus === 0) {
-                        orderStatusHtml = "待付款";
-                        orderStatusHtmls = "notpay";
-                        lastHtml = '<div class="card-footer">'
-                            + '<a  class="btn cancle gopay_btn" onclick="cancelOrder(' + id + ',this)">取消订单</a>'
-                            + '<a onclick="setSessionStorage()" href="/weixin/pay/optionPay?code=' + orderCode + '" class="btn green-btn">去支付</a>'
-                            + '</div>';
-                    } else if (orderStatus === 1) {
-                        if (courseStatus === 5) {
-                            orderStatusHtml = "退款审核中";
-                            orderStatusHtmls = "refund";
-                            lastHtml = '<div class="card-footer">'
-                                + '<a onclick="setSessionStorage()" href="/swordfish/course/detail/' + courseId + '" class="btn cancle green-btn">再次购买</a>'
-                                + '</div>';
-                            orderUrl = "/swordfish/course/refundVerify?code=" + orderCode;
-                        } else if (courseStatus === 6) {
-                            orderStatusHtml = "已退款";
-                            orderStatusHtmls = "refund";
-                            lastHtml = '<div class="card-footer">'
-                                + '<a onclick="setSessionStorage()" href="/swordfish/course/detail/' + courseId + '" class="btn cancle green-btn">再次购买</a>'
-                                + '</div>';
-                            orderUrl = "/swordfish/course/refundVerify?code=" + orderCode + "&isrefund=true";
-                        } else {
-                            orderStatusHtml = "已完成";
-                            lastHtml = '<div class="card-footer refundable tooltip">'
-                                + '<i class="show-more" onclick="show_more(this)"></i>'
-                                + '<a onclick="setSessionStorage()" href="/swordfish/course/refund?code=' + orderCode + '" class="tooltip-text hide" data-id="订单id" style="display: none;">退款</a>'
-                                + '<a onclick="setSessionStorage()" href="/swordfish/course/detail/' + courseId + '" class="btn cancle green-btn">再次购买</a>'
-                                + '</div>'
-                            var endTime = "";
-                            try {
-                                var startTime = new Date(filterObj.startTime * 1000).toLocaleString().split(" ")[0];
-                                var startTimes = new Date(startTime + " 00:00:00").getTime();
-                                var nowTime = new Date().getTime();
-                                if (nowTime >= startTimes) {
-                                    lastHtml = '<div class="card-footer">'
-                                        + '<a onclick="setSessionStorage()" href="/swordfish/course/detail/' + courseId + '" class="btn cancle">再次购买</a>'
-                                        + '</div>'
-                                }
-                            } catch (e) {
-                            }
-                        }
-                    } else {
-                        orderStatusHtml = "已取消";
-                        lastHtml = '<div class="card-footer">'
-                            + '<a onclick="setSessionStorage()" href="/swordfish/course/detail/' + courseId + '" class="btn cancle green-btn">再次购买</a>'
-                            + '</div>'
-                    }
-                } else {
-                    //公对公
-                    if (orderStatus === 0) {
-                        if (courseStatus === 2) {
-                            orderStatusHtml = "转账审核中";
-                            orderUrl = "/swordfish/course/transferVerify?code=" + orderCode;
-                            orderStatusHtmls = "refund";
-                        } else if (courseStatus === 3) {
-                            orderStatusHtml = "未收到转账";
-                            lastHtml = '<div class="card-footer">'
-                                + '<a  class="btn cancle gray-btn" onclick="cancelOrder(' + id + ',this)">取消订单</a>'
-                                + '<a onclick="setSessionStorage()" href="/weixin/pay/optionPay?code=' + orderCode + '" class="btn green-btn">再次支付</a>'
-                                + '</div>';
-                            helpHtml = '<span class="doubt iconfont icon-bangzhu" onclick="phoneShow()"></span>'
-                            orderStatusHtmls = "refund";
-                        } else {
-                            orderStatusHtml = "待付款";
-                            orderStatusHtmls = "notpay";
-                            lastHtml = '<div class="card-footer">'
-                                + '<a  class="btn cancle gray-btn" onclick="cancelOrder(' + id + ',this)">取消订单</a>'
-                                + '<a onclick="setSessionStorage()" href="/weixin/pay/optionPay?code=' + orderCode + '" class="btn green-btn">去支付</a>'
-                                + '</div>';
-                        }
-                    } else if (orderStatus === 1) {
-                        if (courseStatus === 5) {
-                            orderStatusHtml = "退款审核中";
-                            orderStatusHtmls = "refund";
-                            lastHtml = '<div class="card-footer">'
-                                + '<a onclick="setSessionStorage()" href="/swordfish/course/detail/' + courseId + '" class="btn cancle green-btn">再次购买</a>'
-                                + '</div>';
-                            orderUrl = "/swordfish/course/refundVerify?code=" + orderCode;
-                        } else if (courseStatus === 6) {
-                            orderStatusHtml = "已退款";
-                            orderStatusHtmls = "refund";
-                            lastHtml = '<div class="card-footer">'
-                                + '<a onclick="setSessionStorage()" href="/swordfish/course/detail/' + courseId + '" class="btn cancle green-btn">再次购买</a>'
-                                + '</div>';
-                            orderUrl = "/swordfish/course/refundVerify?code=" + orderCode + "&isrefund=true";
-                        } else {
-                            orderStatusHtml = "已完成";
-                            lastHtml = '<div class="card-footer refundable tooltip">'
-                                + '<i class="show-more" onclick="show_more(this)"></i>'
-                                + '<a onclick="setSessionStorage()" href="/swordfish/course/refund?code=' + orderCode + '" class="tooltip-text hide" data-id="订单id" style="display: none;">退款</a>'
-                                + '<a onclick="setSessionStorage()" href="/swordfish/course/detail/' + courseId + '" class="btn cancle green-btn">再次购买</a>'
-                                + '</div>'
-                            var endTime = "";
-                            try {
-                                var startTime = new Date(filterObj.startTime * 1000).toLocaleString().split(" ")[0];
-                                var startTimes = new Date(startTime + " 00:00:00").getTime();
-                                var nowTime = new Date().getTime();
-                                if (nowTime >= startTimes) {
-                                    lastHtml = '<div class="card-footer">'
-                                        + '<a onclick="setSessionStorage()" href="/swordfish/course/detail/' + courseId + '" class="btn cancle">再次购买</a>'
-                                        + '</div>'
-                                }
-                            } catch (e) {
-                            }
-                        }
-                    } else {
-                        orderStatusHtml = "已取消";
-                        lastHtml = '<div class="card-footer">'
-                            + '<a onclick="setSessionStorage()" href="/swordfish/course/detail/' + courseId + '" class="btn cancle">再次购买</a>'
-                            + '</div>'
-                    }
-                }
-                listhtml += '<div class="card">'
-                    + '<div class="card-header">'
-                    + '<span class="time">' + createTime + '</span>'
-                    + '<span class="status ' + orderStatusHtmls + '">'
-                    + helpHtml
-                    + '<span class="status-text">' + orderStatusHtml + '</span>'
-                    + '<a class="delete_icon" title="删除订单" onclick="deleteOrder(' + id + ',this)"></a>'
-                    + '</span>'
-                    + '</div>'
-                    + '<div class="card-content">'
-                    + '<a onclick="setSessionStorage()" href="' + orderUrl + '" eid="' + courseId + '" class="media" courseOrder="true" vid="' + orderCode + '">'
-                    + '<div class="media-img">'
-                    + '<img src="/course/image/lessonsOffline.png">'
-                    + '</div>'
-                    + '<div class="media-info">'
-                    + '<p class="item-ifo ellipsis-2">' + courseName + '</p>'
-                    + '<p class="item-ifo ellipsis">课程类型:' + courseType + '</p>'
-                    + '<p class="item-ifo ellipsis">课程地点:' + courseAddress + '</p>'
-                    + '<p class="item-ifo ellipsis">购买人数:' + peopleNum + '人</p>'
-                    + '</div>'
-                    + '</a>'
-                    + '<div class="price">'
-                    + '<strong class="current">¥' + formatMoney(orderMoney) + '</strong>'
-                    + '</div>'
-                    + '</div>'
-                    + lastHtml
-                    + '</div>'
-            } else if (obj.product_type === "线上课程") {
+            } else if (obj.product_type === "中标必听课") {
                 count++;
                 var id = obj.id;
                 //订单编号
@@ -1440,13 +1272,13 @@
                     + '</span>'
                     + '</div>'
                     + '<div class="card-content">'
-                    + '<a onclick="setSessionStorage()" href="' + orderUrl + '" eid="' + courseId + '" vid="' + orderCode + '" class="media" courseOnlineOrder="true">'
+                    + '<a onclick="setSessionStorage()" href="' + orderUrl + '" eid="' + orderCode + '" vid="' + orderCode + '" class="media" courseOnlineOrder="true">'
                     + '<div class="media-img">'
                     + '<img src="/course/image/lessonsOnline.png">'
                     + '</div>'
                     + '<div class="media-info">'
                     + '<p class="item-ifo ellipsis-2">课程名称:' + courseName + '</p>'
-                    + '<p class="item-ifo ellipsis">课程类型:线上课程</p>'
+                    + '<p class="item-ifo ellipsis">课程类型:中标必听课</p>'
                     + '<p class="item-ifo ellipsis">课程时长:' + courseLength + '</p>'
                     + '<p class="item-ifo ellipsis">课程节数:共' + (!filterObj.i_num ? 1 : filterObj.i_num) + '节</p>'
                     + '<p class="item-ifo ellipsis">有效日期:' + courseEndTime.getFullYear() + '/' + (courseEndTime.getMonth() + 1) + '/' + courseEndTime.getDate() + ' 到期</p>'

+ 1 - 1
src/web/templates/weixin/commonPay/paySuccess.html

@@ -52,7 +52,7 @@
         </button>
     </div>
     {{end}}
-    {{if eq .T.doType "onlineCourse"}}
+    {{if eq .T.doType "aiForecastPack"}}
     <div class="bottom_button">
         <button class="right_btn" onclick="window.location.href = '/front/wxMyOrder/aiForecastPackdetail/{{.T.orderCode}}'">
             查看订单

+ 1 - 1
src/web/templates/weixin/search/mainSearch.html

@@ -489,7 +489,7 @@
                 </a>
                 <a class="tab_item">
 					<div id="mainSearch-tab3" class="bg_img bg_img_3"></div>
-                    <span>线上课程</span>
+                    <span>中标必听课</span>
                 </a>
                 <a class="tab_item">
 					<div id="mainSearch-tab4" class="bg_img bg_img_4"></div>