def po_recommend_new(rid, user_id, name, reply_id=None): '''新建推荐''' #判定? rec_po = Po.mc_get(rid) if not rec_po: return from po_pos import po_pos_state_buzz po_pos_state_buzz(user_id, rec_po) recommend = po_new( CID_REC, user_id, name, state=STATE_ACTIVE, rid=rid ) if recommend: recommend.feed_new() mc_po_recommend_id_by_rid_user_id.set( '%s_%s'%(rid, user_id), recommend.id ) if reply_id: rr = RecRep( id=recommend.id, reply_id=reply_id ) rr.save() return recommend
def po_review_new(zsite_id, user_id, name): from model.zsite_member import zsite_member_can_admin if zsite_member_can_admin(zsite_id, user_id): state = STATE_ACTIVE else: state = STATE_PO_ZSITE_SHOW_THEN_REVIEW review = po_review_get(zsite_id, user_id) if review: if not name: po_review_rm(zsite_id, user_id) else: review.state = state review.name_ = name review.save() else: review = po_new( CID_REVIEW, user_id, name, state=state, zsite_id=zsite_id ) if review: mc_po_review_id_get.set( '%s_%s'%(zsite_id, user_id), review.id ) review.feed_new() if state == STATE_ACTIVE: mc_po_review_id_list_active_by_zsite_id.delete(zsite_id) return review
def po_event_feedback_new(user_id, name, txt, good, event_id, event_user_id): if not name and not txt: return id = event_feedback_id_get(user_id, event_id) if id: m = Po.mc_get(id) else: m = po_new(CID_EVENT_FEEDBACK, user_id, name, STATE_ACTIVE, event_id) if m: id = m.id mc_event_feedback_id_get.set('%s_%s' % (user_id, event_id), id) m.feed_new() from buzz import buzz_event_feedback_new, mq_buzz_event_feedback_owner_new if user_id != event_user_id: rank_new(m, event_id, CID_EVENT_FEEDBACK) buzz_event_feedback_new(user_id, id, event_user_id) else: mq_buzz_event_feedback_owner_new(user_id, id) event_joiner_state_set_by_good(user_id, event_id, good) return m
def po_event_feedback_new(user_id, name, txt, good, event_id, event_user_id): if not name and not txt: return id = event_feedback_id_get(user_id, event_id) if id: m = Po.mc_get(id) else: m = po_new(CID_EVENT_FEEDBACK, user_id, name, STATE_ACTIVE, event_id) if m: id = m.id mc_event_feedback_id_get.set('%s_%s' % (user_id, event_id), id) m.feed_new() from buzz import buzz_event_feedback_new , mq_buzz_event_feedback_owner_new if user_id != event_user_id: rank_new(m, event_id, CID_EVENT_FEEDBACK) buzz_event_feedback_new(user_id, id, event_user_id) else: mq_buzz_event_feedback_owner_new(user_id, id) event_joiner_state_set_by_good(user_id, event_id, good) return m
def po_review_new(zsite_id, user_id, name): from model.zsite_member import zsite_member_can_admin if zsite_member_can_admin(zsite_id, user_id): state = STATE_ACTIVE else: state = STATE_PO_ZSITE_SHOW_THEN_REVIEW review = po_review_get(zsite_id, user_id) if review: if not name: po_review_rm(zsite_id, user_id) else: review.state = state review.name_ = name review.save() else: review = po_new(CID_REVIEW, user_id, name, state=state, zsite_id=zsite_id) if review: mc_po_review_id_get.set('%s_%s' % (zsite_id, user_id), review.id) review.feed_new() if state == STATE_ACTIVE: mc_po_review_id_list_active_by_zsite_id.delete(zsite_id) return review
def _po_answer_new(user_id, name, txt, state, rid): if not name and not txt: return if not is_same_post(user_id, name, txt): m = po_new(CID_ANSWER, user_id, name, state, rid) if m: txt_new(m.id, txt) if state > STATE_SECRET: m.feed_new() return m
def po_product_new(user_id, name, _info_json, zsite_id=0, state=STATE_ACTIVE): if not name and not _info_json : return info_json = json.dumps(dict(iter(_info_json))) if not is_same_post(user_id, name, info_json, zsite_id): m = po_new(CID_PRODUCT, user_id, name, state, 0, None, zsite_id) if m: txt_new(m.id, info_json) mc_product_id_list_by_com_id.delete(zsite_id) return m
def po_product_new(user_id, name, _info_json, zsite_id=0, state=STATE_ACTIVE): if not name and not _info_json: return info_json = json.dumps(dict(iter(_info_json))) if not is_same_post(user_id, name, info_json, zsite_id): m = po_new(CID_PRODUCT, user_id, name, state, 0, None, zsite_id) if m: txt_new(m.id, info_json) mc_product_id_list_by_com_id.delete(zsite_id) return m
def po_question_new(user_id, name, txt, state, zsite_id): if not name and not txt: return name = name or time_title() if not is_same_post(user_id, name, txt, zsite_id): m = po_new(CID_QUESTION, user_id, name, state, zsite_id=zsite_id) if m: txt_new(m.id, txt) if state > STATE_SECRET: m.feed_new() return m
def _po_event_notice_new(user_id, event_id, name): o = po_new(CID_EVENT_NOTICE, user_id, name, STATE_ACTIVE, event_id) return o