package kr.wisestone.owl.service.impl;
|
|
import com.google.common.collect.Lists;
|
import kr.wisestone.owl.constant.Constants;
|
import kr.wisestone.owl.domain.Payment;
|
import kr.wisestone.owl.domain.ReservationDisableUser;
|
import kr.wisestone.owl.domain.User;
|
import kr.wisestone.owl.repository.ReservationDisableUserRepository;
|
import kr.wisestone.owl.service.PaymentService;
|
import kr.wisestone.owl.service.ReservationDisableUserService;
|
import kr.wisestone.owl.service.UserService;
|
import kr.wisestone.owl.util.CommonUtil;
|
import kr.wisestone.owl.util.ConvertUtil;
|
import kr.wisestone.owl.util.MapUtil;
|
import kr.wisestone.owl.vo.UserVo;
|
import kr.wisestone.owl.web.form.PaymentForm;
|
import org.apache.commons.lang3.StringUtils;
|
import org.slf4j.Logger;
|
import org.slf4j.LoggerFactory;
|
import org.springframework.beans.factory.annotation.Autowired;
|
import org.springframework.data.jpa.repository.JpaRepository;
|
import org.springframework.stereotype.Service;
|
import org.springframework.transaction.annotation.Transactional;
|
import java.util.List;
|
import java.util.Map;
|
|
@Service
|
public class ReservationDisableUserServiceImpl extends AbstractServiceImpl<ReservationDisableUser, Long, JpaRepository<ReservationDisableUser, Long>> implements ReservationDisableUserService {
|
|
private static final Logger log = LoggerFactory.getLogger(ReservationDisableUserServiceImpl.class);
|
|
@Autowired
|
private ReservationDisableUserRepository reservationDisableUserRepository;
|
|
@Autowired
|
private PaymentService paymentService;
|
|
@Autowired
|
private UserService userService;
|
|
@Override
|
protected JpaRepository<ReservationDisableUser, Long> getRepository() {
|
return this.reservationDisableUserRepository;
|
}
|
|
// 참여 대기 사용자 예약
|
@Override
|
@Transactional
|
public void add(PaymentForm paymentForm, Payment payment) {
|
ReservationDisableUser reservationDisableUser = new ReservationDisableUser();
|
reservationDisableUser.setPayment(payment);
|
reservationDisableUser.setUserIds(paymentForm.getReservationDisableUserIds());
|
|
this.reservationDisableUserRepository.saveAndFlush(reservationDisableUser);
|
}
|
|
// 참여 대기 사용자 목록 조회
|
@Override
|
@Transactional(readOnly = true)
|
public void findReservationDisableUser(Map<String, Object> params, Map<String, Object> resJsonData) {
|
Payment payment = this.paymentService.getPayment(MapUtil.getLong(params, "id"));
|
ReservationDisableUser reservationDisableUser = payment.getReservationDisableUser();
|
List<UserVo> userVos = Lists.newArrayList();
|
|
if (reservationDisableUser != null) {
|
String [] userIds = reservationDisableUser.getUserIds().split(",");
|
|
for (String userId : userIds) {
|
if (!StringUtils.isEmpty(userId)) {
|
User user = this.userService.getUser(Long.valueOf(userId));
|
UserVo userVo = ConvertUtil.copyProperties(user, UserVo.class);
|
userVo.setByName(userVo.getName() + "(" + CommonUtil.decryptAES128(userVo.getAccount()) + ")");
|
userVo.setAccount(CommonUtil.decryptAES128(userVo.getAccount()));
|
userVos.add(userVo);
|
}
|
}
|
}
|
|
resJsonData.put(Constants.RES_KEY_CONTENTS, userVos);
|
}
|
}
|