Exemplo n.º 1
0
/*
	select distinct(card.id), card.body, user.name
	from user, card, user_card
	where
	card.id = user_card.cardid and user_card.fromuserid=user.id
	and (user_card.fromuserid=20 or user_Card.touserid=20) and card.id>0
	order by card.id
*/
func PingMsgReply(req bsimjson.Bsimjson) (ret []bsimjson.Bsimjson, err error) {
	//func FindUserBySession(ss string) (id int64, name string, email string, password string, err error) {
	meuid, _, _, _, err := FindUserBySession(req.Who)
	rows, err := db.Query(`select distinct(card.id), card.body, user.name, user_card.sendtime
	from user, card, user_card
	where
	card.id = user_card.cardid and user_card.fromuserid=user.id
	and (user_card.fromuserid=? or user_Card.touserid=?) and card.id>?
	order by card.id`,
		meuid, meuid, req.Cardid)
	if err != nil {
		return
	}

	for rows.Next() {
		var tm bsimjson.Bsimjson
		var cardbody, fromname, sendTime string
		var cardid int64
		if err := rows.Scan(&cardid, &cardbody, &fromname, &sendTime); err != nil {
			log.Fatal(err)
			continue
		}
		tm.Type = "send"
		tm.Who = fromname
		tm.Msg = cardbody
		tm.Cardid = cardid
		tm.DTime = sendTime
		ret = append(ret, tm)
	}
	return ret, err
}