|
@@ -291,3 +291,136 @@ func Delete_T_Notice_bind(T_sn string, T_id int, T_Notice_id int) (err error) {
|
|
|
return err
|
|
|
|
|
|
}
|
|
|
+
|
|
|
+// 修改用户同时修改报警策略绑定的用户信息
|
|
|
+func Update_CompanyNotice_Bind_By_T_uuid(T_uuid, T_name string) bool {
|
|
|
+
|
|
|
+ o := orm.NewOrm()
|
|
|
+ o.Begin()
|
|
|
+ // 也可以直接使用 Model 结构体作为表名
|
|
|
+ var map_r []CompanyNotice
|
|
|
+ qs := o.QueryTable(new(CompanyNotice))
|
|
|
+
|
|
|
+ cond := orm.NewCondition()
|
|
|
+
|
|
|
+ cond1 := cond.And("T_State", 1).AndCond(
|
|
|
+ cond.Or("T_Notice_wx__icontains", T_uuid).
|
|
|
+ Or("T_Notice_wx2__icontains", T_uuid).
|
|
|
+ Or("T_Notice_phone__icontains", T_uuid).
|
|
|
+ Or("T_Notice_message__icontains", T_uuid).
|
|
|
+ Or("T_Notice_mailbox__icontains", T_uuid))
|
|
|
+
|
|
|
+ qs.SetCond((*orm2.Condition)(cond1)).All(&map_r)
|
|
|
+ T_uuid_name := fmt.Sprintf("%s/%s|", T_uuid, T_name)
|
|
|
+ for _, v := range map_r {
|
|
|
+ v.T_Notice_wx = Replice_T_Notice_Bind(T_uuid, v.T_Notice_wx, T_uuid_name)
|
|
|
+ v.T_Notice_wx2 = Replice_T_Notice_Bind(T_uuid, v.T_Notice_wx2, T_uuid_name)
|
|
|
+ v.T_Notice_phone = Replice_T_Notice_Bind(T_uuid, v.T_Notice_phone, T_uuid_name)
|
|
|
+ v.T_Notice_message = Replice_T_Notice_Bind(T_uuid, v.T_Notice_message, T_uuid_name)
|
|
|
+ v.T_Notice_mailbox = Replice_T_Notice_Bind(T_uuid, v.T_Notice_mailbox, T_uuid_name)
|
|
|
+ _, err := o.Update(&v, "T_Notice_wx", "T_Notice_wx2", "T_Notice_phone", "T_Notice_message", "T_Notice_mailbox", "T_Notice_mechanism")
|
|
|
+ if err != nil {
|
|
|
+ o.Rollback()
|
|
|
+ return false
|
|
|
+ }
|
|
|
+ Redis_CompanyNotice_DelK(strconv.Itoa(v.Id))
|
|
|
+ }
|
|
|
+
|
|
|
+ o.Commit()
|
|
|
+ return true
|
|
|
+
|
|
|
+}
|
|
|
+
|
|
|
+// 删除用户同时删除报警策略绑定的用户信息
|
|
|
+func Delete_CompanyNotice_Bind_By_T_uuid(T_uuid string) bool {
|
|
|
+
|
|
|
+ o := orm.NewOrm()
|
|
|
+ o.Begin()
|
|
|
+ // 也可以直接使用 Model 结构体作为表名
|
|
|
+ var map_r []CompanyNotice
|
|
|
+ qs := o.QueryTable(new(CompanyNotice))
|
|
|
+
|
|
|
+ cond := orm.NewCondition()
|
|
|
+
|
|
|
+ cond1 := cond.And("T_State", 1).AndCond(
|
|
|
+ cond.Or("T_Notice_wx__icontains", T_uuid).
|
|
|
+ Or("T_Notice_wx2__icontains", T_uuid).
|
|
|
+ Or("T_Notice_phone__icontains", T_uuid).
|
|
|
+ Or("T_Notice_message__icontains", T_uuid).
|
|
|
+ Or("T_Notice_mailbox__icontains", T_uuid))
|
|
|
+
|
|
|
+ qs.SetCond((*orm2.Condition)(cond1)).All(&map_r)
|
|
|
+
|
|
|
+ for _, v := range map_r {
|
|
|
+ v.T_Notice_wx = Replice_T_Notice_Bind(T_uuid, v.T_Notice_wx, "")
|
|
|
+ v.T_Notice_wx2 = Replice_T_Notice_Bind(T_uuid, v.T_Notice_wx2, "")
|
|
|
+ v.T_Notice_phone = Replice_T_Notice_Bind(T_uuid, v.T_Notice_phone, "")
|
|
|
+ v.T_Notice_message = Replice_T_Notice_Bind(T_uuid, v.T_Notice_message, "")
|
|
|
+ v.T_Notice_mailbox = Replice_T_Notice_Bind(T_uuid, v.T_Notice_mailbox, "")
|
|
|
+ _, err := o.Update(&v, "T_Notice_wx", "T_Notice_wx2", "T_Notice_phone", "T_Notice_message", "T_Notice_mailbox", "T_Notice_mechanism")
|
|
|
+ if err != nil {
|
|
|
+ o.Rollback()
|
|
|
+ return false
|
|
|
+ }
|
|
|
+ Redis_CompanyNotice_DelK(strconv.Itoa(v.Id))
|
|
|
+
|
|
|
+ }
|
|
|
+
|
|
|
+ o.Commit()
|
|
|
+ return true
|
|
|
+
|
|
|
+}
|
|
|
+
|
|
|
+// 获取全部列表
|
|
|
+func Delete_CompanyNotice_Bind_By_T_uuid_T_pid(T_uuid string, T_pids []int) bool {
|
|
|
+
|
|
|
+ o := orm.NewOrm()
|
|
|
+ o.Begin()
|
|
|
+ // 也可以直接使用 Model 结构体作为表名
|
|
|
+ var map_r []CompanyNotice
|
|
|
+ qs := o.QueryTable(new(CompanyNotice))
|
|
|
+
|
|
|
+ cond := orm.NewCondition()
|
|
|
+
|
|
|
+ cond1 := cond.And("T_State", 1).And("T_pid__in", T_pids).AndCond(
|
|
|
+ cond.Or("T_Notice_wx__icontains", T_uuid).
|
|
|
+ Or("T_Notice_wx2__icontains", T_uuid).
|
|
|
+ Or("T_Notice_phone__icontains", T_uuid).
|
|
|
+ Or("T_Notice_message__icontains", T_uuid).
|
|
|
+ Or("T_Notice_mailbox__icontains", T_uuid))
|
|
|
+
|
|
|
+ qs.SetCond((*orm2.Condition)(cond1)).All(&map_r)
|
|
|
+
|
|
|
+ for _, v := range map_r {
|
|
|
+ v.T_Notice_wx = Replice_T_Notice_Bind(T_uuid, v.T_Notice_wx, "")
|
|
|
+ v.T_Notice_wx2 = Replice_T_Notice_Bind(T_uuid, v.T_Notice_wx2, "")
|
|
|
+ v.T_Notice_phone = Replice_T_Notice_Bind(T_uuid, v.T_Notice_phone, "")
|
|
|
+ v.T_Notice_message = Replice_T_Notice_Bind(T_uuid, v.T_Notice_message, "")
|
|
|
+ v.T_Notice_mailbox = Replice_T_Notice_Bind(T_uuid, v.T_Notice_mailbox, "")
|
|
|
+ _, err := o.Update(&v, "T_Notice_wx", "T_Notice_wx2", "T_Notice_phone", "T_Notice_message", "T_Notice_mailbox", "T_Notice_mechanism")
|
|
|
+ if err != nil {
|
|
|
+ o.Rollback()
|
|
|
+ return false
|
|
|
+ }
|
|
|
+ Redis_CompanyNotice_DelK(strconv.Itoa(v.Id))
|
|
|
+
|
|
|
+ }
|
|
|
+
|
|
|
+ o.Commit()
|
|
|
+ return true
|
|
|
+
|
|
|
+}
|
|
|
+
|
|
|
+func Replice_T_Notice_Bind(T_uuid, T_Notice_Bind string, new string) string {
|
|
|
+ if len(T_Notice_Bind) == 0 {
|
|
|
+ return ""
|
|
|
+ }
|
|
|
+ list := strings.Split(T_Notice_Bind, "|")
|
|
|
+ for _, v := range list {
|
|
|
+ if strings.Contains(v, T_uuid) {
|
|
|
+ T_Notice_Bind = strings.Replace(T_Notice_Bind, v+"|", new, -1)
|
|
|
+ break
|
|
|
+ }
|
|
|
+ }
|
|
|
+ return T_Notice_Bind
|
|
|
+}
|