Browse Source

fix:芝麻报告邮件发送

duxin 4 days ago
parent
commit
34b995b32b

+ 359 - 363
src/jfw/modules/subscribepay/src/entity/basePack.go

@@ -1,420 +1,416 @@
 package entity
 
 import (
-	"app.yhyue.com/moapp/jybase/go-xweb/httpsession"
-	"app.yhyue.com/moapp/jybase/redis"
-	"encoding/json"
-	"fmt"
-	"github.com/gogf/gf/v2/util/gconv"
-	"jy/src/jfw/modules/subscribepay/src/config"
-	"jy/src/jfw/modules/subscribepay/src/consts"
-	"jy/src/jfw/modules/subscribepay/src/util"
-	"log"
-	"math"
-	"strconv"
-	"strings"
-	"time"
+    "app.yhyue.com/moapp/jybase/go-xweb/httpsession"
+    "app.yhyue.com/moapp/jybase/redis"
+    "encoding/json"
+    "fmt"
+    "github.com/gogf/gf/v2/util/gconv"
+    "jy/src/jfw/modules/subscribepay/src/config"
+    "jy/src/jfw/modules/subscribepay/src/consts"
+    "jy/src/jfw/modules/subscribepay/src/util"
+    "log"
+    "math"
+    "strconv"
+    "time"
 
-	qutil "app.yhyue.com/moapp/jybase/common"
-	. "app.yhyue.com/moapp/jybase/date"
-	"app.yhyue.com/moapp/jybase/encrypt"
-	. "app.yhyue.com/moapp/jybase/mongodb"
-	"app.yhyue.com/moapp/jypkg/common/src/qfw/util/jy"
+    qutil "app.yhyue.com/moapp/jybase/common"
+    . "app.yhyue.com/moapp/jybase/date"
+    "app.yhyue.com/moapp/jybase/encrypt"
+    . "app.yhyue.com/moapp/jybase/mongodb"
+    "app.yhyue.com/moapp/jypkg/common/src/qfw/util/jy"
 )
 
 // 默认消费
 func (this *UseBalanceStruct) defaultConsume() (r map[string]interface{}, m string, c int) {
-	r, rerr := this.UseBalance()
-	if rerr != nil {
-		m = fmt.Sprintf("消费异常:%s", rerr.Error())
-	}
-	return
+    r, rerr := this.UseBalance()
+    if rerr != nil {
+        m = fmt.Sprintf("消费异常:%s", rerr.Error())
+    }
+    return
 }
 
 // KeyAccountConsume 大客户平台  || 资源中台  无权限限制
 func (this *UseBalanceStruct) KeyAccountConsume() (r map[string]interface{}, m string, c int) {
-	log.Println(this.Name, "-------附件下载记录------", this.Remarks)
-	_fileName := this.Remarks["fileName"].(string)
-	_id := this.Remarks["id"].(string)
-	if this.Remarks["infoType"] != nil && this.Remarks["infoType"].(string) == "S" {
-		r = SupplyInfoFile(_fileName, _id)
-	} else {
-		r = fileAttachRpc(_fileName, _id)
-	}
-	return
+    log.Println(this.Name, "-------附件下载记录------", this.Remarks)
+    _fileName := this.Remarks["fileName"].(string)
+    _id := this.Remarks["id"].(string)
+    if this.Remarks["infoType"] != nil && this.Remarks["infoType"].(string) == "S" {
+        r = SupplyInfoFile(_fileName, _id)
+    } else {
+        r = fileAttachRpc(_fileName, _id)
+    }
+    return
 }
 
 // 附件下载消费 fui:免费赠送已使用次数;pui:付费权限已使用次数
 func (this *UseBalanceStruct) fileConsume() (r map[string]interface{}, m string, c int) {
-	_fileName := this.Remarks["fileName"].(string)
-	_id := this.Remarks["id"].(string)
-	log.Println("附件下载包。。。。。")
-	BaseMsg := jy.GetBigVipUserBaseMsg(this.Session, *config.Middleground)
-	log.Println("---:", this.Remarks)
-	//P450 v4.8.85
-	var freeFileCacheUpdate = func() {
-		//免费用户 更新留资附件缓存
-		if BaseMsg.Status <= 0 && BaseMsg.VipStatus <= 0 && BaseMsg.EntnicheStatus <= 0 {
-			sess := this.Session.GetMultiple()
-			userId := this.UserId
-			if qutil.IntAll(sess["positionId"]) == 1 {
-				userId = strconv.Itoa(qutil.IntAll(sess["positionId"]))
-			}
-			//已留资
-			if c := qutil.Int64All(redis.GetInt("other", fmt.Sprintf("free_article_attach_%s", userId))); c > 0 {
-				if ok := redis.PutKV(fmt.Sprintf("free_article_attach_%s", userId), -1); !ok {
-					log.Println("free user update file  download power  false:", userId)
-				}
-			}
-		}
-	}
-	//获取余额数量
-	dbs := &FindBalanceStruct{
-		AccountId:    this.UserId,
-		ResourceType: "附件下载包",
-		VipState:     BaseMsg.VipStatus,
-	}
-	this.VipState = BaseMsg.VipStatus
-	data, err := dbs.FindBalance()
-	if data == nil || err != nil {
-		c = -1
-		m = "余额不足"
-		go freeFileCacheUpdate()
-		return
-	}
-	number := 0
-	if data != nil {
-		dataArr := gconv.SliceAny(data["data"])
-		if len(dataArr) > 0 {
-			dataMap := gconv.MapStrStr(dataArr[0])
-			number = gconv.Int(dataMap["number"])
-		}
-	}
-	isExists := false
-	id := this.FindJyConsumePackRecord()
-	if id != "" && this.Remarks["downUrl"] != nil {
-		if util.MQFW.UpdateById(jyCC, id, map[string]interface{}{
-			"$set": map[string]interface{}{
-				"l_updateDate": time.Now().Unix(),
-			},
-		}) {
-			delete(this.Remarks, "id")
-			delete(this.Remarks, "title")
-			r = this.Remarks
-			r["isExists"] = true
-			isExists = true
-		}
-	}
-	go freeFileCacheUpdate()
-	if BaseMsg.Status > 0 && BaseMsg.PowerMap[3] {
-		if this.Remarks["infoType"] != nil && this.Remarks["infoType"].(string) == "S" {
-			r = SupplyInfoFile(_fileName, _id)
-		} else {
-			r = fileAttachRpc(_fileName, _id)
-		}
-		/*go func(this *UseBalanceStruct, r map[string]interface{}) {
-			data := make(map[string]interface{})
-			data["p_type"] = "大会员用户附件下载"
-			data["p_userid"] = this.UserId
-			data["p_infoId"] = this.Remarks["id"].(string)
-			data["s_platform"] = this.Platform
-			data["p_create_time"] = time.Now().Unix()
-			data["p_rep"] = r
-			//存库记录
-			if util.MQFW.Save("filehistroy", data) == "" {
-				log.Println("大会员附件下载-历史记录异常:" + this.UserId)
-			}
-		}(this, r)*/
-		if r["downUrl"] != nil {
-			this.Remarks["downUrl"] = r["downUrl"]
-			this.Remarks["size"] = r["size"]
-		}
-		if !isExists {
-			this.saveJyConsumePackList()
-		}
-	} else {
-		//查询当月附件下载历史记录-如是已下载过的附件不再扣除次数
-		// log.Println(this.Remarks, "++++++", this.AccountId, id, "-------------", isExists)
-		//当月未有消费记录
-		if !isExists {
-			//免费赠送已使用次数
-			if number > 0 {
-				if this.Remarks["infoType"] != nil && this.Remarks["infoType"].(string) == "S" {
-					r = SupplyInfoFile(_fileName, _id)
-				} else {
-					r = fileAttachRpc(_fileName, _id)
-				}
-				if r["downUrl"] != nil {
-					this.Remarks["downUrl"] = r["downUrl"]
-					this.Remarks["size"] = r["size"]
-					if this.saveJyConsumePackList() {
-						//中台消费记录
-						rb, err := this.UseBalance()
-						if err != nil || (rb != nil && qutil.IntAll(rb["code"]) == 0) {
-							m = fmt.Sprintf("消费记录保存异常:%s", qutil.ObjToString(rb["message"]))
-						}
-					}
-				} else {
-					m = "获取附件异常"
-				}
-			} else {
-				c = -1
-				m = "该用户下载权限已用完"
-			}
-		}
-	}
-	return
+    _fileName := this.Remarks["fileName"].(string)
+    _id := this.Remarks["id"].(string)
+    log.Println("附件下载包。。。。。")
+    BaseMsg := jy.GetBigVipUserBaseMsg(this.Session, *config.Middleground)
+    log.Println("---:", this.Remarks)
+    //P450 v4.8.85
+    var freeFileCacheUpdate = func() {
+        //免费用户 更新留资附件缓存
+        if BaseMsg.Status <= 0 && BaseMsg.VipStatus <= 0 && BaseMsg.EntnicheStatus <= 0 {
+            sess := this.Session.GetMultiple()
+            userId := this.UserId
+            if qutil.IntAll(sess["positionId"]) == 1 {
+                userId = strconv.Itoa(qutil.IntAll(sess["positionId"]))
+            }
+            //已留资
+            if c := qutil.Int64All(redis.GetInt("other", fmt.Sprintf("free_article_attach_%s", userId))); c > 0 {
+                if ok := redis.PutKV(fmt.Sprintf("free_article_attach_%s", userId), -1); !ok {
+                    log.Println("free user update file  download power  false:", userId)
+                }
+            }
+        }
+    }
+    //获取余额数量
+    dbs := &FindBalanceStruct{
+        AccountId:    this.UserId,
+        ResourceType: "附件下载包",
+        VipState:     BaseMsg.VipStatus,
+    }
+    this.VipState = BaseMsg.VipStatus
+    data, err := dbs.FindBalance()
+    if data == nil || err != nil {
+        c = -1
+        m = "余额不足"
+        go freeFileCacheUpdate()
+        return
+    }
+    number := 0
+    if data != nil {
+        dataArr := gconv.SliceAny(data["data"])
+        if len(dataArr) > 0 {
+            dataMap := gconv.MapStrStr(dataArr[0])
+            number = gconv.Int(dataMap["number"])
+        }
+    }
+    isExists := false
+    id := this.FindJyConsumePackRecord()
+    if id != "" && this.Remarks["downUrl"] != nil {
+        if util.MQFW.UpdateById(jyCC, id, map[string]interface{}{
+            "$set": map[string]interface{}{
+                "l_updateDate": time.Now().Unix(),
+            },
+        }) {
+            delete(this.Remarks, "id")
+            delete(this.Remarks, "title")
+            r = this.Remarks
+            r["isExists"] = true
+            isExists = true
+        }
+    }
+    go freeFileCacheUpdate()
+    if BaseMsg.Status > 0 && BaseMsg.PowerMap[3] {
+        if this.Remarks["infoType"] != nil && this.Remarks["infoType"].(string) == "S" {
+            r = SupplyInfoFile(_fileName, _id)
+        } else {
+            r = fileAttachRpc(_fileName, _id)
+        }
+        /*go func(this *UseBalanceStruct, r map[string]interface{}) {
+        	data := make(map[string]interface{})
+        	data["p_type"] = "大会员用户附件下载"
+        	data["p_userid"] = this.UserId
+        	data["p_infoId"] = this.Remarks["id"].(string)
+        	data["s_platform"] = this.Platform
+        	data["p_create_time"] = time.Now().Unix()
+        	data["p_rep"] = r
+        	//存库记录
+        	if util.MQFW.Save("filehistroy", data) == "" {
+        		log.Println("大会员附件下载-历史记录异常:" + this.UserId)
+        	}
+        }(this, r)*/
+        if r["downUrl"] != nil {
+            this.Remarks["downUrl"] = r["downUrl"]
+            this.Remarks["size"] = r["size"]
+        }
+        if !isExists {
+            this.saveJyConsumePackList()
+        }
+    } else {
+        //查询当月附件下载历史记录-如是已下载过的附件不再扣除次数
+        // log.Println(this.Remarks, "++++++", this.AccountId, id, "-------------", isExists)
+        //当月未有消费记录
+        if !isExists {
+            //免费赠送已使用次数
+            if number > 0 {
+                if this.Remarks["infoType"] != nil && this.Remarks["infoType"].(string) == "S" {
+                    r = SupplyInfoFile(_fileName, _id)
+                } else {
+                    r = fileAttachRpc(_fileName, _id)
+                }
+                if r["downUrl"] != nil {
+                    this.Remarks["downUrl"] = r["downUrl"]
+                    this.Remarks["size"] = r["size"]
+                    if this.saveJyConsumePackList() {
+                        //中台消费记录
+                        rb, err := this.UseBalance()
+                        if err != nil || (rb != nil && qutil.IntAll(rb["code"]) == 0) {
+                            m = fmt.Sprintf("消费记录保存异常:%s", qutil.ObjToString(rb["message"]))
+                        }
+                    }
+                } else {
+                    m = "获取附件异常"
+                }
+            } else {
+                c = -1
+                m = "该用户下载权限已用完"
+            }
+        }
+    }
+    return
 }
 
 var jyCC = "jy_consumepack"
 
 // 查询jy 消费日志记录
 func (this *UseBalanceStruct) FindJyConsumePackRecord() string {
-	query := map[string]interface{}{
-		"s_id":       this.Remarks["id"].(string),
-		"s_userId":   this.UserId,
-		"s_product":  this.Name,
-		"s_month":    time.Now().Format("2006-01"),
-		"s_fileName": this.Remarks["fileName"].(string),
-	}
-	res, ok := util.MQFW.FindOne(jyCC, query)
-	if ok && res != nil {
-		if (*res)["s_downUrl"] != nil {
-			this.Remarks["downUrl"] = (*res)["s_downUrl"]
-			this.Remarks["size"] = (*res)["s_fileSize"]
-		}
-	} else {
-		log.Println("查询附件下载日志异常:", this.UserId)
-	}
-	return BsonIdToSId((*res)["_id"])
+    query := map[string]interface{}{
+        "s_id":       this.Remarks["id"].(string),
+        "s_userId":   this.UserId,
+        "s_product":  this.Name,
+        "s_month":    time.Now().Format("2006-01"),
+        "s_fileName": this.Remarks["fileName"].(string),
+    }
+    res, ok := util.MQFW.FindOne(jyCC, query)
+    if ok && res != nil {
+        if (*res)["s_downUrl"] != nil {
+            this.Remarks["downUrl"] = (*res)["s_downUrl"]
+            this.Remarks["size"] = (*res)["s_fileSize"]
+        }
+    } else {
+        log.Println("查询附件下载日志异常:", this.UserId)
+    }
+    return BsonIdToSId((*res)["_id"])
 }
 
 // 保存日志
 func (this *UseBalanceStruct) saveJyConsumePackList() (b bool) {
-	saveMap := map[string]interface{}{
-		"s_id":         this.Remarks["id"],
-		"s_userId":     this.UserId,
-		"s_product":    this.Name,
-		"l_date":       time.Now().Unix(),
-		"l_updateDate": time.Now().Unix(), //更新时间
-		"s_month":      time.Now().Format("2006-01"),
-		"s_fileName":   this.Remarks["fileName"],
-		"s_downUrl":    this.Remarks["downUrl"],
-		"s_fileSize":   this.Remarks["size"],
-		"s_title":      this.Remarks["title"],
-		"b_isPay":      b,
-		"s_platform":   this.Platform,
-	}
-	b = util.MQFW.Save(jyCC, saveMap) != ""
-	if !b {
-		log.Println("保存附件下载日志异常:", this.UserId)
-	}
-	return
+    saveMap := map[string]interface{}{
+        "s_id":         this.Remarks["id"],
+        "s_userId":     this.UserId,
+        "s_product":    this.Name,
+        "l_date":       time.Now().Unix(),
+        "l_updateDate": time.Now().Unix(), //更新时间
+        "s_month":      time.Now().Format("2006-01"),
+        "s_fileName":   this.Remarks["fileName"],
+        "s_downUrl":    this.Remarks["downUrl"],
+        "s_fileSize":   this.Remarks["size"],
+        "s_title":      this.Remarks["title"],
+        "b_isPay":      b,
+        "s_platform":   this.Platform,
+    }
+    b = util.MQFW.Save(jyCC, saveMap) != ""
+    if !b {
+        log.Println("保存附件下载日志异常:", this.UserId)
+    }
+    return
 }
 
 // 调rpc 获取附件信息
 func fileAttachRpc(fileName, id string) (r map[string]interface{}) {
-	r = make(map[string]interface{})
-	// 调用rpc 获取附件信息
-	req := util.JyFileRequest{id}
-	rep, err := util.Attachment(&req)
-	if err != nil {
-		log.Println("attachment  rpc调用失败")
-	} else {
-		if rep.Rep != nil && len(rep.Rep) > 0 {
-			//获取当前附件下载地址
-			for _, v := range rep.Rep {
-				if qutil.ObjToString(v["filename"]) == fileName {
-					r = map[string]interface{}{
-						"downUrl":  qutil.ObjToString(v["downurl"]),
-						"fileName": qutil.ObjToString(v["filename"]),
-						"size":     qutil.ObjToString(v["size"]),
-					}
-					break
-				}
-			}
-		}
-	}
-	return
+    r = make(map[string]interface{})
+    // 调用rpc 获取附件信息
+    req := util.JyFileRequest{id}
+    rep, err := util.Attachment(&req)
+    if err != nil {
+        log.Println("attachment  rpc调用失败")
+    } else {
+        if rep.Rep != nil && len(rep.Rep) > 0 {
+            //获取当前附件下载地址
+            for _, v := range rep.Rep {
+                if qutil.ObjToString(v["filename"]) == fileName {
+                    r = map[string]interface{}{
+                        "downUrl":  qutil.ObjToString(v["downurl"]),
+                        "fileName": qutil.ObjToString(v["filename"]),
+                        "size":     qutil.ObjToString(v["size"]),
+                    }
+                    break
+                }
+            }
+        }
+    }
+    return
 }
 
 // 供应信息附件
 func SupplyInfoFile(fileName, msgId string) (r map[string]interface{}) {
-	//查数据
-	data := util.InfoMysql.FindOne("supply_info", map[string]interface{}{"id": msgId}, "", "")
-	if *data != nil && (*data)["attach"] != nil {
-		attach_str := qutil.ObjToString((*data)["attach"])
-		var attachMap map[string]interface{}
-		err := json.Unmarshal([]byte(attach_str), &attachMap)
-		if err != nil {
-			log.Println("err:", err)
-		}
-		for _, v := range attachMap {
-			fileMap := qutil.ObjToMap(v)
-			if fileName == qutil.ObjToString((*fileMap)["filename"]) {
-				r = map[string]interface{}{
-					"downUrl":  fmt.Sprintf("%s/%s", qutil.ObjToString((*fileMap)["ossurl"]), qutil.ObjToString((*fileMap)["fid"])),
-					"fileName": qutil.ObjToString((*fileMap)["filename"]),
-					"size":     qutil.ObjToString((*fileMap)["size"]),
-				}
-				break
-			}
-		}
-	}
-	return
+    //查数据
+    data := util.InfoMysql.FindOne("supply_info", map[string]interface{}{"id": msgId}, "", "")
+    if *data != nil && (*data)["attach"] != nil {
+        attach_str := qutil.ObjToString((*data)["attach"])
+        var attachMap map[string]interface{}
+        err := json.Unmarshal([]byte(attach_str), &attachMap)
+        if err != nil {
+            log.Println("err:", err)
+        }
+        for _, v := range attachMap {
+            fileMap := qutil.ObjToMap(v)
+            if fileName == qutil.ObjToString((*fileMap)["filename"]) {
+                r = map[string]interface{}{
+                    "downUrl":  fmt.Sprintf("%s/%s", qutil.ObjToString((*fileMap)["ossurl"]), qutil.ObjToString((*fileMap)["fid"])),
+                    "fileName": qutil.ObjToString((*fileMap)["filename"]),
+                    "size":     qutil.ObjToString((*fileMap)["size"]),
+                }
+                break
+            }
+        }
+    }
+    return
 }
 
 // 兑换作废
 func JyexchangeCance(userId, product, platform, queryTime string, pageSize, pageNum int) (list []map[string]interface{}, total int, err error) {
-	RStruct := InitFindRecord(userId, userId, product, queryTime, platform, pageSize, pageNum, 2)
-	list, total = RStruct.DefaultData()
-	return list, total, nil
+    RStruct := InitFindRecord(userId, userId, product, queryTime, platform, pageSize, pageNum, 2)
+    list, total = RStruct.DefaultData()
+    return list, total, nil
 }
 
 // 消费
 func JyConsumePack(userId, product, platform string, remarks map[string]interface{}, session *httpsession.Session) (r map[string]interface{}, m string, c int) {
-	CStruct := InitUseBalance(userId, product, product, "", "", nil, remarks, 1, platform, session)
-	switch product {
-	case "附件下载包":
-		r, m, c = CStruct.fileConsume()
-	case "大客户平台":
-		r, m, c = CStruct.KeyAccountConsume()
-	case "资源平台":
-		r, m, c = CStruct.KeyAccountConsume()
-	default:
-		r, m, c = CStruct.defaultConsume()
-	}
-	return
+    CStruct := InitUseBalance(userId, product, product, "", "", nil, remarks, 1, platform, session)
+    switch product {
+    case "附件下载包":
+        r, m, c = CStruct.fileConsume()
+    case "大客户平台":
+        r, m, c = CStruct.KeyAccountConsume()
+    case "资源平台":
+        r, m, c = CStruct.KeyAccountConsume()
+    default:
+        r, m, c = CStruct.defaultConsume()
+    }
+    return
 }
 
 // 流水
 func JyFindRecordPack(userId, productName, queryTime, platform string, pageSize, pageNum int) (list []map[string]interface{}, total int, err error) {
-	RStruct := InitFindRecord(userId, userId, productName, queryTime, platform, pageSize, pageNum, 0)
-	switch productName {
-	case "附件下载包":
-		list, total = RStruct.FindJyConsumePackAllRecord()
-	default:
-		list, total = RStruct.DefaultData()
-	}
-	return list, total, nil
+    RStruct := InitFindRecord(userId, userId, productName, queryTime, platform, pageSize, pageNum, 0)
+    switch productName {
+    case "附件下载包":
+        list, total = RStruct.FindJyConsumePackAllRecord()
+    default:
+        list, total = RStruct.DefaultData()
+    }
+    return list, total, nil
 }
 
 // 数据处理-附件下载包
 func (this *FindRecordStruct) FindJyConsumePackAllRecord() ([]map[string]interface{}, int) {
-	var articleAddMap = map[string]string{
-		"PC":  "/article/content/%s.html",
-		"WX":  "/article/content/%s.html",
-		"APP": "/jyapp/article/content/%s.html",
-	}
-	query := map[string]interface{}{
-		"s_userId":  this.UserId,
-		"s_product": this.Name,
-		"s_month":   this.QueryTime,
-	}
-	// log.Println("query:", query, "---", this.Page, this.PageSize)
-	//当月
-	total := util.MQFW.Count(jyCC, query)
-	// query["s_month"] = this.QueryTime
-	list, ok := util.MQFW.Find(jyCC, query, `{"l_updateDate":-1,"l_date":-1}`, `{"s_id":1,"s_fileName":1,"s_downUrl":1,"l_date":1,"s_title":1,"l_updateDate":1}`, false, (this.Page-1)*this.PageSize, this.PageSize)
-	if ok && list != nil {
-		if len(*list) >= 1 {
-			for _, item := range *list {
-				itemData := qutil.ObjToMap(item)
-				if itemData == nil || len(*itemData) == 0 {
-					continue
-				}
-				l_date := qutil.If((*itemData)["l_updateDate"] != nil, (*itemData)["l_updateDate"], (*itemData)["l_date"])
-				(*itemData)["l_date"] = FormatDateWithObj(&l_date, "2006/01/02")
-				(*itemData)["articleUrl"] = fmt.Sprintf(articleAddMap[this.Platform], encrypt.EncodeArticleId2ByCheck((*itemData)["s_id"].(string)))
-				(*itemData)["s_id"] = encrypt.EncodeArticleId2ByCheck((*itemData)["s_id"].(string))
-				delete((*itemData), "s_downUrl")
-				delete((*itemData), "_id")
-			}
-		} else {
-			log.Println("暂无附件下载记录:", this.UserId)
-		}
-	} else {
-		log.Println("查询附件下载记录异常:", this.UserId)
-	}
+    var articleAddMap = map[string]string{
+        "PC":  "/article/content/%s.html",
+        "WX":  "/article/content/%s.html",
+        "APP": "/jyapp/article/content/%s.html",
+    }
+    query := map[string]interface{}{
+        "s_userId":  this.UserId,
+        "s_product": this.Name,
+        "s_month":   this.QueryTime,
+    }
+    // log.Println("query:", query, "---", this.Page, this.PageSize)
+    //当月
+    total := util.MQFW.Count(jyCC, query)
+    // query["s_month"] = this.QueryTime
+    list, ok := util.MQFW.Find(jyCC, query, `{"l_updateDate":-1,"l_date":-1}`, `{"s_id":1,"s_fileName":1,"s_downUrl":1,"l_date":1,"s_title":1,"l_updateDate":1}`, false, (this.Page-1)*this.PageSize, this.PageSize)
+    if ok && list != nil {
+        if len(*list) >= 1 {
+            for _, item := range *list {
+                itemData := qutil.ObjToMap(item)
+                if itemData == nil || len(*itemData) == 0 {
+                    continue
+                }
+                l_date := qutil.If((*itemData)["l_updateDate"] != nil, (*itemData)["l_updateDate"], (*itemData)["l_date"])
+                (*itemData)["l_date"] = FormatDateWithObj(&l_date, "2006/01/02")
+                (*itemData)["articleUrl"] = fmt.Sprintf(articleAddMap[this.Platform], encrypt.EncodeArticleId2ByCheck((*itemData)["s_id"].(string)))
+                (*itemData)["s_id"] = encrypt.EncodeArticleId2ByCheck((*itemData)["s_id"].(string))
+                delete((*itemData), "s_downUrl")
+                delete((*itemData), "_id")
+            }
+        } else {
+            log.Println("暂无附件下载记录:", this.UserId)
+        }
+    } else {
+        log.Println("查询附件下载记录异常:", this.UserId)
+    }
 
-	return *list, total
+    return *list, total
 }
 
 // 数据处理-default
 func (this *FindRecordStruct) DefaultData() ([]map[string]interface{}, int) {
-	var (
-		returnList []interface{}
-		total      int
-		err        error
-	)
-	if this.ResourceType == "芝麻信用共建分析报告下载包" { //芝麻信用流水
-		total = gconv.Int(util.Mysql.Count("bid_credit_balance_details", map[string]interface{}{"user_id": this.UserId}))
-		balanceDetails := util.Mysql.SelectBySql("SELECT *  FROM bid_credit_balance_details where user_id =? order by create_time desc, id desc limit ?,?", this.UserId, (this.Page-1)*this.PageSize, this.PageSize)
-		if balanceDetails != nil && len(*balanceDetails) > 0 {
-			for _, m := range *balanceDetails {
-				var (
-					userType    int
-					combo, mold string
-				)
-				remarks := make(map[string]interface{})
-				switch gconv.Int(m["pack_type"]) {
-				case 1:
-					combo = "月"
-				case 2:
-					combo = "季"
-				case 3:
-					combo = "年"
-				}
-				if endTime := gconv.String(m["end_time"]); endTime != "" {
-					remarks["endTime"] = strings.Split(endTime, " ")[0]
-				}
-				switch gconv.Int(m["operation"]) {
-				case 1: //新增
-					userType = 1
-					if gconv.Int(m["pack_type"]) > 0 {
-						remarks["source"] = fmt.Sprintf("开通%s卡,%s卡每月余额权益", combo, combo)
-					} else {
-						remarks["source"] = "购买“芝麻共建分析报告”-单份"
-					}
-				case 2: //消费
-					remarks["source"] = "下载报告"
-				case 3: //回收
-					remarks["describe"] = "未使用权益失效"
-					userType = 5
-				case 4: //重新分配
-					userType = 1
-					remarks["source"] = fmt.Sprintf("%s卡每月余额权益", combo)
-				}
-				switch gconv.Int(m["mold"]) {
-				case consts.ZmReportMoldProject:
-					mold = "项目分析报告"
-				case consts.ZmReportMoldEnt:
-					mold = "竞争对手分析报告"
-				case consts.ZmReportMoldBuyer:
-					mold = "采购单位分析报告"
-				}
-				now, _ := time.ParseInLocation("2006-01-02 15:04:05", gconv.String(m["create_time"]), time.Local)
-				returnList = append(returnList, map[string]interface{}{
-					"createTime":    now.Unix(),
-					"number":        math.Abs(gconv.Float64(m["number"])),
-					"deductionNumb": m["residue_number"],
-					"pack_type":     m["pack_type"],
-					"userType":      userType,
-					"remarks":       gconv.String(remarks),
-					"resourceType":  mold,
-				})
-			}
-		}
-	} else {
-		returnList, total, err = this.FindRecord()
-	}
+    var (
+        returnList []interface{}
+        total      int
+        err        error
+    )
+    if this.ResourceType == "芝麻信用共建分析报告下载包" { //芝麻信用流水
+        total = gconv.Int(util.Mysql.Count("bid_credit_balance_details", map[string]interface{}{"user_id": this.UserId}))
+        balanceDetails := util.Mysql.SelectBySql("SELECT *  FROM bid_credit_balance_details where user_id =? order by create_time desc, id desc limit ?,?", this.UserId, (this.Page-1)*this.PageSize, this.PageSize)
+        if balanceDetails != nil && len(*balanceDetails) > 0 {
+            for _, m := range *balanceDetails {
+                var (
+                    userType    int
+                    combo, mold string
+                )
+                remarks := make(map[string]interface{})
+                switch gconv.Int(m["pack_type"]) {
+                case 1:
+                    combo = "月"
+                case 2:
+                    combo = "季"
+                case 3:
+                    combo = "年"
+                }
+                switch gconv.Int(m["operation"]) {
+                case 1: //新增
+                    userType = 1
+                    if gconv.Int(m["pack_type"]) > 0 {
+                        remarks["source"] = fmt.Sprintf("开通%s卡,%s卡每月余额权益", combo, combo)
+                    } else {
+                        remarks["source"] = "购买“芝麻共建分析报告”-单份"
+                    }
+                case 2: //消费
+                    remarks["source"] = "下载报告"
+                case 3: //回收
+                    remarks["describe"] = "未使用权益失效"
+                    userType = 5
+                case 4: //重新分配
+                    userType = 1
+                    remarks["source"] = fmt.Sprintf("%s卡每月余额权益", combo)
+                }
+                switch gconv.Int(m["mold"]) {
+                case consts.ZmReportMoldProject:
+                    mold = "项目分析报告"
+                case consts.ZmReportMoldEnt:
+                    mold = "竞争对手分析报告"
+                case consts.ZmReportMoldBuyer:
+                    mold = "采购单位分析报告"
+                }
+                now, _ := time.ParseInLocation("2006-01-02 15:04:05", gconv.String(m["create_time"]), time.Local)
+                returnList = append(returnList, map[string]interface{}{
+                    "createTime":    now.Unix(),
+                    "number":        math.Abs(gconv.Float64(m["number"])),
+                    "deductionNumb": m["residue_number"],
+                    "pack_type":     m["pack_type"],
+                    "userType":      userType,
+                    "remarks":       gconv.String(remarks),
+                    "resourceType":  mold,
+                })
+            }
+        }
+    } else {
+        returnList, total, err = this.FindRecord()
+    }
 
-	if err != nil {
-		log.Println("默认资源包流水异常:", err)
-		return nil, 0
-	}
-	if total == 0 {
-		log.Println(fmt.Sprintf("暂无%s资源包流水", this.Name))
-	}
-	return qutil.ObjArrToMapArr(returnList), total
+    if err != nil {
+        log.Println("默认资源包流水异常:", err)
+        return nil, 0
+    }
+    if total == 0 {
+        log.Println(fmt.Sprintf("暂无%s资源包流水", this.Name))
+    }
+    return qutil.ObjArrToMapArr(returnList), total
 }

+ 0 - 5
src/jfw/modules/subscribepay/src/entity/zmAnalysisReport.go

@@ -210,7 +210,6 @@ func BalanceDetails(userId string, packType, operation, mold int) error {
 
 	var (
 		num     int
-		endTime string
 	)
 	switch packType {
 	case 0: //单份购买
@@ -234,7 +233,6 @@ func BalanceDetails(userId string, packType, operation, mold int) error {
 				"i_zhima_number":    num,
 			},
 		}
-		endTime = end.Format(time.DateOnly)
 		//新增用户权益
 		user_id := userId
 		if !mongodb.IsObjectIdHex(userId) {
@@ -256,9 +254,6 @@ func BalanceDetails(userId string, packType, operation, mold int) error {
 		"residue_number": num,
 		"create_time":    nowFormat,
 	}
-	if endTime != "" {
-		data["end_time"] = endTime
-	}
 	util.Mysql.Insert("bid_credit_balance_details", data)
 	return nil
 }

+ 0 - 1
src/jfw/modules/subscribepay/src/timetask/timetask.go

@@ -1268,7 +1268,6 @@ func ZmUserEquityRecovery(userTable string) {
 							"number":         i_zhima_number,
 							"residue_number": i_zhima_number,
 							"create_time":    time.Now().Format(Date_Full_Layout),
-							"end_time":       zhimaEndtime.Format(time.DateOnly),
 						})
 					}
 					break