Exemplo n.º 1
0
def create_merchant_group(
    merchant_id: int,
    name: str,
    notes: str,
    user_id: int = None,
) -> MerchantGroup:
    """
    MerchantGroup create without permissions
    :param merchant_id:
    :param user_id:
    :param name:
    :param notes:
    :return:
    """
    merchant = Merchant.objects.get(id=merchant_id)
    merchant_group_db = MerchantGroup.objects.filter(
        name=name, merchant=merchant).first()
    if merchant_group_db:
        raise ServiceValidationError('角色名不可重复!')
    user = User.objects.filter(id=user_id).first()
    group = Group(name=f'{merchant_id}_{uuid.uuid4()}')
    group.clean()
    group.save()
    print(group.name)
    merchant_group = MerchantGroup(group=group,
                                   create_user=user if user else None,
                                   merchant=merchant,
                                   notes=notes,
                                   name=name)

    merchant_group.clean()
    merchant_group.save()
    return merchant_group