zhangyuewww 2 anni fa
parent
commit
4124d3848e

+ 58 - 17
unimall-admin-api/src/main/java/com/iotechn/unimall/admin/api/card/impl/CardExchangeInfoServiceImpl.java

@@ -5,14 +5,13 @@ import java.util.List;
 import com.iotechn.unimall.admin.api.card.ICardExchangeInfoService;
 import com.iotechn.unimall.core.exception.AppServiceException;
 import com.iotechn.unimall.core.exception.ExceptionDefinition;
-import com.iotechn.unimall.data.domain.CardExchangeInfo;
-import com.iotechn.unimall.data.domain.CardHolderInfo;
-import com.iotechn.unimall.data.domain.CardManagementInfo;
+import com.iotechn.unimall.data.domain.*;
 import com.iotechn.unimall.data.dto.goods.GroupShopDTO;
 import com.iotechn.unimall.data.dto.order.OrderDTO;
 import com.iotechn.unimall.data.mapper.CardExchangeInfoMapper;
 import com.iotechn.unimall.data.mapper.CardHolderInfoMapper;
 import com.iotechn.unimall.data.mapper.CardManagementInfoMapper;
+import com.iotechn.unimall.data.mapper.CommonUserInfoMapper;
 import com.iotechn.unimall.data.model.Page;
 import com.baomidou.mybatisplus.mapper.EntityWrapper;
 import com.baomidou.mybatisplus.mapper.Wrapper;
@@ -43,12 +42,46 @@ public class CardExchangeInfoServiceImpl implements ICardExchangeInfoService {
     private CardHolderInfoMapper cardHolderInfoMapper;
     @Autowired
     private CardManagementInfoMapper cardManagementInfoMapper;
+    @Autowired
+    private CommonUserInfoMapper commonUserInfoMapper;
 
     @Override
     public Boolean add(CardExchangeInfo cardExchangeInfo) throws ServiceException {
         Date now = new Date();
         cardExchangeInfo.setGmtCreate(now);
         cardExchangeInfo.setGmtUpdate(now);
+        CommonUserInfo commonUserInfo=commonUserInfoMapper.selectById(cardExchangeInfo.getReceiveId());
+        //接收人设置自动接受邀请情况
+        if (commonUserInfo!=null&&"1".equals(commonUserInfo.getAutoAccept())){
+            cardExchangeInfo.setStatus("1");
+            CardHolderInfo CardHolderInfo1 = new CardHolderInfo();
+            CardHolderInfo1.setCommonId(cardExchangeInfo.getReceiveId());
+            CardHolderInfo1.setCardId(String.valueOf(cardExchangeInfo.getSendCardId()));
+            CardHolderInfo1.setDeleteFlag(0l);
+            CardHolderInfo cardHolderInfo2 = cardHolderInfoMapper.selectOne(CardHolderInfo1);
+            //查看接收人名片夹是否存有该名片
+            if (cardHolderInfo2==null){
+                //接收人名片夹添加数据
+                CardHolderInfo cardHolderInfo = new CardHolderInfo();
+                cardHolderInfo.setCardId(String.valueOf(cardExchangeInfo.getSendCardId()));
+                CardManagementInfo cardManagementInfo = cardManagementInfoMapper.selectById(cardExchangeInfo.getSendCardId());
+                //查看发起人名片是否删除
+                if (cardManagementInfo.getCommonId() == -1) {
+                    throw new AppServiceException(ExceptionDefinition.ACCEPT_CARD_ERROR);
+                }
+                cardHolderInfo.setCommonId(cardExchangeInfo.getReceiveId());
+                cardHolderInfo.setGmtCreate(now);
+                cardHolderInfo.setGmtUpdate(now);
+                cardHolderInfoMapper.insert(cardHolderInfo);
+            }
+            //发起人名片夹添加数据
+            CardHolderInfo cardHolderInfo = new CardHolderInfo();
+            cardHolderInfo.setCardId(String.valueOf(cardExchangeInfo.getReceiveCardId()));
+            cardHolderInfo.setCommonId(cardExchangeInfo.getSendId());
+            cardHolderInfo.setGmtCreate(now);
+            cardHolderInfo.setGmtUpdate(now);
+            cardHolderInfoMapper.insert(cardHolderInfo);
+        }
         return cardExchangeInfoMapper.insert(cardExchangeInfo) > 0;
     }
 
@@ -96,29 +129,37 @@ public class CardExchangeInfoServiceImpl implements ICardExchangeInfoService {
         //接受
         else if ("3".equals(updateFlag)) {
             cardExchangeInfo.setStatus("1");
-            //接收人名片夹添加数据
-            CardHolderInfo cardHolderInfo = new CardHolderInfo();
-            cardHolderInfo.setCardId(String.valueOf(cardExchangeInfo.getSendCardId()));
-            CardManagementInfo cardManagementInfo = cardManagementInfoMapper.selectById(cardExchangeInfo.getSendCardId());
-            //查看发起人名片是否删除
-            if (cardManagementInfo.getCommonId() == -1) {
-                throw new AppServiceException(ExceptionDefinition.ACCEPT_CARD_ERROR);
+            CardHolderInfo CardHolderInfo1 = new CardHolderInfo();
+            CardHolderInfo1.setCommonId(cardExchangeInfo.getReceiveId());
+            CardHolderInfo1.setCardId(String.valueOf(cardExchangeInfo.getSendCardId()));
+            CardHolderInfo1.setDeleteFlag(0l);
+            CardHolderInfo cardHolderInfo2 = cardHolderInfoMapper.selectOne(CardHolderInfo1);
+            //查看接收人名片夹是否存有该名片
+            if (cardHolderInfo2==null) {
+                //接收人名片夹添加数据
+                CardHolderInfo cardHolderInfo = new CardHolderInfo();
+                cardHolderInfo.setCardId(String.valueOf(cardExchangeInfo.getSendCardId()));
+                CardManagementInfo cardManagementInfo = cardManagementInfoMapper.selectById(cardExchangeInfo.getSendCardId());
+                //查看发起人名片是否删除
+                if (cardManagementInfo.getCommonId() == -1) {
+                    throw new AppServiceException(ExceptionDefinition.ACCEPT_CARD_ERROR);
+                }
+                cardHolderInfo.setCommonId(cardExchangeInfo.getReceiveId());
+                cardHolderInfo.setGmtCreate(now);
+                cardHolderInfo.setGmtUpdate(now);
+                cardHolderInfoMapper.insert(cardHolderInfo);
             }
-            cardHolderInfo.setCommonId(cardExchangeInfo.getReceiveId());
-            cardHolderInfo.setGmtCreate(now);
-            cardHolderInfo.setGmtUpdate(now);
-            cardHolderInfoMapper.insert(cardHolderInfo);
             //发起人名片夹添加数据
-            cardHolderInfo = new CardHolderInfo();
+            CardHolderInfo cardHolderInfo = new CardHolderInfo();
             cardHolderInfo.setCardId(String.valueOf(cardExchangeInfo.getReceiveCardId()));
             cardHolderInfo.setCommonId(cardExchangeInfo.getSendId());
             cardHolderInfo.setGmtCreate(now);
             cardHolderInfo.setGmtUpdate(now);
             cardHolderInfoMapper.insert(cardHolderInfo);
         }
-        //移除
+        //移除还原成未交换过
         else {
-            cardExchangeInfo.setStatus("0");
+            cardExchangeInfo.setDeleteFlag(1l);
         }
         return cardExchangeInfoMapper.updateById(cardExchangeInfo) > 0;
     }

+ 26 - 0
unimall-admin-api/src/main/java/com/iotechn/unimall/admin/api/card/impl/CardHolderInfoServiceImpl.java

@@ -3,6 +3,7 @@ package com.iotechn.unimall.admin.api.card.impl;
 import java.util.List;
 
 import com.iotechn.unimall.data.domain.*;
+import com.iotechn.unimall.data.mapper.CardExchangeInfoMapper;
 import com.iotechn.unimall.data.mapper.CardManagementInfoMapper;
 import com.iotechn.unimall.data.mapper.CommonUserInfoMapper;
 import org.apache.ibatis.session.RowBounds;
@@ -37,6 +38,8 @@ public class CardHolderInfoServiceImpl implements ICardHolderInfoService {
     private CardManagementInfoMapper cardManagementInfoMapper;
     @Autowired
     private CommonUserInfoMapper commonUserInfoMapper;
+    @Autowired
+    private CardExchangeInfoMapper cardExchangeInfoMapper;
 
     @Override
     public Boolean add(CardHolderInfo cardHolderInfo) throws ServiceException {
@@ -69,6 +72,29 @@ public class CardHolderInfoServiceImpl implements ICardHolderInfoService {
         for (String tt : ids) {
             CardHolderInfo tmp = cardHolderInfoMapper.selectById(Long.parseLong(tt));
             if (tmp != null) {
+                CardExchangeInfo cardExchangeInfo = new CardExchangeInfo();
+                //发送人删除名片夹内名片
+                cardExchangeInfo.setSendId(tmp.getCommonId());
+                cardExchangeInfo.setReceiveCardId(Long.parseLong(tmp.getCardId()));
+                cardExchangeInfo.setDeleteFlag(0l);
+                CardExchangeInfo cardExchangeInfo1=cardExchangeInfoMapper.selectOne(cardExchangeInfo);
+                //删除交换记录,可以重新交换
+                if (cardExchangeInfo1!=null){
+                    cardExchangeInfo1.setDeleteFlag(1l);
+                    cardExchangeInfo1.setGmtUpdate(new Date());
+                    cardExchangeInfoMapper.updateById(cardExchangeInfo1);
+                }
+                //接收人删除名片夹内名片
+                cardExchangeInfo.setReceiveId(tmp.getCommonId());
+                cardExchangeInfo.setSendCardId(Long.parseLong(tmp.getCardId()));
+                cardExchangeInfo.setDeleteFlag(0l);
+                CardExchangeInfo cardExchangeInfo2=cardExchangeInfoMapper.selectOne(cardExchangeInfo);
+                //删除交换记录,可以重新交换
+                if (cardExchangeInfo2!=null){
+                    cardExchangeInfo2.setDeleteFlag(1l);
+                    cardExchangeInfo2.setGmtUpdate(new Date());
+                    cardExchangeInfoMapper.updateById(cardExchangeInfo2);
+                }
                 tmp.setDeleteFlag(1l);
                 tmp.setGmtUpdate(new Date());
                 cardHolderInfoMapper.updateById(tmp);

+ 1 - 0
unimall-data/src/main/resources/com/iotechn/unimall/data/mapper/CardManagementInfoMapper.xml

@@ -15,6 +15,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
         cmi.current_background as currentBackground,
         cmi.cuttent_template as cuttentTemplate,
         phi.scope_of_business AS scopeOfBusiness,
+        phi.id AS personalHomeId,
         cui.look_page AS lookPage,
         case when (cmi.common_id=#{commonId})  then 1
         when IFNULL((SELECT count(chi.id)