diff --git a/jikimo_message_notify/__init__.py b/jikimo_message_notify/__init__.py
deleted file mode 100644
index 9a7e03ed..00000000
--- a/jikimo_message_notify/__init__.py
+++ /dev/null
@@ -1 +0,0 @@
-from . import models
\ No newline at end of file
diff --git a/jikimo_message_notify/__manifest__.py b/jikimo_message_notify/__manifest__.py
deleted file mode 100644
index 9af32625..00000000
--- a/jikimo_message_notify/__manifest__.py
+++ /dev/null
@@ -1,25 +0,0 @@
-# -*- coding: utf-8 -*-
-# Part of Odoo. See LICENSE file for full copyright and licensing details.
-
-{
- 'name': '机企猫智能工厂 消息提醒',
- 'version': '1.0',
- 'summary': '智能工厂消息提醒模块',
- 'sequence': 1,
- 'description': """
-
- """,
- 'category': 'sf',
- 'website': 'https://www.sf.jikimo.com',
- 'depends': ['base', 'sf_plan', 'sf_sale', 'wechat_enterprise_business_processing'],
- 'data': [
- 'security/ir.model.access.csv',
- 'views/sf_message_template_view.xml',
- ],
- 'test': [
- ],
- 'license': 'LGPL-3',
- 'installable': True,
- 'auto_install': False,
- 'application': False,
-}
diff --git a/jikimo_message_notify/models/__init__.py b/jikimo_message_notify/models/__init__.py
deleted file mode 100644
index 04b9e069..00000000
--- a/jikimo_message_notify/models/__init__.py
+++ /dev/null
@@ -1,5 +0,0 @@
-from . import jikimo_message_template
-from . import jikimo_message_queue
-from . import jikimo_message_dispatch
-from . import jikimo_message_bussiness_node
-
diff --git a/jikimo_message_notify/models/jikimo_message_bussiness_node.py b/jikimo_message_notify/models/jikimo_message_bussiness_node.py
deleted file mode 100644
index b24d4863..00000000
--- a/jikimo_message_notify/models/jikimo_message_bussiness_node.py
+++ /dev/null
@@ -1,16 +0,0 @@
-# -*- coding: utf-8 -*-
-import logging
-from odoo import models, fields, api
-from odoo.exceptions import UserError
-
-_logger = logging.getLogger(__name__)
-
-
-class JikimoMessageBussinessNode(models.Model):
- _name = "jikimo.message.bussiness.node"
- _description = '发送消息业务节点'
-
- name = fields.Char(string="节点名称")
- model = fields.Char(string="模型")
-
-
\ No newline at end of file
diff --git a/jikimo_message_notify/models/jikimo_message_dispatch.py b/jikimo_message_notify/models/jikimo_message_dispatch.py
deleted file mode 100644
index ef6ac53c..00000000
--- a/jikimo_message_notify/models/jikimo_message_dispatch.py
+++ /dev/null
@@ -1,105 +0,0 @@
-# -*- coding: utf-8 -*-
-import logging
-from odoo import models
-from odoo import exceptions
-from wechatpy.enterprise import WeChatClient
-from odoo.exceptions import UserError
-
-_logger = logging.getLogger(__name__)
-
-
-class JikimoMessageDispatch(models.AbstractModel):
- _name = "jikimo.message.dispatch"
- _description = '消息发送'
-
- def add_queue(self, bussiness_node, urgency="normal", **kwargs):
- """
- 添加消息队列
- """
- bussiness_node_id = self.env["jikimo.message.bussiness.node"].search([
- ("model", "=", self._name),
- ("name", "=", bussiness_node)
- ])
- # 根据模型与紧急程度获取消息模板
- message_template_id = self.env["jikimo.message.template"].search([
- ("model", "=", self._name),
- ("urgency", "=", urgency),
- ("bussiness_node_id", "=", bussiness_node_id.id)
- ])
- if not message_template_id:
- _logger.warning(f"{self._name}消息推送模板未配置")
- return False
-
- data_list = []
- for record in self:
- data_list.append({
- 'res_id': record.id,
- 'model': record._name,
- 'message_template_id': message_template_id.id,
- })
- return self.env["jikimo.message.queue"].create(data_list)
-
- def _merge_message_queue(self):
- """
- 合并相同业务节点与相同模型的消息
- """
- pass
-
- def _get_message(self, message_queue_ids):
- """
- 根据消息队列获取消息内容
- :param message_queue_ids: 消息队列ID列表
- :return: 消息内容
- """
- contents = []
- for message_queue_id in message_queue_ids:
- content = message_queue_id.message_template_id.content
- # 获取模板中带有{{}}的变量
- import re
- variables = re.findall(r"{{[^{}]+}}", content)
- if variables:
- model_data = self.env[message_queue_id.model].browse(int(message_queue_id.res_id))
- for variable in variables:
- # 获取变量对应的值
- variable_value = model_data[variable.strip("{{}}")]
- # 将变量替换为值
- content = content.replace(variable, variable_value)
- contents.append(content)
- return contents
-
- def _send_message(self, message_content, we_user_list):
- """
- 发送消息
- """
- enterprise = self.env['we.config'].search([('company_id', '=', 1)], limit=1)
- if enterprise.odoo_app_id:
- enterprise_app = self.env['we.app'].search([('agentid', '=', enterprise.odoo_app_id.agentid)])
- wechat = WeChatClient(corp_id=enterprise.corp_id, secret=enterprise_app.secret)
- data = {
- 'agentid': enterprise.odoo_app_id.agentid,
- 'touser': we_user_list,
- 'content': message_content
- }
- wechat.message.send_markdown(agent_id=data['agentid'], user_ids=data['touser'], content=data['content'])
- else:
- raise UserError('Odoo应用未配置. ')
-
- def _cron_dispatch(self):
- """
- 定时发送消息
- """
- # 从消息队列中获取所有待发送消息的message_template_id
- message_template_ids = self.env["jikimo.message.queue"].read_group([
- ("message_status", "=", "pending")
- ], ['message_template_id'], ['message_template_id'])
- # 根据模板类型来发送消息
- for message_template_id in message_template_ids[0]['message_template_id']:
- message_queue_ids = self.env["jikimo.message.queue"].search([
- ("message_template_id", "=", message_template_id),
- ("message_status", "=", "pending")
- ])
- message_contents = self.env[message_queue_ids[0].message_template_id.model]._get_message(message_queue_ids)
- # 发送消息
- for message_content in message_contents:
- self._send_message(message_content, "HuYao")
- return True
\ No newline at end of file
diff --git a/jikimo_message_notify/models/jikimo_message_queue.py b/jikimo_message_notify/models/jikimo_message_queue.py
deleted file mode 100644
index fe9defe4..00000000
--- a/jikimo_message_notify/models/jikimo_message_queue.py
+++ /dev/null
@@ -1,19 +0,0 @@
-from odoo import models, fields, api
-
-class JikimoMessageQueue(models.Model):
- _name = "jikimo.message.queue"
- _description = "消息队列"
-
- message_template_id = fields.Many2one("jikimo.message.template", string="消息模板")
- res_id = fields.Text(string="单据ID")
- model = fields.Char(String="模型")
- message_status = fields.Selection([
- ("pending", "待发送"),
- ("sent", "已发送"),
- ("failed", "发送失败")
- ], string="消息状态", default="pending")
- message_error = fields.Text(string="错误信息")
- send_date = fields.Datetime(string="创建时间")
- message_updated_at = fields.Datetime(string="更新时间")
-
-
diff --git a/jikimo_message_notify/models/jikimo_message_template.py b/jikimo_message_notify/models/jikimo_message_template.py
deleted file mode 100644
index d03c66b3..00000000
--- a/jikimo_message_notify/models/jikimo_message_template.py
+++ /dev/null
@@ -1,58 +0,0 @@
-# -*- coding: utf-8 -*-
-from odoo import models, fields, api
-
-
-class JikimoMessageTemplate(models.Model):
- _name = "jikimo.message.template"
- _description = '消息模板'
-
- name = fields.Char(string="名称", required=True)
-
- description = fields.Char(string="描述")
- content = fields.Html(string="内容", render_engine='qweb', translate=True, prefetch=True, sanitize=False)
- msgtype = fields.Selection(
- [('text', '文字'), ('markdown', 'Markdown')], '消息类型',
- required=True, default='markdown')
- notification_department_id = fields.Many2one('hr.department', '通知部门', required=True)
- notification_employee_ids = fields.Many2many('hr.employee', string='员工',
- domain="[('department_id', '=',notification_department_id)]",
- required=True)
-
- urgency = fields.Selection([
- ("normal", "普通"),
- ("urgent", "紧急"),
- ("very_urgent", "非常紧急")
- ], string="紧急程度")
- active = fields.Boolean(string="是否有效", default=True)
-
- def _get_message_model(self):
- """
- 获取通知的模型
- """
- return []
-
- def _get_model(self):
- return self.model
-
- model_id = fields.Many2one(
- "ir.model",
- string="关联模型",
- domain=lambda self: [("model", "in", self._get_message_model())]
- )
- model = fields.Char(related="model_id.model", index=True, store=True)
- bussiness_node_id = fields.Many2one(
- "jikimo.message.bussiness.node",
- string="业务节点",
- domain=lambda self: [("model", "=", self.model)],
- required=True
- )
-
- @api.onchange('notification_department_id')
- def _clear_employee_ids(self):
- if self.notification_department_id:
- self.notification_employee_ids = False
-
- def test_send_message(self):
- self.env["jikimo.message.dispatch"]._cron_dispatch()
-
-
\ No newline at end of file
diff --git a/jikimo_message_notify/security/group_security.xml b/jikimo_message_notify/security/group_security.xml
deleted file mode 100644
index fdbc3ae5..00000000
--- a/jikimo_message_notify/security/group_security.xml
+++ /dev/null
@@ -1,5 +0,0 @@
-
-
-
-
-
\ No newline at end of file
diff --git a/jikimo_message_notify/security/ir.model.access.csv b/jikimo_message_notify/security/ir.model.access.csv
deleted file mode 100644
index 4011baed..00000000
--- a/jikimo_message_notify/security/ir.model.access.csv
+++ /dev/null
@@ -1,23 +0,0 @@
-id,name,model_id:id,group_id:id,perm_read,perm_write,perm_create,perm_unlink
-access_jikimo_message_template_group_sale_salemanager,jikimo_message_template,model_jikimo_message_template,sf_base.group_sale_salemanager,1,1,1,0
-access_jikimo_message_template_group_purchase,jikimo_message_template,model_jikimo_message_template,sf_base.group_purchase,1,1,1,0
-access_jikimo_message_template_group_sf_stock_user,jikimo_message_template,model_jikimo_message_template,sf_base.group_sf_stock_user,1,1,1,0
-access_jikimo_message_template_group_sf_order_user,jikimo_message_template,model_jikimo_message_template,sf_base.group_sf_order_user,1,1,1,0
-access_jikimo_message_template_group_sf_tool_user,jikimo_message_template,model_jikimo_message_template,sf_base.group_sf_tool_user,1,1,1,0
-
-access_jikimo_message_bussiness_node_group_sale_salemanager,jikimo_message_bussiness_node,model_jikimo_message_bussiness_node,sf_base.group_sale_salemanager,1,1,1,0
-access_jikimo_message_bussiness_node_group_purchase,jikimo_message_bussiness_node,model_jikimo_message_bussiness_node,sf_base.group_purchase,1,1,1,0
-access_jikimo_message_bussiness_node_group_sf_stock_user,jikimo_message_bussiness_node,model_jikimo_message_bussiness_node,sf_base.group_sf_stock_user,1,1,1,0
-access_jikimo_message_bussiness_node_group_sf_order_user,jikimo_message_bussiness_node,model_jikimo_message_bussiness_node,sf_base.group_sf_order_user,1,1,1,0
-access_jikimo_message_bussiness_node_group_sf_tool_user,jikimo_message_bussiness_node,model_jikimo_message_bussiness_node,sf_base.group_sf_tool_user,1,1,1,0
-
-access_jikimo_message_queue_group_sale_salemanager,jikimo_message_queue,model_jikimo_message_queue,sf_base.group_sale_salemanager,1,1,1,0
-access_jikimo_message_queue_group_purchase,jikimo_message_queue,model_jikimo_message_queue,sf_base.group_purchase,1,1,1,0
-access_jikimo_message_queue_group_sf_stock_user,jikimo_message_queue,model_jikimo_message_queue,sf_base.group_sf_stock_user,1,1,1,0
-access_jikimo_message_queue_group_sf_order_user,jikimo_message_queue,model_jikimo_message_queue,sf_base.group_sf_order_user,1,1,1,0
-access_jikimo_message_queue_group_sf_tool_user,jikimo_message_queue,model_jikimo_message_queue,sf_base.group_sf_tool_user,1,1,1,0
-
-
-
-
-
diff --git a/jikimo_message_notify/views/sf_message_template_view.xml b/jikimo_message_notify/views/sf_message_template_view.xml
deleted file mode 100644
index ec8243ce..00000000
--- a/jikimo_message_notify/views/sf_message_template_view.xml
+++ /dev/null
@@ -1,80 +0,0 @@
-
-
-
-
-
-
-
- sf.message.template.view.form
- jikimo.message.template
-
-
-
-
-
-
- sf.message.template.view.tree
- jikimo.message.template
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- sf.message.template.search.view
- jikimo.message.template
-
-
-
-
-
-
-
-
-
-
-
- 消息模板
- jikimo.message.template
- tree,form
-
-
-
-
-
-
-
\ No newline at end of file