def post(self, request, **payload): handle = payload.get('handle') state = payload.get('state') self.info['user_id'] = payload.get('user_id') self.info['area_id'] = request.POST.get('area_id') if handle == 'hhcoin': if state == 'obtain': sql = "SELECT * FROM coin_log WHERE userid = %s AND\ consumeType = '1' AND num != 0 ORDER BY handletime DESC" info = query(sql, param=[self.info['user_id']]) return HttpResponse(0, '查询成功', info) if handle == 'consume': sql = "SELECT * FROM coin_log WHERE userid = %s AND \ consumeType = '0' AND num != 0 ORDER BY handletime DESC" info = query(sql, param=[self.info['user_id']]) return HttpResponse(0, '查询成功', info) if handle == 'all': sql = "SELECT * FROM coin_log WHERE userid = %s AND num != 0 \ ORDER BY handletime DESC" info = query(sql, param=[self.info['user_id']]) return HttpResponse(0, '查询成功', info) if handle == 'allDelivery': return self.getDelivery() if handle == 'campusDelivery': return self.campus() return HttpResponse(-2, '非法路径')
def get(self, request): unionid = request.GET.get('unionid') sql = 'SELECT * FROM h5_luckdraw_log WHERE unionid = %s \ AND create_time BETWEEN %s AND %s' data = query(sql, param=[unionid, self.START_TIME, self.END_TIME]) return HttpResponse(callJson(data))
def get(self, request): name = request.GET.get('store_name') row = request.GET.get('row') page = request.GET.get('page') sql = f"SELECT s.*, \ sum( \ CASE \ WHEN p.upper_shelf IS NULL THEN \ 0 \ ELSE \ p.upper_shelf \ END \ ) iRackNum, \ count(p.id) iTotalNum \ FROM \ store AS s \ LEFT JOIN product AS p ON s.id = p.store_id \ WHERE s.store_name LIKE '%{name}%' \ GROUP BY s.id" info = query(sql) if info['result']: sum_page, new_info = Pagings.paging(info['result'], row=row, page=page) data = {} data['sum_page'] = sum_page data['info'] = new_info info['result'] = data return HttpResponse(callJson(data=info))
def see(self): sql = "SELECT \ c.id as cart_id, \ c.num, \ c.store_id, \ s.id, \ s.stock_name, \ s.img, \ s.product_id, \ s.stock_detail, \ s.upper_shelf, \ s.price, \ s.hehecoin, \ p.user_goods_limit, \ s.stock_num \ FROM \ cart AS c \ LEFT JOIN stock AS s ON c.stock_id = s.id \ LEFT JOIN product AS p ON s.product_id = p.id \ WHERE \ c.userid = %s \ ORDER BY \ c.handletime DESC" info = query(sql, param=[self.info['user_id']]) return HttpResponse(returnJson(0, '查询成功', info))
def see(self): sql = "SELECT checkTime FROM click_card \ WHERE userid = %s AND checkTime LIKE %s" info = query( sql, param=[self.info['user_id'], '%' + self.info['check_time'] + '%']) return HttpResponse(returnJson(0, '打卡成功', info))
def post(self, request, **payload): is_school = int(request.POST.get('is_school')) #0个人 1学校 if is_school == 0: sql = "SELECT * FROM last_ranklist" else: sql = "SELECT * FROM last_school_ranklist" info = query(sql) return HttpResponse(returnJson(0, '查询成功', info))
def post(self, request, **payload): self.params = {} self.params['start_time'] = request.POST.get('start_time') self.params['end_time'] = request.POST.get('end_time') self.params['is_school'] = int(request.POST.get('is_school')) # 0个人 1学校 if self.params['is_school'] == 0: sql = f'''SELECT \ SUM(d.wight) AS weight, \ u.id AS user_id, \ u.wxname, \ u.school_id, \ u.user_img, \ s.school_img \ FROM \ deliver AS d \ LEFT JOIN gzh_user AS g ON g.openid = d.openid \ LEFT JOIN userInfo AS u ON u.unionId = g.unionid \ LEFT JOIN school AS s ON u.school_id = s.id \ WHERE \ u.wxname IS NOT NULL \ AND g.openid NOT IN ('oLKbX1JCYRryfJsXPNvl69kNTXFU','oLKbX1BjDWpeyuVFPGzm9H7szvoo', \ 'oLKbX1CXeWasiulsOR-_CeYnlprk', 'oLKbX1KuMDzJe2e46z0WyLAhkKHQ', \ 'oLKbX1O-HV9pXabfE5BWB6jsMbQY', 'oICg44y-TQLpvENQFvVtTUEqXRT8',\ 'oLKbX1Hc8lNNZmNNQcM0WhvbvnhM','oLKbX1OJgSIZrb2Hxi2nYRnRPpTQ', 'oLKbX1GgjlWc155Qk927f7hHhWv8') \ AND d.create_time \ BETWEEN '{START_TIME}' AND '{END_TIME}' \ GROUP BY \ d.openid \ ORDER BY \ weight DESC \ LIMIT 0, \ 100''' else: sql = f'''SELECT \ SUM(d.wight) AS weight, \ u.id AS user_id, \ u.school_id, \ s.school_name, \ s.school_img \ FROM \ deliver AS d \ LEFT JOIN gzh_user AS g ON g.openid = d.openid \ LEFT JOIN userInfo AS u ON u.unionId = g.unionid \ LEFT JOIN school AS s ON u.school_id = s.id \ WHERE \ u.wxname IS NOT NULL \ AND u.school_id is NOT NULL \ AND d.create_time BETWEEN '{START_TIME}' AND '{END_TIME}' \ GROUP BY \ u.school_id \ ORDER BY \ weight DESC \ LIMIT 0, \ 100''' info = query(sql) return HttpResponse(returnJson(0, '查询成功', info))
def campus(self): sql = "SELECT SUM(d.wight) as wight, s.school_name \ FROM deliver AS d \ LEFT JOIN gzh_user AS g ON d.openid = g.openid \ LEFT JOIN userInfo AS u ON g.unionid = u.unionId \ LEFT JOIN school AS s ON s.id = u.school_id \ LEFT JOIN school_area AS sa ON sa.id = s.area_id \ WHERE u.school_id IS NOT NULL AND sa.id = %s GROUP BY u.school_id" info = query(sql, self.info['area_id']) return HttpResponse(returnJson(0, '查询成功', info))
def get(self, request): page = request.GET.get('page') row = request.GET.get('row') store_id = request.GET.get('store_id', False) #店铺id product_name = request.GET.get('product_name', '') #名字 不传返全部 upper_shelf = request.GET.get('upper_shelf', False) #1上架 0下架, 不传就全部 sql = f"SELECT \ p.id, \ p.store_id, \ p.productName, \ p.productImg, \ p.hehecoin, \ p.minPrice AS price, \ p.user_goods_limit, \ p.remark, \ p.label, \ p.notes, \ upper_shelf, \ s.store_name, \ p.productTypeId AS ziji_id, \ pc.`name` AS ziji_name, \ pc.parentId AS fuji_id, \ pc1.`name` AS fuji_name \ FROM \ product p \ LEFT JOIN proclass pc ON p.productTypeId = pc.id \ LEFT JOIN proclass pc1 ON pc.parentId = pc1.id \ LEFT JOIN store s ON p.store_id = s.id \ WHERE \ p.productName LIKE '%{product_name}%' \ AND p.state = 1 " if upper_shelf: sql = sql + f"AND p.upper_shelf = {upper_shelf} " if store_id: sql = sql + f"AND p.store_id = {store_id} " sql = sql + 'ORDER BY p.create_time DESC' info = query(sql) if info['result']: sum_page, new_info = Pagings.paging(info['result'], row=row, page=page) data = {} data['sum_page'] = sum_page data['info'] = new_info info['result'] = data return HttpResponse(callJson(data=info))
def post(self, request, **payload): handle = payload.get('handle') self.info['user_id'] = payload.get('user_id') self.info['school_id'] = request.POST.get('school_id') self.info['school_name'] = request.POST.get('school_name') if handle == 'see': sql = "SELECT * FROM school WHERE school_name LIKE %s" self.info['school_name'] = '%' + self.info['school_name'] + '%' info = query(sql, param=[self.info['school_name']]) return HttpResponse(returnJson(0, '查询成功', info)) if handle == 'update': mysql = Mysql() sql = "SELECT hhcoin, school_id FROM userInfo WHERE id = %s FOR UPDATE" info = mysql.getOne(sql, param=[self.info['user_id']]) #已经绑定有 扣除盒盒币 if info.get('school_id'): if int(info.get('hhcoin')) >= 1000: up_sql, log_sql = Type_Log.coin_handle( user_id=self.info['user_id'], handle=0, num=1000, asd=0) mysql.update(up_sql) mysql.insertOne(log_sql) sql = "UPDATE userInfo SET school_id = %s WHERE id = %s" mysql.update( sql, param=[self.info['shcool_id'], self.info['user_id']]) mysql.dispose() return HttpResponse(returnJson(0, '绑定成功')) #盒盒币不足 返回2 else: return HttpResponse(returnJson(-2, '盒盒币不足')) #首次绑定 else: sql = "UPDATE userInfo SET school_id = %s WHERE id = %s" suc = mysql.update( sql, param=[self.info['school_id'], self.info['user_id']]) mysql.dispose() return HttpResponse(returnJson(0, '绑定成功')) return HttpResponse(returnJson(-2, '非法路径'))
def post(self, request, **payload): handle = payload.get('handle') user_id = payload.get('user_id') name = request.POST.get('name') phone = request.POST.get('phone') address = request.POST.get('address') address_id = request.POST.get('address_id') if handle == 'add': mysql = Mysql() sql = "INSERT INTO user_address SET user_id=%s, `name`=%s, \ phone=%s, address=%s" add_id = mysql.insertOne(sql, param=[user_id, name, phone, address]) add_id = {'add_id': add_id} mysql.dispose() return HttpResponse(returnJson(0, '新增地址成功', add_id)) if handle == 'get': sql = "SELECT * FROM user_address WHERE user_id=%s" info = query(sql, param=[user_id]) return HttpResponse(returnJson(0, '查询成功', info)) if handle == 'edit': mysql = Mysql() sql = "UPDATE user_address SET user_id=%s, `name`=%s, \ phone=%s, address=%s WHERE id=%s" mysql.update(sql, param=[user_id, name, phone, address, address_id]) mysql.dispose() return HttpResponse(returnJson(0, '编辑地址成功')) if handle == 'del': mysql = Mysql() sql = "DELETE FROM user_address WHERE id=%s" suc = mysql.delete(sql, param=[address_id]) mysql.dispose() return HttpResponse(returnJson(0, '删除成功'))
def post(self, request, **payload): sql = "SELECT SUM(wight) as wight FROM deliver" info = query(sql) return HttpResponse(returnJson(0, '查询成功', info))
def log(self): sql = "SELECT * FROM balance_towx WHERE user_id = %s ORDER BY create_time DESC" info = query(sql, param=[self.info['user_id']]) return HttpResponse(returnJson(0, '查询成功', info))
def selMerList(self): sql = "SELECT * FROM merchant WHERE \ mer_type = %s ORDER BY mer_hot DESC" info = query(sql, param=[self.params['mer_type']]) return HttpResponse(returnJson(0, '查询成功', info))
def get(self, request): store_id = request.GET.get('store_id') sql = "SELECT * FROM product WHERE store_id = %s" info = query(sql, param=[store_id]) return HttpResponse(returnJson(0, '查询成功', info))
def selHotMer(self): info = query("SELECT * FROM merchant ORDER BY mer_hot DESC LIMIT 3") return HttpResponse(returnJson(0, '查询成功', info))
def post(self, request, **payload): handle = payload.get('handle') self.info['order_num'] = request.POST.get('order_num') self.info['row'] = request.POST.get('row') self.info['page'] = request.POST.get('page') self.info['order_type'] = request.POST.get('order_type') self.info['as_type'] = request.POST.get('as_type') # 退货0,换货1 self.info['order_state'] = request.POST.get('order_state') #订单状态 self.info['why'] = request.POST.get('why') #补充说明 #下单 self.info['user_id'] = payload.get('user_id') #用户id self.info['sendTime'] = request.POST.get('send_time') #送货时间 self.info['address'] = request.POST.get('address') #收货地址 self.info['phone'] = request.POST.get('phone') #手机号码 self.info['remark'] = request.POST.get('remark') #备注 self.info['Consignee'] = request.POST.get('consignee') #收货人 self.info['order_num'] = getOrderNum('ShopOrder') #订单编号 self.info['freight'] = request.POST.get('freight') #运费状态,为0则运费为3,否则运费为0 self.info['stock_list'] = request.POST.get('stock_list') #库存列表 传列表套对象[{stock_id:1,num:1, store_id:1},{stock_id:1,num:1, store_id:1}] cache_name = 'order-' + self.info['order_num'] if handle == 'confirm': mysql = Mysql() sql = 'UPDATE orders SET state = %s WHERE orderNum = %s' mysql.update(sql, param=[4, self.info['order_num']]) mysql.dispose() return HttpResponse(returnJson(0, '确认成功')) if handle == 'allOrders': page, row = Pagings.mysqlPagings(self.info['page'], self.info['row']) sql = "SELECT orderNum, balance, wxMoney, state \ FROM orders WHERE createUser = %s \ ORDER BY createTime DESC limit %s, %s" info = query(sql, param=[self.info['user_id'], page, row]) data = self.orderDeatil(info) return HttpResponse(returnJson(0, '查询成功', data)) if handle == 'typeOrder': page, row = Pagings.mysqlPagings(self.info['page'], self.info['row']) sql = "SELECT orderNum, orderMoney, heheCoin, \ wxMoney, balance, state FROM orders \ WHERE createUser = %s AND state = %s \ ORDER BY createTime DESC limit %s, %s" info = query(sql, param=[self.info['user_id'], self.info['order_type'], page, row]) data = self.orderDeatil(info) return HttpResponse(returnJson(0, '查询成功', data)) if handle == 'cancel': return self.cancel() if handle == 'placeOrder': self.info['stock_list'] = json.loads(request.POST.get('stock_list')) return self.placeOrder() if handle == 'cancelAsOrder': mysql = Mysql() sql = "SELECT order_state FROM as_orders WHERE order_id = %s" state = mysql.getOne(sql, param=[self.info['order_num']]) sql = "UPDATE orders SET state = %s WHERE orderNum = %s" mysql.update(sql, param=[state.get('order_state'), self.info['order_num']]) sql = "DELETE FROM as_orders WHERE order_id = %s" mysql.delete(sql, param=[self.info['order_num']]) mysql.dispose() return HttpResponse(returnJson(0, '取消售后订单成功')) if handle == 'selAsOrder': sql = "SELECT * FROM as_orders WHERE order_id=%s" info = query(sql, param=[self.info['order_num']]) return HttpResponse(returnJson(0, '查询成功', info)) if handle == 'upAsOrder': mysql = Mysql() sql = 'UPDATE orders SET state="3" WHERE orderNum = %s' mysql.update(sql, param=[self.info['order_num']]) sql = "insert into as_orders SET order_id=%s, type=%s, \ why=%s, isCheck=0, create_time=NOW(), order_state=%s" mysql.insertOne(sql, param=[ self.info['order_num'], self.info['as_type'], self.info['way'], self.info['order_state']]) mysql.dispose() return HttpResponse(returnJson(0, '提交售后成功')) return HttpResponse(returnJson(-2, '非法路径'))
def selRandMer(self): info = query("SELECT * FROM merchant ORDER BY RAND() LIMIT 3") return HttpResponse(returnJson(0, '查询成功', info))
def post(self, request, **payload): try: user_id = payload.get('user_id') handle_type = request.POST.get('handle_type') #查看 if handle_type == 'see': sql = "SELECT * FROM starry_market" data = query(sql) return HttpResponse(callJson(data)) #购买 if handle_type == 'buy': patch_id = int(request.POST.get('patch_id')) mysql = Mysql() sql = "SELECT * FROM starry_market WHERE id = %s FOR UPDATE" path_info = mysql.getOne(sql, param=[patch_id]) if path_info.get('number') <= 0: mysql.dispose() return JsonResponse({'ret': -2, 'msg': '商品数量不足'}) need_hhcoin = path_info.get('hhcoin') sql = "SELECT * FROM userInfo WHERE id = %s FOR UPDATE" user_info = mysql.getOne(sql, param=[user_id]) if user_info.get('hhcoin') < need_hhcoin: mysql.dispose() return JsonResponse({'ret': -2, 'msg': '盒盒币不足'}) up_sql, log_sql = Type_Log.coin_handle(user_id, 15, need_hhcoin, 0) mysql.update(up_sql) mysql.insertOne(log_sql) up_sql, log_sql = starryMarketLog(user_id, patch_id, NUMBER_DICT[patch_id], need_hhcoin, 0, 1, mysql) mysql.update(up_sql) mysql.insertOne(log_sql) mysql.dispose() getPatch(user_id, [patch_id], 10, 1) return JsonResponse({'ret': 0, 'msg': '购买成功'}) #出售 if handle_type == 'sell': patch_id = int(request.POST.get('patch_id')) numbes = int(request.POST.get('numbes')) print('patchid') print(patch_id) print('出售数量') print(numbes) if numbes <= 0: return JsonResponse({'ret': -2, 'msg': '网络繁忙'}) mysql = Mysql() sql = "SELECT * FROM starry_market WHERE id = %s FOR UPDATE" path_info = mysql.getOne(sql, param=[patch_id]) sql = f"SELECT * FROM user_star_sign WHERE {NUMBER_DICT[patch_id]} >= {numbes} AND user_id = {user_id}" user_path = mysql.getOne(sql) if not user_path: mysql.dispose() return JsonResponse({'ret': -2, 'msg': '用户碎片不足'}) sql = "SELECT * FROM userInfo WHERE id = %s FOR UPDATE" user_info = mysql.getOne(sql, param=[user_id]) up_sql, log_sql = Type_Log.coin_handle( user_id, 15, PATCH_SELL_MONEY[patch_id], 1) mysql.update(up_sql) mysql.insertOne(log_sql) up_sql, log_sql = starryMarketLog(user_id, patch_id, NUMBER_DICT[patch_id], PATCH_SELL_MONEY[patch_id], 1, numbes, mysql) mysql.update(up_sql) mysql.insertOne(log_sql) mysql.dispose() getPatch(user_id, [patch_id], 10, 0) return JsonResponse({'ret': 0, 'msg': '出售成功'}) #查看日志 if handle_type == 'log': sql = "SELECT * FROM starry_market_log WHERE user_id = %s" data = query(sql, param=[user_id]) return HttpResponse(callJson(data)) except Exception as e: erroLog(e) return JsonResponse({'ret': -2, 'msg': '网络错误'})
def post(self, request, **payload): handle = payload.get('handle') #最新上架 if handle == "newShop": sql = "SELECT id, productName, productImg, hehecoin, minPrice, maxPrice, label \ FROM product WHERE upper_shelf = 1 ORDER BY create_time DESC LIMIT 0,6" return HttpResponse(returnJson(0, '查询成功', query(sql))) #热门推荐 if handle == "hotShop": sql = "SELECT id, productName, productImg, hehecoin, minPrice, maxPrice, label \ FROM product WHERE label = 1 AND upper_shelf = 1" return HttpResponse(returnJson(0, '查询成功', query(sql))) #搜索商品 if handle == "selShop": stock_name = request.GET.get('pro_name') sql = "SELECT * FROM product WHERE upper_shelf = 1 \ AND state = 1 AND productName LIKE %s" return HttpResponse( returnJson(0, '查询成功', query(sql, params=['%' + stock_name + '%']))) #搜索书籍 if handle == "selBook": book_name = request.POST.get('book_name') mysql = Mysql() sql = "SELECT id FROM proclass WHERE parentId = %s" pro_class = mysql.getAll(sql, param=[BOOK_ID]) type_str = '' type_str = ",".join([str(i.get('id')) for i in pro_class]) sql = "SELECT * FROM product WHERE productTypeId IN (%s) AND \ productName LIKE %s AND upper_shelf = 1 AND state = 1" data = mysql.getAll(sql, param=[type_str, '%' + book_name + '%']) mysql.dispose() return HttpResponse( returnJson( 0, '查询成功', query(sql, params=[type_str, '%' + book_name + '%']))) #获取商品分类 if handle == "shopClass": parent_id = request.POST.get('parent_id') sql = "SELECT * FROM proclass WHERE parentId = %s AND state = 1" return HttpResponse( returnJson(0, '查询成功', query(sql, param=[parent_id]))) #商品列表 if handle == "shopList": pro_type = request.POST.get('pro_type') sql = "SELECT * FROM product WHERE productTypeId \ = %s AND upper_shelf = 1" return HttpResponse( returnJson(0, '查询成功', query(sql, param=[pro_type]))) #商品详情(从商品列表点击跳到库存商品) if handle == "shopDetail": pro_id = request.POST.get('pro_id') user_id = payload.get('user_id') #user_id = request.session.get('user_id') info = {} mysql = Mysql() sql = "SELECT p.*,t.* FROM product p LEFT JOIN tbHold t ON \ CONCAT('product_1909_',p.id)=t.sHoldKey AND t.iUserId = %s \ WHERE p.id = %s AND p.upper_shelf = 1" info["product"] = mysql.getOne(sql, param=[user_id, pro_id]) sql = "SELECT s.*, p.remark FROM stock s \ LEFT JOIN product p ON s.product_id = p.id \ WHERE \ s.product_id = %s \ AND s.upper_shelf = 1 \ AND s.state = 1 \ AND p.upper_shelf = 1" info["stock"] = mysql.getAll(sql, param=[pro_id]) mysql.dispose() return HttpResponse(returnJson(0, '查询成功', info)) else: return HttpResponse(returnJson(-2, '非法路径'))
def post(self, request, **payload): sql = "SELECT mchState, address, addremark, jd, wd, zhi_weight, shu_weight, `Repair` \ FROM machine WHERE (jd AND wd) IS NOT NULL AND (jd AND wd) != ''" info = query(sql) return HttpResponse(returnJson(0, '查询成功', info))
def get(self, request, **payload): user_id = payload.get('user_id') sql = "SELECT * FROM star_sign_log WHERE user_id = %s" data = query(sql, param=[user_id]) return HttpResponse(callJson(data))
def post(self, request, **payload): banner_path = request.POST.get('banner_path') sql = "SELECT * FROM banner WHERE banner_path = %s" info = query(sql, param=[banner_path]) return HttpResponse(returnJson(0, '查询成功', info))