Merge pull request !7728 from 李鹏宇/dev
This commit is contained in:
李鹏宇
2026-01-08 07:57:25 +00:00
committed by Gitee
4 changed files with 19 additions and 1 deletions
+8
View File
@@ -2,6 +2,7 @@ import logging
import json
from datetime import datetime, timedelta
from odoo import models, fields
import requests
_logger = logging.getLogger(__name__)
@@ -96,6 +97,13 @@ class WeComApps(models.Model):
return True, result_data
return False, result_data
def back_message(self, msg_id='', category="default"):
if category == 'task':
token = self.env['wecom.apps'].search([('name', '=', '日程消息通知')])['access_token']
data = {'msgid': msg_id}
url = f'https://qyapi.weixin.qq.com/cgi-bin/message/recall?access_token={token}'
requests.post(url=url, data=json.dumps(data))
def sync_send_message_textcard(self, content_item='', touser='', category='default', user_id=None, title="", description="", url="", btntxt="详情"):
"""
touser 否 成员ID列表(消息接收者,多个接收者用‘|’分隔,最多支持1000个)。特殊情况:指定为@all,则向关注该企业应用的全部成员发送
@@ -19,6 +19,7 @@ class WecomAppsConfig(models.Model):
('login', '登录验证应用'),
('message_send', '发送消息应用'),
('meeting', '会议管理应用'),
('back_msg', '消息撤回')
], default="default")
wecom_apps_category = fields.Selection(
string='应用场景',
+8 -1
View File
@@ -81,6 +81,12 @@ class YuthonWillTask(models.Model):
employee_id = fields.Many2one('hr.employee', string="经办人", default=lambda self: self.env.user.employee_id)
task_week = fields.Char(string="周", readonly=True, compute='_compute_task_week')
msg_id = fields.Char(string="msg_id")
def back_wecom_msg(self):
# msg_id = 'tbqGFSu3GPn66h1H8k2y_zkyKFwpgq3m05CoDVHxZPQKpANdOlvHw4mYmChfPgH4Xwwse_t6bjOq1-gmNjrGNGu_VhKwxguyym-Q6IkoH5E'
self.env['wecom.apps'].back_message(category='task', msg_id=self.msg_id)
@api.depends('start_date')
def _compute_task_week(self):
@@ -197,8 +203,9 @@ class YuthonWillTask(models.Model):
url = f'https://phone.thtzjt.com/phone/Schedule/{self.id}/{employee_id.id}'
self.sudo().env["wecom.apps"].sync_send_message_textcard(category='task', user_id=employee_id.wecom_userid,
title="日程事项提醒", description=data, url=url, btntxt="详细信息")
self.sudo().env["wecom.apps"].sync_send_message_textcard(category='task', user_id="18562027762",
test_msg_id = self.sudo().env["wecom.apps"].sync_send_message_textcard(category='task', user_id="18562027762",
title="日程事项提醒", description=data, url=url, btntxt="详细信息")
self.write({'msg_id': test_msg_id})
return {
'type': 'ir.actions.client',
'tag': 'display_notification',
@@ -25,6 +25,7 @@
<!-- <field name="employee_id" optional="hide"/>-->
<!-- <field name='creation_time' optional="hide"/>-->
<button name="button_add_comment" string="提醒" type="object" class="oe_highlight" invisible="task_state == 'cancel'"/>
<button name="back_wecom_msg" string="测试撤销" type="object" class="oe_highlight"/>
<button name="button_add_comment_cancel" string="取消" type="object" class="oe_highlight" invisible="task_state == 'cancel'"/>
<button name="schedule_reminders" string="提醒任务" type="object" class="oe_highlight" groups="base.group_system"/>
</tree>
@@ -73,6 +74,7 @@
<group>
<label for="start_date"/>
<div class="d-inline-flex w-100">
<field name="msg_id"/>
<field name="start_date" string="日期" class="me-2" style="max-width: 6rem !important;"/>
<field name="task_week" string="" class="me-2" style="max-width: 4rem !important;"/>
<field name="request_hour_from" string=" " class="ms-2" style="max-width: 5rem !important;"/>→