package com.linkwechat.service.impl; import cn.hutool.core.collection.CollectionUtil; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.linkwechat.common.core.page.PageDomain; import com.linkwechat.common.exception.CustomException; import com.linkwechat.common.utils.StringUtils; import com.linkwechat.common.utils.bean.BeanUtils; import com.linkwechat.domain.WeCustomerUser; import com.linkwechat.domain.WeUser; import com.linkwechat.domain.customer.query.WeCustomerUserQuery; import com.linkwechat.domain.customer.vo.WeCustomerUserDetailInfoVo; import com.linkwechat.domain.customer.vo.WeCustomerUserVo; import com.linkwechat.domain.customer.vo.WeUserDetailInfoVo; import com.linkwechat.domain.customer.vo.WeUserVo; import com.linkwechat.mapper.WeCustomerUserMapper; import com.linkwechat.service.IWeCustomerUserService; import com.linkwechat.service.IWeMessageNotificationService; import com.linkwechat.service.IWeUserService; import lombok.extern.slf4j.Slf4j; import org.springframework.stereotype.Service; import javax.annotation.Resource; import java.util.ArrayList; import java.util.Date; import java.util.List; import java.util.Objects; @Slf4j @Service public class WeCustomerUserServiceImpl extends ServiceImpl implements IWeCustomerUserService { @Resource private IWeUserService weUserService; @Override public List findWeCustomerUserList(WeCustomerUserQuery weCustomerUserQuery) { List weCustomerUserVos = this.baseMapper.findWeCustomerUserList(weCustomerUserQuery); return weCustomerUserVos; } @Override public WeCustomerUserDetailInfoVo findWeCustomerUserBaseInfo(String id) { WeCustomerUserDetailInfoVo weCustomerUserDetailInfoVo = new WeCustomerUserDetailInfoVo(); WeCustomerUser weCustomerUser = this.baseMapper.selectById(id); if (Objects.nonNull(weCustomerUser)) { BeanUtils.copyBeanProp( weCustomerUserDetailInfoVo, weCustomerUser ); } return weCustomerUserDetailInfoVo; } @Override public void bindUser(String userId, String id) { WeCustomerUser weCustomerUser = this.baseMapper.selectById(id); if(StringUtils.isNotEmpty(weCustomerUser.getUserCode())){ throw new CustomException("该用户已经绑定,不允许重复绑定"); } WeUser user = weUserService.getById(userId); weCustomerUser.setUserId(user.getId()); weCustomerUser.setUserCode(user.getUserCode()); weCustomerUser.setStatus(1); weCustomerUser.setBindTime(new Date()); this.baseMapper.updateById(weCustomerUser); } @Override public void unbindUser(String id) { WeCustomerUser weCustomerUser = this.baseMapper.selectById(id); if(StringUtils.isEmpty(weCustomerUser.getUserCode())){ throw new CustomException("该用户已经解绑,不允许重复解绑"); } weCustomerUser.setUserId(null); weCustomerUser.setUserCode(null); weCustomerUser.setBindTime(null); weCustomerUser.setStatus(0); this.baseMapper.updateById(weCustomerUser); } }