Exemple #1
0
    def create(self, validated_data):
        corp = validated_data.get('corp')
        try:
            myapp = CorpApp.objects.get(corp=corp, agent_id=AGENT_ID)
        except CorpApp.DoesNotExist:
            raise serializers.ValidationError('APP信息获取失败')
        wechat = WorkWechat(myapp)

        status, res = wechat.add_contact_way(
            userid_li=validated_data.get('user', []),
            party_li=validated_data.get('party', []),
            type=validated_data.get('type', 2),
            scene=validated_data.get('scene', 2),
            style=validated_data.get('style', 1),
            remark=validated_data.get('remark', ''),
            skip_verify=validated_data.get('skip_verify', True),
            state=validated_data.get('state', '')
        )
        if not status:
            raise serializers.ValidationError(res.get("errmsg"))

        config_id = res.get('config_id')
        myLogger.info('Successfully created the contactme: {0}'.format(config_id))

        a_contactme = ContactMe(corp=corp,
                                config_id=config_id,
                                user=validated_data.get('user', []),
                                party=validated_data.get('party', []),
                                type=validated_data.get('type', 2),
                                scene=validated_data.get('scene', 2),
                                style=validated_data.get('style', 1),
                                remark=validated_data.get('remark', ''),
                                skip_verify=validated_data.get('skip_verify', True),
                                state=validated_data.get('state', ''),
                                tags=validated_data.get('tags', []),
                                welcome_code=validated_data.get('welcome_code', {}))

        status, res = wechat.get_contact_way(config_id)
        if not status:
            myLogger.error('Error in fetching the info of the contactme[{0}]: {1}'.format(config_id, res.get('errmsg')))
        else:
            a_contactme.qr_code = res.get('contact_way').get('qr_code', '')

        a_contactme.save()

        return a_contactme
Exemple #2
0
    def update(self, instance, validated_data):
        try:
            myapp = CorpApp.objects.get(corp=instance.corp, agent_id=AGENT_ID)
        except CorpApp.DoesNotExist:
            raise serializers.ValidationError('APP信息获取失败')

        remark = validated_data.get('remark', instance.remark)
        skip_verify = validated_data.get('skip_verify', instance.skip_verify)
        style = validated_data.get('style', instance.style)
        state = validated_data.get('state', instance.state)
        user = validated_data.get('user', instance.user)
        party = validated_data.get('party', instance.party)
        tags = validated_data.get('tags', instance.tags)
        welcome_code = validated_data.get('welcome_code', instance.welcome_code)

        wechat = WorkWechat(myapp)
        status, res = wechat.update_contact_way(instance.config_id,
                                                remark=remark,
                                                skip_verify=skip_verify,
                                                style=style,
                                                state=state,
                                                user=user,
                                                party=party)
        if not status:
            raise serializers.ValidationError(res.get("errmsg"))

        instance.remark = remark
        instance.skip_verify = skip_verify
        instance.style = style
        instance.state = state
        instance.user = user
        instance.party = party
        instance.tags = tags
        instance.welcome_code = welcome_code

        status, res = wechat.get_contact_way(instance.config_id)
        if not status:
            myLogger.error('Error in fetching the info of the contactme[{0}]: {1}'.format(instance.config_id, res.get('errmsg')))
        else:
            instance.qr_code = res.get('contact_way').get('qr_code', '')

        instance.save()

        return instance
Exemple #3
0
    app = CorpApp.objects.get(id=1)
    w = WorkWechat(app)

    #status, res = w.get_follow_user_list()
    #status, res = w.get_customer_list('YaoQiuJie')
    #status, res = w.get_customer_detail('wmb82tCgAAgT9Vbtc3GSpJMrQ2r5Ga3Q')
    #status, res = w.get_corp_tag_list()
    #status, res = w.create_corp_tag('北京展会', ['周一', '周二'])
    #status, res = w.delete_corp_tag(['etb82tCgAiwfsRk1ro4cZMMKWkAA', ])
    #status, res = w.get_groupchat_detail('wrb82tCgAAG_wMhrloPU4wkfcq92X7UQ')

    #status, res = w.send_msg_to_groupchat('YaoQiuJie', msg_type='text', content='Greetings from Django')
    #status, res = w.send_msg_to_multiuser(external_userid_li=['wmb82tCgAAsSbiFIIYcO_T-_ZVi3T4vw',], msg_type='text', content='Greetings from Django')
    #status, res = w.get_group_msg_result('msgb82tCgAAgrXmwKrDqNIeY8QGlM5HNA')
    #status, res = w.get_contact_way("8ce274acc7e3592307bd6c9403a4b740")
    status, res = w.get_contact_way("8ce274acc7e3592307bd6c9403a4b740")
    #status, res = w.get_unassigned_list()
    #status, res = w.transfer_external_user('wmb82tCgAA6-zMo6u9fSkU6gN0IRWRWQ', 'LinDa-Shang', 'GuoDan')

    # Department
    #status, res = w.get_users_in_department_detail(2)
    print(status)
    print(res)

    # Material
#    filepath = '/Users/yqj/Downloads/IMG_8609.jpg'
#    filename = os.path.basename(filepath)
#    content_type = mimetypes.guess_type(filepath)[0]
#    filedata = open(filepath, 'rb')
#    media_file = (filename, filedata, content_type)
#    status, res = w.upload_media('image', media_file)