Accept Merge Request #1480: (feature/weid_sync_update -> develop)

Merge Request: 修改和新增员工时根据邮箱获取企微id

Created By: @管欢
Reviewed By: @胡尧
Approved By: @胡尧 
Accepted By: @管欢
URL: https://jikimo-hn.coding.net/p/jikimo_sfs/d/jikimo_sf/git/merge/1480
This commit is contained in:
管欢
2024-10-29 11:10:47 +08:00
committed by Coding

View File

@@ -11,6 +11,38 @@ class JkmPracticeEmployee(models.Model):
we_id = fields.Char(string='企微ID', index=True) we_id = fields.Char(string='企微ID', index=True)
@api.model_create_multi
def create(self, vals_list):
for val in vals_list:
if 'work_email' in val:
val["we_id"] = self._get_we_id(val.get('work_email'))
if val.get('user_id'):
user = self.env['res.users'].browse(val['user_id'])
user.write({'we_employee_id': val["we_id"]})
return super(JkmPracticeEmployee, self).create(vals_list)
def write(self, vals):
if 'work_email' in vals:
vals["we_id"] = self._get_we_id(vals.get('work_email'))
if self.user_id:
self.user_id.write({'we_employee_id': vals["we_id"]})
return super(JkmPracticeEmployee, self).write(vals)
def _get_we_id(self, work_email):
json1 = {
'params': {
'work_email': work_email
}
}
url = '/api/get/we_id/info'
config = self.env['res.config.settings'].get_values()
ret = requests.post((config['ims_url'] + url), json=json1, data={})
result = ret.json()['result']
if result['code'] == 200:
if result['we_id']:
return result['we_id']
return None
def _employee_info_sync(self): def _employee_info_sync(self):
url = '/api/get/organization' url = '/api/get/organization'
config = self.env['res.config.settings'].get_values() config = self.env['res.config.settings'].get_values()