Example #1
0
 def receive_red(self):
     """红包提现"""
     data = request.json or {}
     make_log("args", data)
     red_id = data.get('red_id')
     response = import_status("SUCCESS_GET_INFO", "OK")
     # 判断用户是否有这个红包
     openid = data.get('openid')
     user = self.suser.get_user_by_openid(openid)
     if not user:
         return jsonify({"status": 404, "message": "非法用户"})
     login_name = user.login_name
     user_red = self.sred.get_userred_by_loginname_redid(login_name, red_id)
     if not user_red:
         return jsonify({"status": 404, "message": "红包状态错误"})
     red = self.sred.get_red_new_by_id(user_red.red_id)
     if not red:
         return jsonify({"status": 404, "message": "不存在的红包"})
     # 计算金额, 退款
     amount = int(red.price) * 100
     desc = '红包领取'
     partner_trade_no = user_red.id.replace('-', '')
     # data = self.wx_login.jscode2session(openid)
     try:
         raw = self.pay.pay_individual(openid=openid,
                                       amount=amount,
                                       partner_trade_no=partner_trade_no,
                                       spbill_create_ip=request.remote_addr,
                                       desc=desc)
     except WeixinError as e:
         return jsonify({"status": 404, "message": e.args})
     # 改状态
     user_red = self.sred.update_user_red_by_id(user_red.id, {'status': 2})
     response['data'] = raw
     return response
Example #2
0
    def delete_file(self):
        args = request.args.to_dict()
        make_log("args", args)
        not_null_params = ['login_name', "jcno", "file_type"]
        if judge_keys(not_null_params, args.keys()) != 200:
            return judge_keys(not_null_params, args.keys())
        data = json.loads(request.data)
        user = get_model_return_dict(
            self.susers.get_user_name(args["login_name"]))
        wts = get_model_return_dict(self.sgoods.get_control_goods(
            args["jcno"]))
        if args["file_type"] in ["sb", "jd", "bzwj", "jdfj"]:
            if args["file_type"] == "sb":
                file_type = "申报单"
            elif args["file_type"] == "jd":
                file_type = "鉴定文件"
            elif args["file_type"] == "bzwj":
                file_type = "包装明细"
            elif args["file_type"] == "jdfj":
                file_type = "鉴定附件"
            else:
                file_type = "未知文件"
            id = get_model_return_dict(
                self.sgoods.get_dgdid_by_url(data["photourl"]))
            dgd_upload = get_model_return_dict(
                self.sgoods.get_dgd_by_id(id["id"]))
            print(dgd_upload)
            add_model(
                "AIR_HWYS_DGD_UPLOAD_BAK", **{
                    "id": str(uuid.uuid1()),
                    "jcno": args["jcno"],
                    "ydno": wts["ydno"],
                    "file_type": file_type,
                    "file_url": data["photourl"],
                    "upload_create_time": dgd_upload["create_time"],
                    "uploade_create_user": dgd_upload["create_user"],
                    "delet_time": datetime.datetime.now(),
                    "delet_user": user["username"],
                    "file_name": data["file_name"]
                })
            delete_photo = self.sgoods.delete_dgd_by_id(id["id"])
            if not delete_photo:
                return {
                    "status": 405,
                    "status_code": 405989,
                    "message": "删除失败"
                }

        if args["file_type"] in ["out", "weight", "by", "in"]:
            id = get_model_return_dict(
                self.sgoods.get_photosid_by_url(data["photourl"]))
            delete_photo = self.sgoods.delete_photos_by_id(id["id"])
            if not delete_photo:
                return {
                    "status": 405,
                    "status_code": 405989,
                    "message": "删除失败"
                }

        return {"status": 200, "message": "删除成功"}
Example #3
0
    def get_jc_in_photohead(self):
        args = request.args.to_dict()
        make_log("args", args)
        not_null_params = ['login_name', "jcno"]
        if judge_keys(not_null_params, args.keys()) != 200:
            return judge_keys(not_null_params, args.keys())

        accounts = get_model_return_dict(
            self.sgoods.get_accounts_by_jcno(args["jcno"]))
        make_log("accounts", accounts)
        if args["login_name"] == accounts:
            return import_status("ERROR_NONE_PERMISSION", "FANSTI_ERROR",
                                 "ERROR_NONE_PERMISSION")

        photoheadid = get_model_return_dict(
            self.sgoods.get_ckmxd_abo(args["jcno"]))
        print(photoheadid)
        photo_dict = []
        if not photoheadid:
            photohead = 1
        else:
            photohead = photoheadid["photo_head"]
        if photohead:
            photohead = int(photohead)
        else:
            photohead = 1
        for row in range(1, photohead + 1):
            photo_dict.append(row)

        return {"status": 200, "message": "获取入仓照片批次成功", "data": photo_dict}
Example #4
0
    def check_name_password(self, name, password):
        # TODO 判断是否存在当前月红包,存在的话
        import hashlib
        login_password = hashlib.md5()
        login_password.update(password.encode("utf8"))
        password = login_password.hexdigest()
        name_password_phone = get_model_return_dict(
            self.susers.get_name_password_phone(name))
        make_log("name_password_phone", name_password_phone)
        if not name_password_phone:
            return import_status("ERROR_NONE_USER", "FANSTI_ERROR",
                                 "ERROR_NONE_USER")
        if password != name_password_phone["login_password"]:
            return import_status("ERROR_WRONG_PASSWORD", "FANSTI_ERROR",
                                 "ERROR_WRONG_PASSWORD")
        else:
            # 用户名密码没问题 增加红包
            red_conis = self.sreds.get_red_all()
            for red_coin in red_conis:
                my_red_coin = self.sreds.get_myred_by_redid(red_coin.id)
                if my_red_coin:
                    continue
                import datetime
                self.sreds.add_model(
                    "GET_RED_COIN", **{
                        "id": str(uuid.uuid1()),
                        "login_name": name,
                        "createtime": datetime.datetime.now(),
                        "red_id": red_coin.id,
                        "status": 0
                    })

            return False
Example #5
0
 def add_invate(self):
     args = request.args.to_dict()
     make_log("args", args)
     data = json.loads(request.data)
     make_log("data", data)
     true_args = ["openid"]
     true_data = ["openid"]
     if judge_keys(true_args, args.keys()) != 200:
         return judge_keys(true_args, args.keys())
     if judge_keys(true_data, data.keys()) != 200:
         return judge_keys(true_data, data.keys())
     wechat_login = get_model_return_dict(
         self.susers.get_wechat_login_by_openid(data["openid"]))
     user_invate = get_model_return_dict(
         self.susers.get_id_by_openid(data["openid"]))
     if user_invate:
         return import_status("ERROR_MESSAGE_CLICK", "FANSTI_ERROR",
                              "ERROR_HAVE_INVATED")
     if wechat_login:
         return import_status("ERROR_HAVE_INVATED", "FANSTI_ERROR",
                              "ERROR_HAVE_INVATED")
     new_user_invate = add_model(
         "USER_INVATE", **{
             "id": str(uuid.uuid4()),
             "args_openid": args["openid"],
             "invate_openid": data["openid"]
         })
     if not new_user_invate:
         return SYSTEM_ERROR
     return import_status("SUCCESS_NEW_INVATE", "OK")
Example #6
0
 def get_openid2(self):
     args = request.args.to_dict()
     make_log("args", args)
     true_params = ["code"]
     if judge_keys(true_params, args.keys()) != 200:
         return judge_keys(true_params, args.keys())
     request_url = "https://api.weixin.qq.com/sns/jscode2session?appid={0}&secret={1}&js_code={2}&grant_type={3}" \
         .format("wxd1facdac814bb86f", "d92626eb3dc8e0e0f1cff7d511d28b0a", args["code"], "authorization_code")
     strResult = None
     try:
         import urllib.request
         req = urllib.request.urlopen(request_url)
         strResult = req.read().decode("utf8")
         req.close()
         make_log("strResult", strResult)
     except Exception as e:
         print(e)
         return NETWORK_ERROR
     jsonResult = json.loads(strResult)
     if "openid" not in strResult or "session_key" not in strResult:
         return jsonResult
     openid = jsonResult["openid"]
     response = import_status("SUCCESS_GET_OPENID", "OK")
     response["data"] = {}
     response["data"]["openid"] = openid
     return response
Example #7
0
    def get_hc_abo(self):
        args = request.args.to_dict()
        make_log("args", args)
        not_null_params = ['login_name', "jcno"]
        if judge_keys(not_null_params, args.keys()) != 200:
            return judge_keys(not_null_params, args.keys())

        #accounts = get_model_return_dict(self.sgoods.get_accounts_by_jcno(args["jcno"]))
        #make_log("accounts", accounts)
        #if args["login_name"] == accounts:
        #return import_status("ERROR_NONE_PERMISSION", "FANSTI_ERROR", "ERROR_NONE_PERMISSION")

        wts = get_model_return_dict(
            self.sgoods.get_ckmxd_wts_ydno(args["jcno"]))
        if wts:
            ingoodyard = get_model_return_dict(
                self.sgoods.get_ingoodyard(args["jcno"]))
            if ingoodyard:
                wts["is_button"] = 0
                if ingoodyard["submit_time"]:
                    ingoodyard["submit_time"] = ingoodyard[
                        "submit_time"].strftime("%Y/%m/%d %H:%M:%S")
                wts.update(ingoodyard)
            else:
                wts["is_button"] = 1
                wts.update({"submitter": None, "submit_time": None})
        else:
            wts["is_button"] = 1
            wts.update({"submitter": None, "submit_time": None})

        return {"status": 200, "message": "获取出库确认详情成功", "data": wts}
Example #8
0
    def get_in_abo(self):
        args = request.args.to_dict()
        make_log("args", args)
        not_null_params = ['login_name', "jcno"]
        if judge_keys(not_null_params, args.keys()) != 200:
            return judge_keys(not_null_params, args.keys())

        accounts = get_model_return_dict(
            self.sgoods.get_accounts_by_jcno(args["jcno"]))
        make_log("accounts", accounts)
        if args["login_name"] == accounts:
            return import_status("ERROR_NONE_PERMISSION", "FANSTI_ERROR",
                                 "ERROR_NONE_PERMISSION")

        wts = get_model_return_dict(self.sgoods.get_ckmxd_wts(args["jcno"]))
        ckmxd = get_model_return_dict(self.sgoods.get_ckmxd_abo(args["jcno"]))
        if ckmxd:
            if ckmxd["enter_time"]:
                ckmxd["enter_time"] = ckmxd["enter_time"].strftime(
                    "%Y-%m-%d %H:%M:%S")
            wts.update(ckmxd)
        else:
            wts.update({
                "warehouse_address": None,
                "enter_time": None,
                "goods_quantity": None,
                "delivery_unit": None,
                "goods_weight": None,
                "cargo_size": None,
                "client_name": None,
                "remark": None
            })
        return {"status": 200, "message": "获取入库明细成功", "data": wts}
Example #9
0
 def update_wts(self):
     args = request.args.to_dict()
     make_log("args", args)
     not_null_params = ['login_name', "jcno"]
     if judge_keys(not_null_params, args.keys()) != 200:
         return judge_keys(not_null_params, args.keys())
     data = json.loads(request.data)
     accounts = get_model_return_dict(
         self.sgoods.get_accounts_by_jcno(args["jcno"]))
     make_log("accounts", accounts)
     if args["login_name"] == accounts:
         return import_status("ERROR_NONE_PERMISSION", "FANSTI_ERROR",
                              "ERROR_NONE_PERMISSION")
     if "wts_type" not in data.keys():
         return {"status": 405, "status_code": 405001, "message": "参数缺失"}
     if data["wts_type"] == "jd":
         wts = get_model_return_dict(
             self.sgoods.get_id_by_jcno(args["jcno"]))
         wts_id = wts["id"]
         update_wts = self.sgoods.update_wts(
             wts_id, {
                 "jd_time": datetime.datetime.now(),
                 "ydno": wts["ydno"]
             })
         if not update_wts:
             return SYSTEM_ERROR
     return {"status": 200, "message": "交单成功"}
Example #10
0
    def upload_files(self):
        formdata = request.form
        make_log("formdata", formdata)
        files = request.files.get("file")

        import platform
        from Fansti.config import Inforcode
        if platform.system() == "Windows":
            rootdir = Inforcode.WindowsRoot + "/" + str(formdata.get("jcno"))
        else:
            rootdir = Inforcode.LinuxRoot + Inforcode.LinuxImgs
        print(rootdir)
        if not os.path.isdir(rootdir):
            os.mkdir(rootdir)
        rootdir = rootdir + "/" + str(formdata.get("FileType"))
        if not os.path.isdir(rootdir):
            os.mkdir(rootdir)
        if "FileType" not in formdata or "jcno" not in formdata:
            return {"status": 405, "status_code": 405001, "message": "参数缺失"}
        filessuffix = str(files.filename).split(".")[-1]
        index = formdata.get("index", 1)
        # filename = formdata.get("FileType") + str(index) + "." + filessuffix
        filename = formdata.get("FileType") + "_" + str(index) + "_" + str(
            uuid.uuid1()) + "." + filessuffix
        filepath = os.path.join(rootdir, filename)
        print(filepath)
        files.save(filepath)
        response = import_status("SUCCESS_MESSAGE_SAVE_FILE", "OK")
        url = Inforcode.ip + Inforcode.WindowsImag + "/" + str(
            formdata.get("jcno")) + "/" + str(
                formdata.get("FileType")) + "/" + filename

        print(url)
        response["data"] = url
        return response
Example #11
0
 def update_royalty(self):
     args = request.args.to_dict()
     make_log("args", args)
     not_null_params = ['login_name', "jcno"]
     if judge_keys(not_null_params, args.keys()) != 200:
         return judge_keys(not_null_params, args.keys())
     data = json.loads(request.data)
     accounts = get_model_return_dict(
         self.sgoods.get_accounts_by_jcno(args["jcno"]))
     make_log("accounts", accounts)
     if args["login_name"] == accounts:
         return import_status("ERROR_NONE_PERMISSION", "FANSTI_ERROR",
                              "ERROR_NONE_PERMISSION")
     if data["royalty_type"] == 0:
         royaltys = data["packer_list"]
         for row in royaltys:
             update_response = self.sgoods.update_royalty(
                 row["id"], {
                     "packer_confrim": "是",
                     "royalty_rate": row["royalty_rate"]
                 })
             if not update_response:
                 return SYSTEM_ERROR
     elif data["royalty_type"] == 1:
         royaltys = get_model_return_list(
             self.sgoods.get_royalty_by_jcno(args["jcno"]))
         for row in royaltys:
             update_response = self.sgoods.update_royalty(
                 row["id"], {"packer_ok": "是"})
             if not update_response:
                 return SYSTEM_ERROR
     return {"status": 200, "message": "更新成功"}
Example #12
0
 def save_royalty(self):
     args = request.args.to_dict()
     make_log("args", args)
     not_null_params = ['login_name', "jcno"]
     if judge_keys(not_null_params, args.keys()) != 200:
         return judge_keys(not_null_params, args.keys())
     data = json.loads(request.data)
     accounts = get_model_return_dict(
         self.sgoods.get_accounts_by_jcno(args["jcno"]))
     make_log("accounts", accounts)
     user = get_model_return_dict(
         self.susers.get_user_name(args["login_name"]))
     if args["login_name"] == accounts:
         return import_status("ERROR_NONE_PERMISSION", "FANSTI_ERROR",
                              "ERROR_NONE_PERMISSION")
     user_type_location = get_model_return_dict(
         self.susers.get_user_type(args["login_name"]))
     if user_type_location["user_type"] not in ["0", "3", "4"]:
         return {"status": 405, "status_code": 405999, "message": "无权限"}
     packer_leader = data["packer_leader"]
     for row in data["packer_list"]:
         add_model(
             "AIR_HWYS_PACK_ROYALTY", **{
                 "id": str(uuid.uuid1()),
                 "jcno": args["jcno"],
                 "packer_leader": packer_leader,
                 "packer": row["packer"],
                 "royalty_rate": None,
                 "create_date": datetime.datetime.now(),
                 "create_user": user["username"]
             })
     return {"status": 200, "message": "保存成功"}
Example #13
0
 def get_wechat_phone(self, phone):
     id = get_model_return_dict(
         self.susers.get_wechat_login_by_phone(phone))
     make_log("id", id)
     if "id" in id and not id["login_name"]:
         return import_status("ERROR_SOMEONE_BINDING", "FANSTI_ERROR",
                              "ERROR_SOMEONE_BINDING")
     return 200
Example #14
0
    def get_jc_cb(self):
        args = request.args.to_dict()
        make_log("args", args)
        not_null_params = ['login_name', "jcno"]
        if judge_keys(not_null_params, args.keys()) != 200:
            return judge_keys(not_null_params, args.keys())

        accounts = get_model_return_dict(
            self.sgoods.get_accounts_by_jcno(args["jcno"]))
        make_log("accounts", accounts)
        if args["login_name"] == accounts:
            return import_status("ERROR_NONE_PERMISSION", "FANSTI_ERROR",
                                 "ERROR_NONE_PERMISSION")
        wts = get_model_return_dict(self.sgoods.get_control_goods(
            args["jcno"]))
        user = get_model_return_dict(
            self.susers.get_user_type(args["login_name"]))
        user_type = user["user_type"]
        if user_type in ['4', '5', '6', '7', '8', '9']:
            qrd = get_model_return_list(
                self.sgoods.get_jc_qrd_by_loginname(args["jcno"],
                                                    args["login_name"]))
        elif user_type in ['0', '10', '3']:
            qrd = get_model_return_list(self.sgoods.get_jc_qrd(args["jcno"]))
        else:
            qrd = []
        print(qrd)
        cw_lock = get_model_return_dict(self.sgoods.get_cw_lock(args["jcno"]))

        jc_cb = {}
        jc_cb["jcno"] = args["jcno"]
        jc_cb["ydno"] = wts["ydno"]
        jc_cb["company"] = wts["accounts"]
        jc_cb["price"] = []
        if cw_lock and cw_lock["cb_flag"] == "1":
            jc_cb["is_insert"] = 0  # 不可新增
        elif cw_lock and not cw_lock["cb_flag"]:
            jc_cb["is_insert"] = 1
        elif not cw_lock:
            jc_cb["is_insert"] = 1  # 可以新增
        else:
            jc_cb["is_insert"] = 2  # 数据库特殊情况
        if qrd:
            for row in qrd:
                price_dict = {}
                price_dict["curr"] = "%.2f" % float(row["curr"])
                price_dict["amount"] = row["amount"]
                price_dict["doc"] = row["doc"]
                price_dict["id"] = row["id"]
                price_dict["fkdw"] = row["fkdw"]
                if not row["byzd3"]:
                    price_dict["is_update"] = 1  #  可以编辑
                elif row["byzd3"] == "1":
                    price_dict["is_update"] = 0  #  不可以编辑
                else:
                    price_dict["is_update"] = 2  #  数据库异常
                jc_cb["price"].append(price_dict)
        return {"status": 200, "message": "获取成本成功", "data": jc_cb}
Example #15
0
    def get_fyzl(self):
        args = request.args.to_dict()
        make_log("args", args)
        not_null_params = ["fyzl"]
        if judge_keys(not_null_params, args.keys()) != 200:
            return judge_keys(not_null_params, args.keys())

        fkdw = get_model_return_list(self.sgoods.get_fkzl(args["fyzl"]))

        return {"status": 200, "message": "获取费用种类成功", "data": fkdw}
Example #16
0
 def get_packer(self):
     args = request.args.to_dict()
     make_log("args", args)
     not_null_params = ["select_name", "login_name"]
     if judge_keys(not_null_params, args.keys()) != 200:
         return judge_keys(not_null_params, args.keys())
     location = get_model_return_dict(
         self.susers.get_user_type(args["login_name"]))["location"]
     all_packer = get_model_return_list(
         self.susers.get_packer_by_select(args["select_name"], location))
     return {"status": 200, "message": "获取包装人员列表成功", "data": all_packer}
Example #17
0
    def update_qrd(self):
        args = request.args.to_dict()
        make_log("args", args)
        not_null_params = ['login_name', "jcno", "qrd_type"]
        if judge_keys(not_null_params, args.keys()) != 200:
            return judge_keys(not_null_params, args.keys())
        data = json.loads(request.data)
        accounts = get_model_return_dict(
            self.sgoods.get_accounts_by_jcno(args["jcno"]))
        make_log("accounts", accounts)
        user = get_model_return_dict(
            self.susers.get_user_name(args["login_name"]))
        wts = get_model_return_dict(self.sgoods.get_control_goods(
            args["jcno"]))
        if args["login_name"] == accounts:
            return import_status("ERROR_NONE_PERMISSION", "FANSTI_ERROR",
                                 "ERROR_NONE_PERMISSION")
        if args["qrd_type"] == "add":
            add_model(
                "AIR_HWYS_QRD", **{
                    "id": str(uuid.uuid1()),
                    "ydno": wts["ydno"],
                    "jcno": args["jcno"],
                    "doc": data["charge_cname"],
                    "curr": data["curr"],
                    "amount": data["amount"],
                    "fkdw": data["company"],
                    "createtime": datetime.datetime.now(),
                    "byzd1": "1",
                    "byzd2": args["login_name"],
                    "rate": "1",
                    "currcode": "CNY"
                })
        if args["qrd_type"] == "update":
            update_qrd = self.sgoods.update_qrd_by_id(
                data["id"], {
                    "ydno": wts["ydno"],
                    "jcno": args["jcno"],
                    "doc": data["charge_cname"],
                    "curr": data["curr"],
                    "amount": data["amount"],
                    "fkdw": data["company"],
                    "createtime": datetime.datetime.now(),
                    "byzd1": "1",
                    "byzd2": args["login_name"]
                })
            if not update_qrd:
                return SYSTEM_ERROR

        if args["qrd_type"] == "delete":
            delete = self.sgoods.delete_qrd_by_id(data["id"])
            if not delete:
                return SYSTEM_ERROR
        return {"status": 200, "message": "编辑成功"}
Example #18
0
    def get_sbno_list(self):
        args = request.args.to_dict()
        make_log("args", args)
        not_null_params = ["select_name", "page_size", "page_num"]
        if judge_keys(not_null_params, args.keys()) != 200:
            return judge_keys(not_null_params, args.keys())

        sbno_list = get_model_return_list(
            self.sgoods.get_sbno_list_like_ydno_jcno(args["select_name"],
                                                     int(args["page_size"]),
                                                     int(args["page_num"])))
        return {"status": 200, "message": "搜索成功", "data": sbno_list}
Example #19
0
 def get_all(self):
     args = request.args.to_dict()
     make_log("args", args)
     true_args = ["page_size", "page_num"]
     if judge_keys(true_args, args.keys()) != 200:
         return judge_keys(true_args, args.keys())
     all_news = get_model_return_list(
         self.snews.get_all(int(args["page_num"]), int(args["page_size"])))
     make_log("all_news", all_news)
     for news in all_news:
         news["news_time"] = news["news_time"].strftime("%Y-%m-%d %H:%M:%S")
     response = import_status("SUCCESS_GET_NEWS", "OK")
     response["data"] = all_news
     return response
Example #20
0
    def get_abo(self):
        args = request.args.to_dict()
        make_log("args", args)
        true_args = ["id"]
        if judge_keys(true_args, args.keys()) != 200:
            return judge_keys(true_args, args.keys())
        one_news = get_model_return_dict(self.snews.get_message(args["id"]))
        make_log("one_news", one_news)
        one_news["news_time"] = one_news["news_time"].strftime(
            "%Y-%m-%d %H:%M:%S")

        response = import_status("SUCCESS_GET_NEWS", "OK")
        response["data"] = one_news
        return response
Example #21
0
    def get_all_red(self):
        args = request.args.to_dict()
        make_log("args", args)
        true_params = ["login_name"]
        if judge_keys(true_params, args.keys()) != 200:
            return judge_keys(true_params, args.keys())
        all_red = get_model_return_list(
            self.sred.get_my_red_status(args["login_name"]))
        make_log("all_red", all_red)
        response = import_status("SUCCESS_GET_RED", "OK")
        response["data"] = {}
        response["data"]["red_list"] = []
        for red in all_red:
            red_id = red["red_id"]
            red_abo = get_model_return_dict(self.sred.get_red_by_id(red_id))
            make_log("red_abo", red_abo)
            if not red_abo:
                return SYSTEM_ERROR
            red["name"] = red_abo["name"]
            red["price"] = red_abo["price"]
            #red["createtime"] = red["createtime"].strftime("%Y-%m-%d")
            response["data"]["red_list"].append(red_abo)
        response["data"]["red_num"] = len(
            get_model_return_list(
                self.sred.get_my_red_rereceive(args["login_name"])))
        response["data"]["red_list"] = all_red
        my_red = get_model_return_list(
            self.sred.get_my_red_receive(args["login_name"]))
        response["data"]["my_red_num"] = len(my_red)
        all_price = 0
        for red in my_red:
            a_red = get_model_return_dict(
                self.sred.get_red_by_id(red["red_id"]))
            make_log("a_red", a_red)
            red["createtime"] = red["createtime"].strftime("%Y-%m-%d")
            if not a_red:
                return SYSTEM_ERROR
            red["name"] = a_red["name"]
            red["price"] = a_red["price"]
            all_price = all_price + float(a_red["price"])

        response["data"]["my_red_list"] = my_red
        response["data"]["my_red_coin"] = all_price
        response["data"]["month_red"] = []
        month = 1
        while month < 13:
            my_red_month = get_model_return_list(
                self.sred.get_my_red_by_time(
                    datetime.datetime(datetime.datetime.now().year, month, 1,
                                      0, 0, 0),
                    datetime.datetime(
                        datetime.datetime.now().year, month,
                        calendar.monthrange(datetime.datetime.now().year,
                                            month)[1], 23, 59, 59)))
            month_red = {"month": month, "count": len(my_red_month)}
            response["data"]["month_red"].append(month_red)
            month = month + 1
        print(response)
        return response
Example #22
0
 def get_my_info(self):
     args = request.args.to_dict()
     make_log("args", args)
     true_args = ["openid"]
     if judge_keys(true_args, args.keys()) != 200:
         return judge_keys(true_args, args.keys())
     my_info = get_model_return_dict(
         self.susers.get_personal_by_openid(args["openid"]))
     make_log("my_info", my_info)
     for row in my_info.keys():
         if my_info[row]:
             my_info[row] = my_info[row]
     response = import_status("SUCCESS_GET_RETRUE", "OK")
     response["data"] = my_info
     return response
Example #23
0
    def get_invate_list(self):
        args = request.args.to_dict()
        make_log("args", args)
        true_args = ["openid", "page_size", "page_num"]
        if judge_keys(true_args, args.keys()) != 200:
            return judge_keys(true_args, args.keys())
        all_invate = get_model_return_list(
            self.susers.get_invate_by_login_name(args["openid"],
                                                 int(args["page_size"]),
                                                 int(args["page_num"])))
        make_log("all_invate", all_invate)
        for row in all_invate:
            a_invate = get_model_return_dict(
                self.susers.get_invate_abo_by_openid(row["invate_openid"]))
            if a_invate:
                make_log("a_invate", a_invate)
                row["name"] = a_invate["name"]
                #.decode("gbk").encode("utf8")
                row["phone"] = a_invate["phone"]

        phone = get_model_return_dict(
            self.susers.get_wechat_login(args["openid"]))
        make_log("phone", phone)
        if not phone:
            return SYSTEM_ERROR
        phone = phone["phone"]
        response = import_status("SUCCESS_GET_INVATE", "OK")
        top_phone = args.get("top_phone")

        if top_phone:
            phone = top_phone

        if self.check_role(phone):
            response["top_phone"] = phone
            for row in all_invate:
                invate_openid = row["invate_openid"]
                second_all_invate = get_model_return_list(
                    self.susers.get_invate_by_login_name(
                        invate_openid, int(args["page_size"]),
                        int(args["page_num"])))
                make_log("second_all_invate", second_all_invate)
                row["second_invate"] = False
                if second_all_invate:
                    row["second_invate"] = True

        response["data"] = all_invate
        return response
Example #24
0
    def get_jd_list(self):
        args = request.args.to_dict()
        make_log("args", args)
        not_null_params = ['login_name', "jcno"]
        if judge_keys(not_null_params, args.keys()) != 200:
            return judge_keys(not_null_params, args.keys())

        accounts = get_model_return_dict(
            self.sgoods.get_accounts_by_jcno(args["jcno"]))
        make_log("accounts", accounts)
        if args["login_name"] == accounts:
            return import_status("ERROR_NONE_PERMISSION", "FANSTI_ERROR",
                                 "ERROR_NONE_PERMISSION")

        file_list = get_model_return_list(self.sgoods.get_jd_list(
            args["jcno"]))
        return {"status": 200, "message": "获取文件列表成功", "data": file_list}
Example #25
0
 def get_user_message(self):
     args = request.args.to_dict()
     make_log("args", args)
     true_args = ["page_size", "page_num"]
     if judge_keys(true_args, args.keys()) != 200:
         return judge_keys(true_args, args.keys())
     page_size = int(args.get("page_size"))
     page_num = int(args.get("page_num"))
     all_message = get_model_return_list(
         self.susers.get_user_message(page_size, page_num))
     make_log("all_message", all_message)
     response = import_status("SUCCESS_GET_RETRUE", "OK")
     response["data"] = {}
     response["data"]["message_list"] = all_message
     response["data"]["count"] = len(
         get_model_return_list(self.susers.get_all_user_message()))
     return response
Example #26
0
    def update_dzjjd(self):
        args = request.args.to_dict()
        make_log("args", args)
        not_null_params = ['login_name', "jcno"]
        if judge_keys(not_null_params, args.keys()) != 200:
            return judge_keys(not_null_params, args.keys())
        data = json.loads(request.data)
        accounts = get_model_return_dict(
            self.sgoods.get_accounts_by_jcno(args["jcno"]))
        make_log("accounts", accounts)
        if args["login_name"] == accounts:
            return import_status("ERROR_NONE_PERMISSION", "FANSTI_ERROR",
                                 "ERROR_NONE_PERMISSION")
        if "dzjjd_type" not in data.keys():
            return {"status": 405, "status_code": 405001, "message": "参数缺失"}

        if data["dzjjd_type"] == "kfqr":
            dzjjd = get_model_return_dict(
                self.sgoods.get_jjdid_by_jcno(args["jcno"]))
            print(dzjjd)
            user = get_model_return_dict(
                self.susers.get_user_name(args["login_name"]))
            update_dzjjd = self.sgoods.update_dzjjd(
                dzjjd["jjd_id"], {
                    "kf_ry": user["username"],
                    "kfqr_date": datetime.datetime.now(),
                    "kf_bz": data["bz"]
                })
            if not update_dzjjd:
                return SYSTEM_ERROR
        if data["dzjjd_type"] == "hcqr":
            dzjjd = get_model_return_dict(
                self.sgoods.get_jjdid_by_jcno(args["jcno"]))
            user = get_model_return_dict(
                self.susers.get_user_name(args["login_name"]))
            update_dzjjd = self.sgoods.update_dzjjd(
                dzjjd["jjd_id"], {
                    "hc_ry": user["username"],
                    "hcqr_date": datetime.datetime.now(),
                    "hc_bz": data["bz"]
                })
            if not update_dzjjd:
                return SYSTEM_ERROR

        return {"status": 200, "message": str(data["dzjjd_type"]) + "成功"}
Example #27
0
 def get_retrue_num(self):
     args = request.args.to_dict()
     make_log("args", args)
     true_args = ["login_name"]
     if judge_keys(true_args, args.keys()) != 200:
         return judge_keys(true_args, args.keys())
     if not args["login_name"]:
         retrue_num = 0
     all_retrue = get_model_return_list(
         self.sgoods.get_retrue_by_login_name(args["login_name"]))
     make_log("all_retrue", all_retrue)
     if not all_retrue:
         return SYSTEM_ERROR
     retrue_num = len(all_retrue)
     response = import_status("SUCCESS_GET_RETRUE", "OK")
     response["data"] = {}
     response["data"]["retrue_num"] = retrue_num
     return response
Example #28
0
 def new_news(self):
     data = json.loads(request.data)
     make_log("data", data)
     true_args = ["news_title", "news_all", "news_picture", "news_from"]
     if judge_keys(true_args, data.keys()) != 200:
         return judge_keys(true_args, data.keys())
     new_news = add_model(
         "WECHAT_NEWS", **{
             "id": str(uuid.uuid4()),
             "news_title": data["news_title"],
             "news_all": data["news_all"],
             "news_picture": data["news_picture"],
             "news_from": data["news_from"],
             "news_status": "1",
             "news_time": datetime.datetime.now()
         })
     if not new_news:
         return SYSTEM_ERROR
     return import_status("SUCCESS_NEW_NEWS", "OK")
Example #29
0
    def get_binding(self):
        args = request.args.to_dict()
        make_log("args", args)
        true_params = ["openid"]
        if judge_keys(true_params, args.keys()) != 200:
            return judge_keys(true_params, args.keys())
        get_status_by_openid = get_model_return_dict(
            self.susers.get_wechat_login_by_openid(args["openid"]))
        make_log("get_status_by_openid", get_status_by_openid)
        if not get_status_by_openid:
            return SYSTEM_ERROR
        else:
            if not get_status_by_openid["login_name"]:
                user_type = -111
            else:
                user_type = get_model_return_dict(
                    self.susers.get_user_type(
                        get_status_by_openid["login_name"]))["user_type"]

        from Fansti.config.Inforcode import FANSTICONFIG
        import configparser
        cf = configparser.ConfigParser()
        cf.read(FANSTICONFIG)
        phone_list = cf.get("enquiry", "whitelist")
        if str(phone_list) == "[]":
            phone_list = str(phone_list).replace("[", "").replace("]", "")
            phone_list = list(phone_list)
        else:
            phone_list = str(phone_list).replace("[", "").replace("]", "").replace("\"", "") \
                .replace("\'", "").replace("\\", "").replace(" ", "").replace("u", "").split(",")
            print(phone_list)

        response = import_status("ERROR_HAVE_BINDING", "OK")
        response["data"] = {}
        if get_status_by_openid["login_name"] not in phone_list:
            response["data"]["is_show"] = 0
        else:
            response["data"]["is_show"] = 1
        response["data"]["login_name"] = get_status_by_openid["login_name"]
        response["data"]["user_type"] = user_type
        return response
Example #30
0
    def retrue_outhc(self):
        args = request.args.to_dict()
        make_log("args", args)
        not_null_params = ['login_name', "jcno"]
        if judge_keys(not_null_params, args.keys()) != 200:
            return judge_keys(not_null_params, args.keys())
        data = json.loads(request.data)
        accounts = get_model_return_dict(
            self.sgoods.get_accounts_by_jcno(args["jcno"]))
        make_log("accounts", accounts)
        if args["login_name"] == accounts:
            return import_status("ERROR_NONE_PERMISSION", "FANSTI_ERROR",
                                 "ERROR_NONE_PERMISSION")
        if "retrue_type" not in data.keys():
            return {"status": 405, "status_code": 405001, "message": "参数缺失"}
        user = get_model_return_dict(
            self.susers.get_user_name(args["login_name"]))
        print(user)
        wts = get_model_return_dict(self.sgoods.get_control_goods(
            args["jcno"]))
        if data["retrue_type"] == "out":
            add_model(
                "AIR_HWYS_OUTWAREHOUSE", **{
                    "id": str(uuid.uuid1()),
                    "ydno": wts["ydno"],
                    "submitter": user["username"],
                    "submit_time": datetime.datetime.now(),
                    "create_time": datetime.datetime.now()
                })
        if data["retrue_type"] == "hc":
            add_model(
                "AIR_HWYS_INGOODYARD", **{
                    "id": str(uuid.uuid1()),
                    "ydno": wts["ydno"],
                    "submitter": user["username"],
                    "submit_time": datetime.datetime.now(),
                    "create_time": datetime.datetime.now()
                })

        return {"status": 200, "message": "确认成功"}