def main2(): db = Database("travel", "997icu", "127.0.0.1", "3306", "travelmanager") conn = db.init_conn() mocker = Mocker(conn) manager_id = 2 # 总经理 for i in [12, 13, 20, 21, 50]: msg = "您的{}号报销申请已通过".format(i) mocker.insert_msg(msg, manager_id) dmanagersid = [3, 50, 101, 142, 182] appids2 = [60, 72, 80, 84, 100] for did in dmanagersid: for aid in appids2: msg = "您的{}号报销申请已被总经理同意".format(aid) mocker.insert_msg(msg, did)
def main(): db = Database("travel", "997icu", "127.0.0.1", "3306", "travelmanager") conn = db.init_conn() mocker = Mocker(conn) # 管理员 mocker.insert_user(0, UserRole.Admin) # 总经理 & 总经理办公室 manager_id = mocker.insert_user(1, UserRole.Manager) department_id = mocker.insert_department(manager_id, "总办") mocker.update_user_department_id(department_id, manager_id) # 5个部门 departs = ["云计算事业部", "物联网事业部", "互动娱乐事业部", "网络媒体事业部", "广告事业部"] for d in departs: depart_manager_id = mocker.insert_user(0, UserRole.DepartmentManager) department_id = mocker.insert_department(depart_manager_id, d) mocker.update_user_department_id(department_id, depart_manager_id) user_cnt = random.randint(30, 50) for i in range(user_cnt): uid = mocker.insert_user(department_id, UserRole.Employee) # 3-5 travelApplication whith status canbe 1 2 or 4 travel_other_cnt = random.randint(3, 5) for j in range(travel_other_cnt): status_list = [ ApplicationStatus.NeedManagerApprove, ApplicationStatus.NeedDepartmentManagerApprove, ApplicationStatus.ApplicationNotApproved ] status = status_list[random.randint(0, len(status_list) - 1)] mocker.insert_travel(uid, department_id, status, False) # 3-10 travelApplication, (status is approved), and 70% paid is true. travel_ok_cnt = random.randint(3, 10) # status is approved and paid is true can_pay_travel_id_list = [] for k in range(travel_ok_cnt): paid_rand = random.randint(30, 90) paid = True if paid_rand >= 60: paid = False tid = mocker.insert_travel( uid, department_id, ApplicationStatus.ApplicationApproved, paid) if paid: can_pay_travel_id_list.append(tid) # 为这些travel创建payment for tid in can_pay_travel_id_list: pics = "https://picturesbed.oss-cn-hangzhou.aliyuncs.com/travelmanager/0520201254220450945697959433.png" status_rand = random.randint(1, 100) status = ApplicationStatus.ApplicationApproved # status 70% is approved. 10% is unapproved 10%is 总经理审批 10% is 部门经理审批 if 70 < status_rand <= 80: status = ApplicationStatus.ApplicationNotApproved elif 80 < status_rand <= 90: status = ApplicationStatus.NeedManagerApprove msg = "您的{}号申请已被部门经理同意" elif 90 < status_rand <= 100: status = ApplicationStatus.NeedDepartmentManagerApprove pid = mocker.insert_payment(uid, department_id, pics, status, tid) msg = "" if status == ApplicationStatus.ApplicationApproved: msg = "您的{}号报销申请已被总经理同意".format(pid) elif status == ApplicationStatus.NeedManagerApprove: msg = "您的{}号报销申请已被部门经理同意".format(pid) elif status == ApplicationStatus.ApplicationNotApproved: msg = "您的{}号报销申请已被部门经理驳回".format(pid) if msg != "": mocker.insert_msg(msg, uid)