package com.fdkankan.platform.user.strategy.impl;


import com.fdkankan.platform.user.strategy.OrderItemStrategy;
import com.fdkankan.platform.user.vo.ResponseOrderItem;

/**
 * 购买商业会员/月
 */
//@Component
public class CommerceMonthOrderImpl implements OrderItemStrategy {

//    @Autowired
//    private ICameraSpaceService cameraSpaceService;
//    @Autowired
//    private IUserRoleService userRoleService;
//    @Autowired
//    private IUserService userService;
//    @Autowired
//    private SceneFeignClient sceneService;

    @Override
    public void handleOrderItem(Long userId, ResponseOrderItem orderItem) throws Exception {
//        if (!getType().equals(orderItem.getSkuSn())){
//            return;
//        }
//        UserRole dbUserRole = userRoleService.findByUserId(userId);
//        if (dbUserRole.getRoleId() < 3){
//            dbUserRole.setRoleId(3L);
//            userRoleService.update(dbUserRole);
//        }
//        CameraSpaceEntity dbEntity = cameraSpaceService.findDeadlineSpaceByUserId(userId);
//        if (dbEntity == null){
//            String expansion = Constant.DEADLINE_SPACE_VALUE_YEAR;
//            DateTime date = new DateTime().plusMonths(orderItem.getGoodsCount());
//            CameraSpaceEntity userSpace = new CameraSpaceEntity();
//            userSpace.setUserId(userId);
//            userSpace.setSpace(new BigInteger(expansion));
//            userSpace.setSpaceType(1);
//            userSpace.setSpaceStartTime(new Date());
//            userSpace.setSpaceEndTime(date.toDate());
//            cameraSpaceService.save(userSpace);
//            userService.updateUserTotalSpace(userId);
//            sceneService.unlockBeyondSpaceScenes(new BigInteger(Constant.DEADLINE_SPACE_VALUE_YEAR), userId);
//        }else{
//            DateTime oldEndTime = new DateTime(dbEntity.getSpaceEndTime().getTime());
//            DateTime newEndTime = oldEndTime.plusMonths(orderItem.getGoodsCount());
//            dbEntity.setSpaceEndTime(newEndTime.toDate());
//            cameraSpaceService.update(dbEntity);
//        }
    }

    @Override
    public String getType() {
        return "U15604134903250001";
    }
}
