| | |
| | | import cn.hutool.core.lang.PatternPool; |
| | | import cn.hutool.core.lang.Validator; |
| | | import cn.hutool.core.util.ReUtil; |
| | | import com.doumee.core.constants.ResponseStatus; |
| | | import com.doumee.core.exception.BusinessException; |
| | | import com.doumee.core.haikang.model.HKConstants; |
| | | import com.doumee.core.haikang.model.param.BaseResponse; |
| | | import com.doumee.core.haikang.model.param.request.CardBingdingRequest; |
| | | import com.doumee.core.haikang.model.param.request.CardDeletionRequest; |
| | | import com.doumee.core.haikang.model.param.request.CardInfoRequest; |
| | | import com.doumee.core.haikang.model.param.request.CardLossRequest; |
| | | import com.doumee.core.haikang.service.HKService; |
| | | import com.doumee.core.model.LoginUserInfo; |
| | | import com.doumee.core.model.PageData; |
| | | import com.doumee.core.model.PageWrap; |
| | | import com.doumee.core.utils.Constants; |
| | | import com.doumee.core.utils.DateUtil; |
| | | import com.doumee.core.utils.Utils; |
| | | import com.doumee.dao.admin.response.CarEventDTO; |
| | | import com.doumee.dao.business.*; |
| | |
| | | import com.baomidou.mybatisplus.extension.plugins.pagination.Page; |
| | | import com.doumee.service.business.impl.hksync.HkSyncOrgUserServiceImpl; |
| | | import com.github.yulichang.wrapper.MPJLambdaWrapper; |
| | | import org.apache.commons.lang3.StringUtils; |
| | | import org.apache.shiro.SecurityUtils; |
| | | import org.springframework.beans.factory.annotation.Autowired; |
| | | import org.springframework.stereotype.Service; |
| | | import org.springframework.transaction.annotation.Transactional; |
| | |
| | | private MemberCardJoinMapper memberCardJoinMapper; |
| | | |
| | | @Override |
| | | @Transactional(rollbackFor = {BusinessException.class,Exception.class}) |
| | | public Integer create(MemberCard memberCard) { |
| | | LoginUserInfo userInfo = (LoginUserInfo) SecurityUtils.getSubject().getPrincipal(); |
| | | if(Objects.isNull(memberCard.getMemberId())){ |
| | | throw new BusinessException(ResponseStatus.BAD_REQUEST); |
| | | } |
| | | memberCard.setCreator(userInfo.getId()); |
| | | memberCard.setCreateDate(new Date()); |
| | | memberCard.setStatus(Constants.ONE); |
| | | memberCardMapper.insert(memberCard); |
| | | dealMemberRoleEmpower(memberMapper.selectById(memberCard.getMemberId())); |
| | | Member member = memberMapper.selectById(memberCard.getMemberId()); |
| | | if(Objects.isNull(member)){ |
| | | throw new BusinessException(ResponseStatus.DATA_EMPTY.getCode(),"未查询到用户信息"); |
| | | } |
| | | CardBingdingRequest param = new CardBingdingRequest(); |
| | | if(member.getStartTime() !=null && member.getEndTime()!=null){ |
| | | param.setStartDate(DateUtil.getISO8601Timestamp(member.getStartTime())); |
| | | param.setEndDate(DateUtil.getISO8601Timestamp(member.getEndTime())); |
| | | } |
| | | CardInfoRequest cr = new CardInfoRequest(); |
| | | cr.setCardNo(memberCard.getCode()); |
| | | cr.setOrgIndexCode(member.getCompanyHkId()); |
| | | cr.setPersonId(member.getHkId()); |
| | | cr.setCardType(memberCard.getType()); |
| | | List<CardInfoRequest> cardList = new ArrayList<>(); |
| | | cardList.add(cr); |
| | | param.setCardList(cardList); |
| | | BaseResponse response = HKService.cardBingding(param); |
| | | if(response==null || !StringUtils.equals(response.getCode(), HKConstants.RESPONSE_SUCCEE) || response.getData()==null){ |
| | | throw new BusinessException(ResponseStatus.SERVER_ERROR.getCode(),response.getMsg()); |
| | | } |
| | | return memberCard.getId(); |
| | | } |
| | | |
| | |
| | | memberCardMapper.updateById(memberCard); |
| | | } |
| | | |
| | | |
| | | /** |
| | | * 批量挂失/解挂 |
| | | * @param memberCards 实体集 |
| | | * @param type 0=挂失;1=解挂 |
| | | */ |
| | | @Override |
| | | public void updateByIdInBatch(List<MemberCard> memberCards) { |
| | | @Transactional(rollbackFor = {BusinessException.class,Exception.class}) |
| | | public void updateByIdInBatch(List<MemberCard> memberCards,Integer type) { |
| | | LoginUserInfo userInfo = (LoginUserInfo) SecurityUtils.getSubject().getPrincipal(); |
| | | if (CollectionUtils.isEmpty(memberCards)) { |
| | | return; |
| | | } |
| | | CardLossRequest param = new CardLossRequest(); |
| | | List<CardDeletionRequest> cardList = new ArrayList(); |
| | | for (MemberCard memberCard: memberCards) { |
| | | MemberCard model = memberCardMapper.selectById(memberCard.getId()); |
| | | if(type.equals(Constants.ZERO)){ |
| | | //挂失操作 |
| | | if(!model.getStatus().equals(Constants.MemberCard.normal)){ |
| | | continue; |
| | | } |
| | | }else{ |
| | | //解挂操作 |
| | | if(!model.getStatus().equals(Constants.MemberCard.loss)){ |
| | | continue; |
| | | } |
| | | } |
| | | CardDeletionRequest cardDeletionRequest = this.dealCardData(model); |
| | | memberCard.setEditDate(new Date()); |
| | | memberCard.setEditor(userInfo.getId()); |
| | | this.updateById(memberCard); |
| | | cardList.add(cardDeletionRequest); |
| | | param.setCardList(cardList); |
| | | } |
| | | BaseResponse response = new BaseResponse(); |
| | | if(type.equals(Constants.ZERO)){ |
| | | response = HKService.cardLoss(param); |
| | | }else{ |
| | | response = HKService.cardUnLoss(param); |
| | | } |
| | | if(response==null |
| | | ||!StringUtils.equals(response.getCode(), HKConstants.RESPONSE_SUCCEE)){ |
| | | throw new BusinessException(ResponseStatus.SERVER_ERROR.getCode(),response.getMsg()); |
| | | } |
| | | |
| | | } |
| | | |
| | | public CardDeletionRequest dealCardData(MemberCard model){ |
| | | if(model.getType().equals(Constants.ZERO)){ |
| | | throw new BusinessException(ResponseStatus.NOT_ALLOWED.getCode(),"卡号:" +model.getCode() + " 为虚拟卡无法进行该操作"); |
| | | } |
| | | Member member = memberMapper.selectById(model.getMemberId()); |
| | | if(Objects.isNull(member)||Objects.isNull(member.getHkId())){ |
| | | throw new BusinessException(ResponseStatus.NOT_ALLOWED.getCode(),"卡号:" +model.getCode() + " 对应人员海康信息异常"); |
| | | } |
| | | dealMemberRoleEmpower(member); |
| | | CardDeletionRequest cardDeletionRequest = new CardDeletionRequest(); |
| | | cardDeletionRequest.setCardNumber(model.getCode()); |
| | | cardDeletionRequest.setPersonId(member.getHkId()); |
| | | return cardDeletionRequest; |
| | | |
| | | } |
| | | |
| | | |
| | | @Override |
| | | @Transactional(rollbackFor = {Exception.class, BusinessException.class}) |
| | | public void updateRefundCard(MemberCard memberCard) { |
| | | MemberCard model = memberCardMapper.selectById(memberCard.getId()); |
| | | CardDeletionRequest cardDeletionRequest = this.dealCardData(model); |
| | | memberCardMapper.updateById(memberCard); |
| | | dealMemberRoleEmpower(memberMapper.selectById(memberCard.getMemberId())); |
| | | |
| | | BaseResponse response = HKService.cardDeletion(new CardDeletionRequest()); |
| | | if(){ |
| | | |
| | | BaseResponse response = HKService.cardDeletion(cardDeletionRequest); |
| | | if(response==null || !StringUtils.equals(response.getCode(), HKConstants.RESPONSE_SUCCEE)){ |
| | | throw new BusinessException(ResponseStatus.SERVER_ERROR.getCode(),response.getMsg()); |
| | | } |
| | | } |
| | | |