From c9d5baa887fbbb4abc3b5e63bcf228094ec972ea Mon Sep 17 00:00:00 2001
From: lishuai <260038442@qq.com>
Date: 星期三, 27 十二月 2023 18:17:44 +0800
Subject: [PATCH] 人员开卡功能

---
 server/dmvisit_service/src/main/java/com/doumee/dao/business/model/Member.java                   |    2 
 server/dmvisit_service/src/main/java/com/doumee/dao/business/model/MemberCard.java               |   23 +++++++
 server/dmvisit_service/src/main/java/com/doumee/service/business/impl/MemberCardServiceImpl.java |   57 ++++++++++++++++++
 server/dmvisit_service/src/main/java/com/doumee/service/business/impl/MemberServiceImpl.java     |    4 +
 server/dmvisit_service/src/main/java/com/doumee/core/utils/Constants.java                        |    1 
 server/dmvisit_admin/src/main/java/com/doumee/api/business/MemberCardController.java             |   11 +++
 server/dmvisit_service/src/main/java/com/doumee/core/haikang/model/HKConstants.java              |   43 ++++++++++++++
 server/dmvisit_service/src/main/java/com/doumee/dao/admin/response/MemberInfoDTO.java            |    2 
 server/dmvisit_service/src/main/java/com/doumee/service/business/MemberCardService.java          |    2 
 server/dmvisit_admin/src/main/java/com/doumee/api/business/MemberController.java                 |    7 ++
 10 files changed, 144 insertions(+), 8 deletions(-)

diff --git a/server/dmvisit_admin/src/main/java/com/doumee/api/business/MemberCardController.java b/server/dmvisit_admin/src/main/java/com/doumee/api/business/MemberCardController.java
index b3cea45..3ecc359 100644
--- a/server/dmvisit_admin/src/main/java/com/doumee/api/business/MemberCardController.java
+++ b/server/dmvisit_admin/src/main/java/com/doumee/api/business/MemberCardController.java
@@ -69,7 +69,7 @@
 
     @ApiOperation("鍒嗛〉鏌ヨ")
     @PostMapping("/page")
-    @RequiresPermissions("business:membercard:query")
+    //@RequiresPermissions("business:membercard:query")
     public ApiResponse<PageData<MemberCard>> findPage (@RequestBody PageWrap<MemberCard> pageWrap) {
         return ApiResponse.success(memberCardService.findPage(pageWrap));
     }
@@ -87,4 +87,13 @@
     public ApiResponse findById(@PathVariable Integer id) {
         return ApiResponse.success(memberCardService.findById(id));
     }
+
+    @ApiOperation("鏍规嵁鏉′欢鏌ヨ鍙敤鍗″彿")
+    @PostMapping("/queryCard")
+    //@RequiresPermissions("business:membercard:query")
+    public ApiResponse<List<MemberCard>> queryCard () {
+        MemberCard card = new MemberCard();
+        return ApiResponse.success(memberCardService.findList(card));
+    }
+
 }
diff --git a/server/dmvisit_admin/src/main/java/com/doumee/api/business/MemberController.java b/server/dmvisit_admin/src/main/java/com/doumee/api/business/MemberController.java
index 40cf28e..a64efdb 100644
--- a/server/dmvisit_admin/src/main/java/com/doumee/api/business/MemberController.java
+++ b/server/dmvisit_admin/src/main/java/com/doumee/api/business/MemberController.java
@@ -194,6 +194,11 @@
         return ApiResponse.success(memberService.findUnusualPage(pageWrap));
     }
 
-
+    @ApiOperation("鏍规嵁绫诲瀷鏌ヨ浜哄憳淇℃伅")
+    @PostMapping("/findTypeMemberInfo")
+    //@RequiresPermissions("business:member:query")
+    public ApiResponse<List<Member>> findTypeMemberInfo (@RequestBody Member member) {
+        return ApiResponse.success(memberService.findList(member));
+    }
 
 }
diff --git a/server/dmvisit_service/src/main/java/com/doumee/core/haikang/model/HKConstants.java b/server/dmvisit_service/src/main/java/com/doumee/core/haikang/model/HKConstants.java
index 1393364..96a7d2c 100644
--- a/server/dmvisit_service/src/main/java/com/doumee/core/haikang/model/HKConstants.java
+++ b/server/dmvisit_service/src/main/java/com/doumee/core/haikang/model/HKConstants.java
@@ -346,7 +346,50 @@
 
     }
 
+    /**
+     * 鍗$姸鎬�
+     */
+    public  enum CardStatus {
 
+        DISABLE(0, "绂佺敤"),
+        ENABLE(1, "鍚敤"),
+        REFUNDCARD(2, "閫�鍗�"),
+        LOSS(3, "鎸傚け"),
+
+        /** 鍗$被鍨� **/
+        IC(1,"IC鍗�"),
+        CPU(2,"CPU鍗�"),
+        YJLCARD(3,"杩滆窛绂诲崱"),
+        MCARD(4,"M鍗�");
+
+        // 鎴愬憳鍙橀噺
+        private String name;
+        private int key;
+
+        // 鏋勯�犳柟娉�
+        CardStatus(int key, String name ) {
+            this.name = name;
+            this.key = key;
+        }
+
+        // get set 鏂规硶
+        public String getName() {
+            return name;
+        }
+
+        public void setName(String name) {
+            this.name = name;
+        }
+
+        public int getKey() {
+            return key;
+        }
+
+        public void setKey(int key) {
+            this.key = key;
+        }
+
+    }
 
 }
 
diff --git a/server/dmvisit_service/src/main/java/com/doumee/core/utils/Constants.java b/server/dmvisit_service/src/main/java/com/doumee/core/utils/Constants.java
index e98b17d..3f23bac 100644
--- a/server/dmvisit_service/src/main/java/com/doumee/core/utils/Constants.java
+++ b/server/dmvisit_service/src/main/java/com/doumee/core/utils/Constants.java
@@ -62,6 +62,7 @@
     public static final String ERP_USERSTATUS_RL ="ERP_USERSTATUS_RL" ;
     public static final String ERP ="ERP" ;
     public static final Integer THREE =3 ;
+    public static final Integer FOUR =4 ;
     public static final String ORG_USER_ORIGIN = "ORG_USER_ORIGIN";
     public static  boolean DEALING_HK_SYNCPRIVILEGE= false;
     public static  boolean DEALING_HK_SYNCDEVICE = false;
diff --git a/server/dmvisit_service/src/main/java/com/doumee/dao/admin/response/MemberInfoDTO.java b/server/dmvisit_service/src/main/java/com/doumee/dao/admin/response/MemberInfoDTO.java
index d36ca0c..2a88362 100644
--- a/server/dmvisit_service/src/main/java/com/doumee/dao/admin/response/MemberInfoDTO.java
+++ b/server/dmvisit_service/src/main/java/com/doumee/dao/admin/response/MemberInfoDTO.java
@@ -51,7 +51,7 @@
     @ApiModelProperty(value = "绫诲瀷 0鍔冲姟璁垮 1鏅�氳瀹�  2鍐呴儴浜哄憳")
     private Integer type;
 
-    @ApiModelProperty(value = "璁垮鍚嶇О")
+    @ApiModelProperty(value = "璁垮鍚嶇О/鍐呴儴浜哄憳鍚嶇О")
     private String name;
 
     @ApiModelProperty(value = "鎬у埆")
diff --git a/server/dmvisit_service/src/main/java/com/doumee/dao/business/model/Member.java b/server/dmvisit_service/src/main/java/com/doumee/dao/business/model/Member.java
index 7b67428..eef8155 100644
--- a/server/dmvisit_service/src/main/java/com/doumee/dao/business/model/Member.java
+++ b/server/dmvisit_service/src/main/java/com/doumee/dao/business/model/Member.java
@@ -79,7 +79,7 @@
     @ExcelColumn(name="绫诲瀷 0鍔冲姟璁垮 1鏅�氳瀹�  2鍐呴儴浜哄憳")
     private Integer type;
 
-    @ApiModelProperty(value = "璁垮鍚嶇О")
+    @ApiModelProperty(value = "璁垮鍚嶇О/鍐呴儴浜哄憳")
     @ExcelColumn(name="璁垮鍚嶇О")
     private String name;
 
diff --git a/server/dmvisit_service/src/main/java/com/doumee/dao/business/model/MemberCard.java b/server/dmvisit_service/src/main/java/com/doumee/dao/business/model/MemberCard.java
index 86ee196..eb7268b 100644
--- a/server/dmvisit_service/src/main/java/com/doumee/dao/business/model/MemberCard.java
+++ b/server/dmvisit_service/src/main/java/com/doumee/dao/business/model/MemberCard.java
@@ -92,10 +92,29 @@
     @JsonFormat(pattern = "yyyy-MM-dd")
     private Date hkDate;
 
-    @ApiModelProperty(value = "鐘舵�� 0绂佺敤 1鍚敤")
-    @ExcelColumn(name="鐘舵�� 0绂佺敤 1鍚敤")
+    @ApiModelProperty(value = "鐘舵�� 0绂佺敤 1鍚敤 2閫�鍗� 3鎸傚け")
+    @ExcelColumn(name="鐘舵�� 0绂佺敤 1鍚敤 2閫�鍗� 3鎸傚け")
     private Integer status;
 
+    @ApiModelProperty(value = "鐘舵�� 0绂佺敤 1鍚敤 2閫�鍗� 3鎸傚け")
+    @TableField(exist = false)
+    private String statusName;
+
+    @ApiModelProperty(value = "鍗$被鍨� 1 IC鍗� 2 CPU鍗�  3杩滆窛绂诲崱 4M鍗� -- 鍓嶇鏂板浼犲�煎啓姝�")
+    @ExcelColumn(name="鍗$被鍨� 1 IC鍗� 2 CPU鍗�  3杩滆窛绂诲崱 4M鍗�")
+    private Integer cardType;
+
+    @ApiModelProperty(value = "鍗$被鍨嬪悕绉�")
+    @TableField(exist = false)
+    private String cardTypeName;
+
+    @ApiModelProperty(value = "绫诲瀷 0鍔冲姟璁垮 1鏅�氳瀹�  2鍐呴儴浜哄憳", example = "1")
+    @ExcelColumn(name="绫诲瀷 0鍔冲姟璁垮 1鏅�氳瀹�  2鍐呴儴浜哄憳")
+    private Integer type;
+
+    @ApiModelProperty(value = "绫诲瀷 0鍔冲姟璁垮 1鏅�氳瀹�  2鍐呴儴浜哄憳", example = "1")
+    @ExcelColumn(name="绫诲瀷 0鍔冲姟璁垮 1鏅�氳瀹�  2鍐呴儴浜哄憳")
+    private String typeName;
 
     @ApiModelProperty(value = "鍏抽敭瀛�")
     @TableField(exist = false)
diff --git a/server/dmvisit_service/src/main/java/com/doumee/service/business/MemberCardService.java b/server/dmvisit_service/src/main/java/com/doumee/service/business/MemberCardService.java
index cf650c4..1204fb3 100644
--- a/server/dmvisit_service/src/main/java/com/doumee/service/business/MemberCardService.java
+++ b/server/dmvisit_service/src/main/java/com/doumee/service/business/MemberCardService.java
@@ -3,6 +3,7 @@
 import com.doumee.core.model.PageData;
 import com.doumee.core.model.PageWrap;
 import com.doumee.dao.business.model.MemberCard;
+
 import java.util.List;
 
 /**
@@ -94,4 +95,5 @@
      * @return long
      */
     long count(MemberCard memberCard);
+
 }
diff --git a/server/dmvisit_service/src/main/java/com/doumee/service/business/impl/MemberCardServiceImpl.java b/server/dmvisit_service/src/main/java/com/doumee/service/business/impl/MemberCardServiceImpl.java
index 58a2b9c..1b757cc 100644
--- a/server/dmvisit_service/src/main/java/com/doumee/service/business/impl/MemberCardServiceImpl.java
+++ b/server/dmvisit_service/src/main/java/com/doumee/service/business/impl/MemberCardServiceImpl.java
@@ -3,14 +3,19 @@
 import cn.hutool.core.lang.PatternPool;
 import cn.hutool.core.lang.Validator;
 import cn.hutool.core.util.ReUtil;
+import com.doumee.core.haikang.model.HKConstants;
 import com.doumee.core.model.PageData;
 import com.doumee.core.model.PageWrap;
+import com.doumee.core.utils.Constants;
 import com.doumee.core.utils.Utils;
+import com.doumee.dao.admin.response.CarEventDTO;
 import com.doumee.dao.business.MemberCardMapper;
 import com.doumee.dao.business.join.MemberCardJoinMapper;
 import com.doumee.dao.business.model.Company;
 import com.doumee.dao.business.model.Member;
 import com.doumee.dao.business.model.MemberCard;
+import com.doumee.dao.business.model.Retention;
+import com.doumee.dao.system.model.SystemDictData;
 import com.doumee.service.business.MemberCardService;
 import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
 import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper;
@@ -21,8 +26,9 @@
 import org.springframework.stereotype.Service;
 import org.springframework.util.CollectionUtils;
 
-import java.util.List;
-import java.util.Objects;
+import java.util.*;
+import java.util.function.Function;
+import java.util.stream.Collectors;
 
 /**
  * 鐢ㄦ埛鍗$墖缁戝畾淇℃伅琛⊿ervice瀹炵幇
@@ -92,6 +98,11 @@
     @Override
     public List<MemberCard> findList(MemberCard memberCard) {
         QueryWrapper<MemberCard> wrapper = new QueryWrapper<>(memberCard);
+        wrapper.lambda().eq(MemberCard::getIsdeleted, Constants.ZERO);
+        wrapper.lambda().eq(MemberCard::getHkStatus, Constants.ONE);
+        // 鍚敤鍜岄��鍗$殑鍗″彿
+        wrapper.lambda().and(param -> param.eq(MemberCard::getStatus,Constants.ZERO).
+                         or().eq(MemberCard::getStatus,Constants.TWO));
         return memberCardMapper.selectList(wrapper);
     }
 
@@ -166,6 +177,9 @@
                     .like(number,Member::getPhone,pageWrap.getModel().getKeyWords())
                     .like((b||hasWord),Member::getName,pageWrap.getModel().getKeyWords());
         IPage<MemberCard> memberCardIPage = memberCardJoinMapper.selectJoinPage(page, MemberCard.class,queryWrapper);
+        if(null != memberCardIPage && memberCardIPage.getRecords().size() > 0) {
+            memberCardIPage.setRecords(getDataPackage(memberCardIPage));
+        }
         return PageData.from(memberCardIPage);
     }
 
@@ -174,4 +188,43 @@
         QueryWrapper<MemberCard> wrapper = new QueryWrapper<>(memberCard);
         return memberCardMapper.selectCount(wrapper);
     }
+
+    private List<MemberCard> getDataPackage(IPage<MemberCard> memberCardIPage) {
+        List<MemberCard> newDataList = new ArrayList<>();
+        memberCardIPage.getRecords().stream().forEach(obj->{
+            if(null != obj.getType()) {
+                if(Constants.equalsInteger(obj.getCardType(),Constants.ZERO)) {
+                    obj.setTypeName(Constants.Status.LW_FK.getDes());
+                }else if(Constants.equalsInteger(obj.getCardType(),Constants.ONE)){
+                    obj.setTypeName(Constants.Status.PT_FK.getDes());
+                }else if(Constants.equalsInteger(obj.getCardType(),Constants.TWO)){
+                    obj.setTypeName(Constants.Status.NB_FK.getDes());
+                }
+            }
+            if(null != obj.getCardType()) {
+                if(Constants.equalsInteger(obj.getCardType(),Constants.ZERO)) {
+                    obj.setCardTypeName(HKConstants.CardStatus.DISABLE.getName());
+                }else if(Constants.equalsInteger(obj.getCardType(),Constants.ONE)) {
+                    obj.setCardTypeName(HKConstants.CardStatus.ENABLE.getName());
+                }else if(Constants.equalsInteger(obj.getCardType(),Constants.TWO)) {
+                    obj.setCardTypeName(HKConstants.CardStatus.REFUNDCARD.getName());
+                }else if(Constants.equalsInteger(obj.getCardType(),Constants.THREE)) {
+                    obj.setCardTypeName(HKConstants.CardStatus.LOSS.getName());
+                }
+            }
+            if(null != obj.getStatus()) {
+                if(Constants.equalsInteger(obj.getCardType(),Constants.ONE)) {
+                    obj.setCardTypeName(HKConstants.CardStatus.IC.getName());
+                }else if(Constants.equalsInteger(obj.getCardType(),Constants.TWO)) {
+                    obj.setCardTypeName(HKConstants.CardStatus.CPU.getName());
+                }else if(Constants.equalsInteger(obj.getCardType(),Constants.THREE)) {
+                    obj.setCardTypeName(HKConstants.CardStatus.YJLCARD.getName());
+                }else if(Constants.equalsInteger(obj.getCardType(),Constants.FOUR)) {
+                    obj.setCardTypeName(HKConstants.CardStatus.MCARD.getName());
+                }
+            }
+            newDataList.add(obj);
+        });
+        return newDataList;
+    }
 }
diff --git a/server/dmvisit_service/src/main/java/com/doumee/service/business/impl/MemberServiceImpl.java b/server/dmvisit_service/src/main/java/com/doumee/service/business/impl/MemberServiceImpl.java
index 886df7b..394f3dd 100644
--- a/server/dmvisit_service/src/main/java/com/doumee/service/business/impl/MemberServiceImpl.java
+++ b/server/dmvisit_service/src/main/java/com/doumee/service/business/impl/MemberServiceImpl.java
@@ -325,6 +325,10 @@
     @Override
     public List<Member> findList(Member member) {
         QueryWrapper<Member> wrapper = new QueryWrapper<>(member);
+        if(null != member.getType()) {
+            wrapper.lambda().eq(Member::getType,member.getType());
+        }
+        wrapper.lambda().eq(Member::getIsdeleted,Constants.ZERO);
         return memberMapper.selectList(wrapper);
     }
 

--
Gitblit v1.9.3