Exemple #1
0
 def _get_logistics(self, order_logistics):
     # http查询
     l = Logistics()
     response = l.get_logistic(order_logistics.OLexpressNo,
                               order_logistics.OLcompany)
     if response:
         # 插入数据库
         code = response.get('status')
         if code == '0':
             result = response.get('result')
             OrderLogisticsDict = {
                 'OLsignStatus': int(result.get('deliverystatus')),
                 'OLdata': json.dumps(result),  # 结果原字符串
                 'OLlastresult': json.dumps(result.get('list')[0])  # 最新物流
             }
             #
         else:
             OrderLogisticsDict = {
                 'OLsignStatus': -1,
                 'OLdata': json.dumps(response),  # 结果原字符串
                 'OLlastresult': '{}'
             }
         order_logistics.update(OrderLogisticsDict)
         db.session.add(order_logistics)
         # s_list.append(order_logistics)
     else:
         # 无信息 todo
         gennerc_log('物流信息出错')
     return order_logistics
Exemple #2
0
 def __get_approvalcontent(self, pt, startid, avcontentid, **kwargs):
     start, content = self.__fill_approval(pt, startid, avcontentid,
                                           **kwargs)
     gennerc_log('get start {0} content {1}'.format(start, content))
     if not (start or content):
         raise ParamsError('审批流创建失败,发起人或需审批内容已被删除')
     return start, content
 def save_avatar(self, filepath):
     time_now = datetime.now()
     year = str(time_now.year)
     month = str(time_now.month)
     day = str(time_now.day)
     img = self._get_avatar_data()
     newPath = os.path.join(current_app.config['BASEDIR'], 'img', 'defaulthead', year, month, day)
     if not os.path.isdir(newPath):
         os.makedirs(newPath)
     # newPath = newPath + filepath + '.png'
     newPath = os.path.join(newPath, filepath + '.png')
     gennerc_log(newPath)
     cv2.imwrite(newPath, img)
     data = '/img/defaulthead/{}/{}/{}/{}'.format(year, month, day, filepath + '.png')
     return data
Exemple #4
0
    def _send_sms_ali(self, mobiles, tpl_params):
        sign_name = SignName
        params_lst = self.params(mobiles, tpl_params, sign_name)
        eps = self.encode_params(params_lst)
        prepare_str = self.prepare_sign(eps)
        sign_str = self.sign(prepare_str)

        url = "{0}Signature={1}&{2}".format(self.prefix_url, sign_str, eps)

        r = requests.get(url)
        if r.status_code != 200:
            raise ParamsError('短信验证获取失败')
        else:
            jn = json.loads(r.text)
            gennerc_log('get sms response : {0}'.format(jn))
            if jn.get("Code") == "OK":
                return True
            else:
                raise ParamsError('短信验证获取失败')
Exemple #5
0
    def create_approval(self,
                        avtype,
                        startid,
                        avcontentid,
                        applyfrom=None,
                        **kwargs):

        gennerc_log('start create approval ptid = {0}'.format(avtype))
        pt = PermissionType.query.filter_by_(PTid=avtype).first_('参数异常')

        start, content = self.__get_approvalcontent(pt,
                                                    startid,
                                                    avcontentid,
                                                    applyfrom=applyfrom,
                                                    **kwargs)
        db.session.expunge_all()
        av = Approval.create({
            "AVid":
            str(uuid.uuid1()),
            "AVname":
            avtype + datetime.now().strftime('%Y%m%d%H%M%S'),
            "PTid":
            avtype,
            "AVstartid":
            startid,
            "AVlevel":
            1,
            "AVstatus":
            ApplyStatus.wait_check.value,
            "AVcontent":
            avcontentid,
            'AVstartdetail':
            json.dumps(start, cls=JSONEncoder),
            'AVcontentdetail':
            json.dumps(content, cls=JSONEncoder),
        })

        with self.sapproval.auto_commit() as s:

            if applyfrom == ApplyFrom.supplizer.value:
                sup = Supplizer.query.filter_by_(SUid=startid).first()
                name = getattr(sup, 'SUname', '')
            elif applyfrom == ApplyFrom.platform.value:
                admin = Admin.query.filter_by_(ADid=startid).first()
                name = getattr(admin, 'ADname', '')
            else:
                user = User.query.filter_by_(USid=startid).first()
                name = getattr(user, 'USname', '')

            aninstance = ApprovalNotes.create({
                "ANid":
                str(uuid.uuid1()),
                "AVid":
                av.AVid,
                "ADid":
                startid,
                "ANaction":
                ApprovalAction.submit.value,
                "AVadname":
                name,
                "ANabo":
                "发起申请",
                "ANfrom":
                applyfrom
            })
            s.add(av)
            s.add(aninstance)
        return av.AVid