Prechádzať zdrojové kódy

Merge remote-tracking branch 'origin/master' into test

lwhhszx 1 rok pred
rodič
commit
424b720a7c

+ 3 - 0
src/main/java/com/example/xiaoshiweixinback/mapper/AssoVipFunctionMapper.java

@@ -2,7 +2,9 @@ package com.example.xiaoshiweixinback.mapper;
 
 import com.baomidou.mybatisplus.core.mapper.BaseMapper;
 import com.example.xiaoshiweixinback.domain.AssoVipFunction;
+import com.example.xiaoshiweixinback.entity.vip.PersonFunctionVO;
 import com.example.xiaoshiweixinback.entity.weixinPay.VipRightsVO;
+import io.swagger.v3.oas.models.security.SecurityScheme;
 import org.springframework.stereotype.Repository;
 
 import java.util.List;
@@ -16,6 +18,7 @@ import java.util.List;
 @Repository
 public interface AssoVipFunctionMapper extends BaseMapper<AssoVipFunction> {
     public List<VipRightsVO> getAll();
+    public List<PersonFunctionVO> getVipFunction(Integer vipType);
 }
 
 

+ 41 - 19
src/main/java/com/example/xiaoshiweixinback/service/VipService.java

@@ -78,8 +78,8 @@ public class VipService extends ServiceImpl<VipMapper, Vip> {
         String personUuId = order.getPersonUuid();
         Vip vip = this.getVipByUuId(uuid);
         AssoPersonVip assoPersonVip = assoPersonVipService.getAsso(personUuId, vip);
-    //    //查询vip相关权益
-  //     List<AssoVipFunction> assoVipFunctions = assoVipFunctionService.getVipFunctionByVipUuid(uuid);
+        //    //查询vip相关权益
+        //     List<AssoVipFunction> assoVipFunctions = assoVipFunctionService.getVipFunctionByVipUuid(uuid);
 //        //将权益赋值给人员
 //        List<AssoPersonFunction> assoPersonFunctions = new ArrayList<>();
 //        assoVipFunctions.forEach(item -> {
@@ -146,10 +146,10 @@ public class VipService extends ServiceImpl<VipMapper, Vip> {
     }
 
     public List<PersonFunctionVO> getPersonRights() {
-
         PersonnelVO personnelVO = cacheUtil.getLoginUser(LoginUtils.getToken());
-
-        List<PersonFunctionVO> personFunctionVOS = assoPersonFunctionService.getBaseMapper().getByPerson(personnelVO.getUuid(), null);
+        String personUuid = personnelVO.getUuid();
+        List<PersonFunctionVO> personFunctionVOS = this.getVipFunctions(personUuid);
+        // 查询登录人的vip
         personFunctionVOS.forEach(item ->
                 {
                     String parameter = item.getFunctionParameter();
@@ -234,27 +234,49 @@ public class VipService extends ServiceImpl<VipMapper, Vip> {
 
 
     public AssoVipFunction getVipFunctionMessage(String functionUuid) {
+
         PersonnelVO personnelVO = cacheUtil.getLoginUser(LoginUtils.getToken());
         //查询当前用户的会员
         LambdaQueryWrapper<AssoPersonVip> queryWrapper = new LambdaQueryWrapper<>();
         queryWrapper.gt(AssoPersonVip::getExpiryTime, new Date())
-                    .eq(AssoPersonVip::getPersonUuid,personnelVO.getUuid());
-      AssoPersonVip assoPersonVip =assoPersonVipService.getOne(queryWrapper,false);
-      Integer vipType =null;
-      if(assoPersonVip==null){
-          vipType=0;
-      }else {
-          vipType =assoPersonVip.getVipType();
-      }
-         //根据vipType和functionUuid查询
-        LambdaQueryWrapper<AssoVipFunction> queryWrapper1 =new LambdaQueryWrapper<>();
-      queryWrapper1.eq(AssoVipFunction::getVipType,vipType)
-                .eq(AssoVipFunction::getFunctionUuid,functionUuid);
-      AssoVipFunction assoVipFunction =assoVipFunctionService.getOne(queryWrapper1);
-       return  assoVipFunction;
+                .eq(AssoPersonVip::getPersonUuid, personnelVO.getUuid());
+        AssoPersonVip assoPersonVip = assoPersonVipService.getOne(queryWrapper, false);
+        Integer vipType = null;
+        if (assoPersonVip == null) {
+            vipType = 0;
+        } else {
+            vipType = assoPersonVip.getVipType();
+        }
+        //根据vipType和functionUuid查询
+        LambdaQueryWrapper<AssoVipFunction> queryWrapper1 = new LambdaQueryWrapper<>();
+        queryWrapper1.eq(AssoVipFunction::getVipType, vipType)
+                .eq(AssoVipFunction::getFunctionUuid, functionUuid);
+        AssoVipFunction assoVipFunction = assoVipFunctionService.getOne(queryWrapper1);
+        return assoVipFunction;
     }
 
 
+    public List<PersonFunctionVO> getVipFunctions(String personUuid) {
+        Integer vipType = this.getVipTypes(personUuid);
+        List<PersonFunctionVO> personFunctionVOS = assoVipFunctionService.getBaseMapper().getVipFunction(vipType);
+        return personFunctionVOS;
+    }
+
+    public Integer getVipTypes(String personUuid) {
+        LambdaQueryWrapper<AssoPersonVip> queryWrapper = new LambdaQueryWrapper<>();
+        queryWrapper.gt(AssoPersonVip::getExpiryTime, new Date())
+                .eq(AssoPersonVip::getPersonUuid, personUuid);
+        AssoPersonVip assoPersonVip = assoPersonVipService.getOne(queryWrapper, false);
+        Integer vipType = null;
+        if (assoPersonVip == null) {
+            vipType = 0;
+        } else {
+            vipType = assoPersonVip.getVipType();
+        }
+        return vipType;
+
+
+    }
 
 }
 

+ 12 - 0
src/main/resources/mapper/AssoVipFunctionMapper.xml

@@ -14,4 +14,16 @@
     </select>
 
 
+    <select id="getVipFunction" resultType="com.example.xiaoshiweixinback.entity.vip.PersonFunctionVO">
+        select
+            avf.id as id,
+            sf.name as name,
+            avf.function_parameter as functionParameter,
+            sf.description as description
+        from   asso_vip_function as avf
+                 left join sys_function as sf on avf.function_uuid = sf.uuid
+         <where>
+             avf.vip_type=#{vipType}
+         </where>
+    </select>
 </mapper>