@@ -228,6 +228,63 @@ def live_goods_create(request): |
||
| 228 | 228 |
}) |
| 229 | 229 |
|
| 230 | 230 |
@logit(res=True) |
| 231 |
+def live_goods_update(request): |
|
| 232 |
+ admin_id = request.POST.get('admin_id', '')
|
|
| 233 |
+ goods_id = request.POST.get('goods_id', '')
|
|
| 234 |
+ price_type = int(request.POST.get('price_type', 1))
|
|
| 235 |
+ price = int(request.POST.get('price', 0))
|
|
| 236 |
+ price2 = int(request.POST.get('price2', 0))
|
|
| 237 |
+ |
|
| 238 |
+ try: |
|
| 239 |
+ administrator = AdministratorInfo.objects.get(admin_id=admin_id, user_status=AdministratorInfo.ACTIVATED, status=True) |
|
| 240 |
+ except AdministratorInfo.DoesNotExist: |
|
| 241 |
+ return response(AdministratorStatusCode.ADMINISTRATOR_NOT_FOUND) |
|
| 242 |
+ |
|
| 243 |
+ |
|
| 244 |
+ goods_info = liveGoodsInfo.objects.get(goods_id=goods_id, status=True) |
|
| 245 |
+ |
|
| 246 |
+ wxcfg = WECHAT.get('MINIAPP', {})
|
|
| 247 |
+ |
|
| 248 |
+ appid = wxcfg.get('appID')
|
|
| 249 |
+ secret = wxcfg.get('appsecret')
|
|
| 250 |
+ token = access_token(appid, secret) |
|
| 251 |
+ |
|
| 252 |
+ media = requests.post(url=('https://api.weixin.qq.com/cgi-bin/media/upload?access_token=' + token + '&type=image'), files={'media': open(settings.MEDIA_ROOT + '/' + goods_info.goods_img_path, 'rb')}).text
|
|
| 253 |
+ media_id = json.loads(media).get('media_id', '')
|
|
| 254 |
+ |
|
| 255 |
+ if media_id == '': |
|
| 256 |
+ return response() |
|
| 257 |
+ |
|
| 258 |
+ data ={
|
|
| 259 |
+ "goodsInfo": {
|
|
| 260 |
+ 'goodsId': goods_info.wx_goods_id, |
|
| 261 |
+ 'name': goods_info.name, |
|
| 262 |
+ 'coverImgUrl': media_id, |
|
| 263 |
+ 'priceType': price_type, |
|
| 264 |
+ 'price': price, |
|
| 265 |
+ 'price2': price2, |
|
| 266 |
+ 'url': 'pages/live/order/order?goods_id=' + goods_id, |
|
| 267 |
+ } |
|
| 268 |
+ } |
|
| 269 |
+ |
|
| 270 |
+ wx_goods = requests.post(url=('https://api.weixin.qq.com/wxaapi/broadcast/goods/update?access_token=' + token), json=data).text
|
|
| 271 |
+ errcode = json.loads(wx_goods).get('errcode', -1)
|
|
| 272 |
+ |
|
| 273 |
+ if errcode != 0: |
|
| 274 |
+ return response(errcode, 'Live Goods Update Fail', u'直播商品库更新失败') |
|
| 275 |
+ |
|
| 276 |
+ goods_info.price_type = price_type |
|
| 277 |
+ goods_info.price = price * 100 |
|
| 278 |
+ goods_info.price2 = price2 * 100 |
|
| 279 |
+ goods_info.coverImgUrl = media_id |
|
| 280 |
+ goods_info.save() |
|
| 281 |
+ |
|
| 282 |
+ |
|
| 283 |
+ return response(200, 'Live Goods Update Success', u'直播商品库更新成功', data={
|
|
| 284 |
+ 'goods': goods_info.admindata, |
|
| 285 |
+ }) |
|
| 286 |
+ |
|
| 287 |
+@logit(res=True) |
|
| 231 | 288 |
def live_goods_audit(request): |
| 232 | 289 |
admin_id = request.POST.get('admin_id', '')
|
| 233 | 290 |
try: |
@@ -259,6 +316,7 @@ def live_goods_audit(request): |
||
| 259 | 316 |
return response(200, 'Live Goods Audit Success', '获取直播商品库审核状态成功') |
| 260 | 317 |
|
| 261 | 318 |
|
| 319 |
+ |
|
| 262 | 320 |
@logit(res=True) |
| 263 | 321 |
def live_goods_delete(request): |
| 264 | 322 |
admin_id = request.POST.get('admin_id', '')
|
@@ -48,6 +48,7 @@ urlpatterns += [ |
||
| 48 | 48 |
# 直播 |
| 49 | 49 |
url(r'^admin/live/goods/list$', admin_views.live_goods_list, name='live_goods_list'), # 直播商品库列表 |
| 50 | 50 |
url(r'^admin/live/goods/create$', admin_views.live_goods_create, name='live_goods_create'), |
| 51 |
+ url(r'^admin/live/goods/update$', admin_views.live_goods_update, name='live_goods_update'), |
|
| 51 | 52 |
url(r'^admin/live/goods/delete$', admin_views.live_goods_delete, name='live_goods_delete'), |
| 52 | 53 |
url(r'^admin/live/goods/audit$', admin_views.live_goods_audit, name='live_goods_audit'), |
| 53 | 54 |
|