def _post(self): if self.admin.level < 2: return self.render_html('admin/error.html', msg="no permission!") express_name = self.get_argument("express_name") express_no = self.get_argument("express_no") order_id = self.get_argument("order_id") if not all([express_name, express_no, order_id]): return self.render_html('admin/error.html', msg="fields is required!") ugs = UserGoodsService(UserGoods) ug = ugs.get(id=order_id) deliver_info = DeliverInfo() deliver_info.user_goods_id = order_id deliver_info.user_id = ug.user_id deliver_info.goods_id = ug.goods_id deliver_info.goods_name = ug.goods_name deliver_info.number = ug.number deliver_info.express_name = express_name deliver_info.express_no = express_no deliver_info.deliver_address_id = ug.deliver_address_id deliver_info.status = 0 ugs.deliver(deliver_info, {'status': 2}, **{'id': order_id}) self.redirect('/admin/delivered_list')
def _get(self): order_id = int(self.get_argument('order_id', 0)) if not order_id: return self.render_html('app/alert.html', msg=u"请选择订单!") user_goods_service = UserGoodsService(UserGoods) order = user_goods_service.get(id=order_id) if not order: return self.render_html('app/alert.html', msg=u"该订单不存在!") info = {} info['order_id'] = order.id info['code'] = order.code info['user_id'] = order.user_id info['goods_id'] = order.goods_id info['goods_name'] = order.goods_name info['number'] = order.number info['feed_day'] = order.feed_day info['deliver_date'] = str(order.deliver_date).split()[0] info['create_date'] = order.create_date info['status'] = order.status udas = UserDeliverAddressService(UserDeliverAddress) address = udas.get(id=order.deliver_address_id, status=1) or udas.get( id=order.deliver_address_id, status=0) info['name'] = address.name info['phone'] = address.phone info['address'] = u'{0}{1}'.format(address.region_name, address.address) info['zip_code'] = address.zip_code goods = GoodsService(GoodsInfo).get(id=order.goods_id) info['type'] = goods.type info['avatar'] = '' if goods.avatar_id: avatar = AvatarService(AvatarInfo).get(id=goods.avatar_id) info['avatar'] = os.path.join(settings.AVATAR_URL, avatar.filename) if avatar else '' info['goods_price'] = order.goods_price info['amount'] = 0 info['pay_date'] = '' info['discount'] = 0 pay = UserPayService(UserPay).get(user_goods_id=order_id) if pay: info['amount'] = pay.amount info['pay_date'] = pay.create_date info['discount'] = order.goods_price * order.number - pay.amount info['express_name'] = '' info['express_no'] = '' if order.status != 1: di = DeliverService(DeliverInfo).get(user_goods_id=order_id) if di: info['deliver_date'] = str(di.create_date).split()[0] info['express_name'] = di.express_name info['express_no'] = di.express_no ftext, stext, after = self.get_text(order, info['deliver_date'], goods.type) info['ftext'] = ftext info['stext'] = stext info['after'] = after return self.render_html('app/order_detail.html', **info)