Esempio n. 1
0
def chg_passwd(message):
    content = str(message.content).strip()
    if re.match('修改密码\s.*', content):
        '''
        修改密码
        '''
        row = content.split(' ')
        password = hashlib.new('md5', row[1]).hexdigest()
        try:
            user = CmdAdmin.getBy(weixinId=message.source)
            user.password = password
            user.update()
            return '密码修改成功'
        except Exception as err:
            return '出现错误', err

    elif re.match('管理', content):
        '''
        获取后台管理系统地址
        '''
        return site.root + '/admin'

    elif re.match('所有订单|今日订单', content):
        '''
        管理员获取今日所有订单
        '''
        try:
            result = sorted(Order.get_today(), key=lambda order: str(order.canteen))
            if len(result) == 0:
                return '今日没有未处理的订单.'
            else:
                msg = [model.print_orders(order) for order in result]
                return '\n------\n'.join(msg)
        except Exception as err:
            return str(err)

    elif re.match('明日订单', content):
        '''
        管理员获取明日所有订单
        '''
        try:
            result = sorted(Order.get_tomorrow(), key=lambda order: str(order.canteen))
            if len(result) == 0:
                return '明日暂时没有订单.'
            else:
                msg = [model.print_orders(order) for order in result]
                return '\n------\n'.join(msg)
        except Exception as err:
            return str(err)
    elif re.match('订单人数\s.*', content):
        '''
        获取活动订单数
        '''
        try:
            #  row = content.split(' ')
            #  password = hashlib.new('md5', row[1]).hexdigest()
            #  username = row[2] if len(row) > 2 else 'admin'
            #  if CmdAdmin.getBy(weixinId = message.source):
            #  return '您已经是管理员了, 不需要重复添加.'
            #  if CmdAdmin.getBy(password = password, role = 0):
            #  CmdAdmin(dict(
            #  username = username,
            #  password = hashlib.new("md5", "1234").hexdigest(),
            #  weixinId = message.source,
            #  role = '3'
            #  )).insert()
            #  return '已添加您为管理员 :)'
            #  return '密码错误'
            row = content.split(' ')
            if len(row) < 2:
                return "请按格式输入:\n  订单人数 活动编号\n如: 订单人数 20151219"
            result = '订单总数: {order_count}\n'.format(order_count=Prize.getOrderCount(row[1]))
            for _ in Prize.getOrderCountByType(row[1]):
                result += '{order_type} : {count}\n'.format(count=_.order_count, order_type=_.order_type)
            return str(result)
        except Exception as err:
            return str(err)