Beispiel #1
0
func UpdateBankPaper(rc *impl.RCM_Cmd) (interface{}, error) {
	var uid, bankId int64
	var paperIds, p2bIds, ext string
	err := rc.ValidF(`
		uid,R|I,R:0;
		bankId,R|I,R:0;
		paperIds,R|S,L:0;
		p2bIds,O|S,L:0;
		ext,O|S,L:0;
		`, &uid, &bankId, &paperIds, &p2bIds, &ext)
	if err != nil {
		log.E("UpdateBankPaper arg err:%v", err)
		return 0, err
	}
	extParse := []P2b_Paper{}
	json.Unmarshal([]byte(ext), &extParse)
	rs := []P2b_Paper{}
	paperIdsArr := []int64{}
	err = json.Unmarshal([]byte(paperIds), &paperIdsArr)
	if err != nil {
		return nil, err
	}

	if p2bIds == "" {
		p2bIds = "0"
	}
	sql_ := "delete from ebs_p2b where bank_id=? and tid not in (" + p2bIds + ")"
	var conn *sql.DB = dbMgr.DbConn()
	tx, err := conn.Begin()
	if err != nil {
		return nil, err
	}

	//同步练习
	for _, v := range extParse {
		fmt.Println(tx.Exec("insert into ebs_p2b (tid,bank_id,paper_id,status,add1) values (?,?,?,'N','P')", v.P2bId, bankId, v.PId))
	}
	//同步练习

	if ext != "" {
		sql_ += " and add1='P'"
	} else {
		sql_ += " and (add1!='P' or add1 is null)"
	}
	log.D("%s", sql_)
	if _, err := tx.Exec(sql_, bankId); err != nil {
		tx.Rollback()
		return nil, err
	}
	for _, v := range paperIdsArr {
		if res, err := tx.Exec("insert into ebs_p2b (bank_id,paper_id,status) values (?,?,'N')", bankId, v); err != nil {
			tx.Rollback()
			return nil, err
		} else {
			p2bId, _ := res.LastInsertId()
			rs = append(rs, P2b_Paper{p2bId, v})
		}
	}
	return rs, tx.Commit()
}
Beispiel #2
0
func CreateBank(rc *impl.RCM_Cmd) (interface{}, error) {
	log.D("rc CreateBank")
	var uid int64
	var uname string
	var bName string
	err := rc.ValidF(`
		uid,R|I,R:0;
		uname,R|S,L:0;
		bName,R|S,L:0;
		`, &uid, &uname, &bName)
	if err != nil {
		log.E("CreateBank arg err:%v", err)
		return 0, err
	}
	b := &bank.BANK{}
	b.UId = &uid
	b.Name = &bName
	b.UName = &uname
	b.Status = bank.GetString("N")
	b.Public = bank.GetInt(1)

	if n, err := b.C(nil); err != nil {
		log.E("CreateBank err:%v", err)
		return 0, err
	} else {
		return n, nil
	}
}
Beispiel #3
0
func AttendBankInfo(rc *impl.RCM_Cmd) (interface{}, error) {
	var bankIds string
	err := rc.ValidF(`
		bankIds,R|S,L:0;
		`, &bankIds)
	if err != nil {
		log.E("AttendBankInfo arg err:%v", err)
		return 0, err
	}
	return bank.AttendBankInfo(bankIds)
}
Beispiel #4
0
func GetBankItemCnt(rc *impl.RCM_Cmd) (interface{}, error) {
	var bankIds string
	err := rc.ValidF(`
		bankIds,R|S,L:0;
		`, &bankIds)
	if err != nil {
		log.E("GetBankItemCnt arg err:%v", err)
		return 0, err
	}
	return bank.GetBankQcAndPc(bankIds)
}
Beispiel #5
0
func ListBankPaper(rc *impl.RCM_Cmd) (interface{}, error) {
	var uid, bankId int64
	err := rc.ValidF(`
		uid,O|I,R:0;
		bankId,R|I,R:0;
		`, &uid, &bankId)
	if err != nil {
		log.E("ListBankPaper arg err:%v", err)
		return 0, err
	}
	return bank.FuncListBankPaper(uid, bankId)
}
Beispiel #6
0
func GetBankPaperScore(rc *impl.RCM_Cmd) (interface{}, error) {
	var bankId, paperId int64
	err := rc.ValidF(`
		bankId,R|I,R:0;
		paperId,R|I,R:0;
		`, &bankId, &paperId)
	if err != nil {
		log.E("GetBankPaperScore arg err:%v", err)
		return 0, err
	}
	return bank.GetBankPaperScore(bankId, paperId)
}
Beispiel #7
0
func GetUsrPaperRecord(rc *impl.RCM_Cmd) (interface{}, error) {
	var p2bIds string
	var uid int64
	err := rc.ValidF(`
		p2bIds,R|S,L:0;
		userId,R|I,R:0;
		`, &p2bIds, &uid)
	if err != nil {
		log.E("GetUsrPaperRecord arg err:%v", err)
		return 0, err
	}
	return bank.GetUsrPaperRecord(uid, p2bIds)
}
Beispiel #8
0
func EditBank(rc *impl.RCM_Cmd) (interface{}, error) {
	var bName string
	var id int64
	err := rc.ValidF(`
		bName,R|S,L:0;
		id,R|I,R:0;
		`, &bName, &id)
	if err != nil {
		log.E("EditBank arg err:%v", err)
		return 0, err
	}
	b := &bank.BANK{}
	b.Tid = &id
	b.Name = &bName
	return nil, b.U(nil)
}