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
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
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)