|
@@ -2,6 +2,10 @@ package com.oqpo.api.service.stinfo;
|
2
|
2
|
|
3
|
3
|
|
4
|
4
|
import com.oqpo.api.client.oqlink.OqlinkClient;
|
|
5
|
+import com.oqpo.api.client.oqlink.dto.OqScmMenuModel;
|
|
6
|
+import com.oqpo.api.client.oqlink.dto.OqScmStorePriceChangeReqModel;
|
|
7
|
+import com.oqpo.api.client.oqlink.dto.OqScmStorePriceChangeResModel;
|
|
8
|
+import com.oqpo.api.client.oqlink.util.HmacUtil;
|
5
|
9
|
import com.oqpo.api.entity.CodeEntity;
|
6
|
10
|
import com.oqpo.api.entity.oper.FileEntity;
|
7
|
11
|
import com.oqpo.api.entity.oper.UserMngEntity;
|
|
@@ -12,8 +16,10 @@ import com.oqpo.api.mapper.FileMapper;
|
12
|
16
|
import com.oqpo.api.mapper.oper.UserMngMapper;
|
13
|
17
|
import com.oqpo.api.mapper.stinfo.ItemMapper;
|
14
|
18
|
import com.oqpo.api.mapper.stinfo.ItemUnitMapper;
|
|
19
|
+import com.oqpo.api.mapper.stinfo.StoreBaseInfoMapper;
|
15
|
20
|
import com.oqpo.api.mapper.stinfo.StoreItemUnitMapper;
|
16
|
21
|
import com.oqpo.api.service.CommonService;
|
|
22
|
+import com.oqpo.api.util.StringUtil;
|
17
|
23
|
import com.oqpo.api.web.dto.request.GridRequest;
|
18
|
24
|
import com.oqpo.api.web.dto.request.stinfo.item.DelItemInfolRequest;
|
19
|
25
|
import com.oqpo.api.web.dto.request.stinfo.item.SaveItemClassMngInfolRequest;
|
|
@@ -46,9 +52,15 @@ public class ItemUnitService extends CommonService {
|
46
|
52
|
@Autowired
|
47
|
53
|
private ItemUnitMapper itemUnitMapper;
|
48
|
54
|
|
|
55
|
+ @Autowired
|
|
56
|
+ private ItemMapper itemMapper;
|
|
57
|
+
|
49
|
58
|
@Autowired
|
50
|
59
|
private StoreItemUnitMapper storeItemUnitMapper;
|
51
|
60
|
|
|
61
|
+ @Autowired
|
|
62
|
+ private StoreBaseInfoMapper storeBaseInfoMapper;
|
|
63
|
+
|
52
|
64
|
@Autowired
|
53
|
65
|
private FileMapper fileMapper;
|
54
|
66
|
|
|
@@ -332,7 +344,6 @@ public class ItemUnitService extends CommonService {
|
332
|
344
|
StoreItemUnitEntity entity = new StoreItemUnitEntity();
|
333
|
345
|
entity.setBrandId(saveStoreItemUnitInfolRequest.getBrandId());
|
334
|
346
|
entity.setStoreId(saveStoreItemUnitInfolRequest.getStoreId());
|
335
|
|
-
|
336
|
347
|
entity.setContSttDt(saveStoreItemUnitInfolRequest.getContSttDt().replaceAll("\\.", ""));
|
337
|
348
|
entity.setContEndDt(saveStoreItemUnitInfolRequest.getContEndDt().replaceAll("\\.", ""));
|
338
|
349
|
|
|
@@ -409,10 +420,38 @@ public class ItemUnitService extends CommonService {
|
409
|
420
|
storeItemUnitMapper.updateStoreItemUnitChgContEnd(entity.getBrandId(), entity.getStoreId(), entity.getContSttDt(), entity.getContEndDt());
|
410
|
421
|
}
|
411
|
422
|
|
412
|
|
- //selectStoreItemUnitEndDtInfo , updateStoreItemUnitChgContEnd
|
413
|
|
-
|
414
|
423
|
// TODO 오더퀸 연동
|
415
|
|
-
|
|
424
|
+ StoreBaseInfoEntity storeInfo = storeBaseInfoMapper.selectStoreInfo(saveStoreItemUnitInfolRequest.getBrandId(), saveStoreItemUnitInfolRequest.getStoreId());
|
|
425
|
+ if (!StringUtil.isEmpty(storeInfo.getOqBrandId()) && !StringUtil.isEmpty(storeInfo.getOqStoreId())) {
|
|
426
|
+
|
|
427
|
+ List<OqScmMenuModel> menuList = new ArrayList<>();
|
|
428
|
+ // 등록 리스트 처리
|
|
429
|
+ for (StoreItemUnitEntity item : gridInsertData) {
|
|
430
|
+ OqScmMenuModel menu = toOqScmMenuModel(saveStoreItemUnitInfolRequest, item);
|
|
431
|
+ menuList.add(menu);
|
|
432
|
+ }
|
|
433
|
+ // 수정 리스트 처리
|
|
434
|
+ for (StoreItemUnitEntity item : gridUpdateData) {
|
|
435
|
+ OqScmMenuModel menu = toOqScmMenuModel(saveStoreItemUnitInfolRequest, item);
|
|
436
|
+ menuList.add(menu);
|
|
437
|
+ }
|
|
438
|
+ OqScmStorePriceChangeReqModel req = new OqScmStorePriceChangeReqModel();
|
|
439
|
+ req.setBrandCd(storeInfo.getOqBrandId());
|
|
440
|
+ req.setStoreNo(storeInfo.getOqStoreId());
|
|
441
|
+ req.setMenuList(menuList);
|
|
442
|
+ OqScmStorePriceChangeResModel res = oqlinkClient.changeScmStorePrice(HmacUtil.makeHmacValue4OqLink(req), req);
|
|
443
|
+
|
|
444
|
+ if (SystemMessageCode.BO_IF_OK.getId() == Integer.parseInt(res.getCode())) {
|
|
445
|
+ // 오더퀸 메뉴코드 업데이트
|
|
446
|
+ ItemEntity itemEntity = null;
|
|
447
|
+ for (OqScmMenuModel item : res.getMenuList()) {
|
|
448
|
+ itemEntity = toItemEntity4OqLink(item);
|
|
449
|
+ itemMapper.updateItemInfo4OqLinik(userId, itemEntity);
|
|
450
|
+ }
|
|
451
|
+ } else {
|
|
452
|
+ throw new GlobalException(SystemMessageCode.valueOf(Integer.valueOf(res.getCode())));
|
|
453
|
+ }
|
|
454
|
+ }
|
416
|
455
|
} catch (GlobalException e) {
|
417
|
456
|
e.getStackTrace();
|
418
|
457
|
throw new GlobalException(e.getSystemMessageCode());
|
|
@@ -422,4 +461,20 @@ public class ItemUnitService extends CommonService {
|
422
|
461
|
}
|
423
|
462
|
}
|
424
|
463
|
|
|
464
|
+ private ItemEntity toItemEntity4OqLink(OqScmMenuModel item) {
|
|
465
|
+ ItemEntity itemEntity = new ItemEntity();
|
|
466
|
+ itemEntity.setItemId(item.getItemId());
|
|
467
|
+ itemEntity.setOqMenuCd(item.getMenuCd());
|
|
468
|
+ return itemEntity;
|
|
469
|
+ }
|
|
470
|
+
|
|
471
|
+ private OqScmMenuModel toOqScmMenuModel(SaveStoreItemUnitInfolRequest saveStoreItemUnitInfolRequest, StoreItemUnitEntity item) throws Exception {
|
|
472
|
+ ItemEntity itemInfo = itemMapper.selectItemInfo(saveStoreItemUnitInfolRequest.getBrandId(), item.getItemId());
|
|
473
|
+ OqScmMenuModel menu = new OqScmMenuModel();
|
|
474
|
+ menu.setItemId(item.getItemId()); // 품목아이디
|
|
475
|
+ menu.setSupplyPrice(item.getUnitAmt().intValue()); // 단가금액
|
|
476
|
+ menu.setMenuCd(itemInfo == null || StringUtil.isEmpty(itemInfo.getOqMenuCd()) ? null : itemInfo.getOqMenuCd());
|
|
477
|
+ return menu;
|
|
478
|
+ }
|
|
479
|
+
|
425
|
480
|
}
|