예제 #1
0
    def instance(self):
        """
		:return:
		"""
        self.logger.info(
            "---------------------------------浮屠长生 开始提取数据---------------------------------"
        )
        batch_code = None
        try:
            """生成主批次号"""
            batch_code = BusinessUtil.get_uniqu_time()
            self.logger.info("【提取数据】生成当前主批次号为:%s" % batch_code)
            """提取数据"""
            result = self.get_primamary_list(batch_code)
            """获取待发送邮箱,并集"""
            marketing_email = BusiBaseConfService().search_key_return_value(
                (busi_config.MARKETING_EMAIL_KEY), "139.com")
            result = BusinessUtil.convert_data(result, marketing_email, False)
            """数据处理"""
            self.observer(result)
        except Exception as e:
            self.logger.error("【数据提取】数据提取异常,回滚批次为:%s,异常信息为:%s" %
                              (batch_code, traceback.format_exc()))
            self.roll_back(batch_code)
        self.logger.info(
            "---------------------------------浮屠长生 提取数据结束---------------------------------"
        )
예제 #2
0
    def insert_update_more(self, result):
        """
		添加或更新数据
		:param result:
		:return:
		"""
        _db = None
        try:
            if not result:
                self.logger.info("【添加/更新营销数据】请求参数为为空,流程结束")
            """查询数据"""
            _db = MySqlHelper()
            for param in result:
                param["subBatchCode"] = BusinessUtil.get_uniqu_time()
                count = _db.count(marketing_data_sql.count,
                                  (param.get("batchCode"), param.get("mobile"),
                                   param.get("email")))
                if count > 0:
                    result = _db.update(
                        marketing_data_sql.update_insert,
                        (param.get("subBatchCode"),
                         int(param.get("status", "0")), param.get("batchCode"),
                         param.get("mobile"), param.get("email")))
                else:
                    result = _db.insert_one(
                        marketing_data_sql.insert,
                        (param.get("originalBatchCode"),
                         param.get("batchCode"), param.get("subBatchCode"),
                         param.get("mobile"), param.get("email"),
                         int(param.get("status", "0"))))
            _db.end()
            return result
        except Exception as e:
            if _db:
                _db.isEnd = 2
                _db.end()
            self.logger.error("【添加/更新营销数据】保存异常信息为:%s" % traceback.format_exc())
        return False