فهرست منبع

卡管理,查询条件调整

mingfu 1 ماه پیش
والد
کامیت
9663483fec

+ 8 - 5
ie-admin/src/main/java/com/ruoyi/web/controller/dz/DzCardsController.java

@@ -29,6 +29,7 @@ import io.swagger.annotations.Api;
 import io.swagger.annotations.ApiOperation;
 import io.swagger.annotations.ApiParam;
 import org.apache.commons.lang3.ArrayUtils;
+import org.apache.commons.lang3.StringUtils;
 import org.springframework.security.access.prepost.PreAuthorize;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.util.CollectionUtils;
@@ -73,7 +74,7 @@ public class DzCardsController extends BaseController
     public TableDataInfo list(DzCards dzCards)
     {
         startPage();
-        List<DzCards> list = dzCardsService.selectDzCardsList(prepare(dzCards));
+        List<DzCards> list = dzCardsService.selectDzCardsList2(prepare(dzCards));
         return getDataTable(list);
     }
 
@@ -96,6 +97,12 @@ public class DzCardsController extends BaseController
                 }
             }
         }
+        boolean beginBlank = StringUtils.isBlank(dzCards.getBegin());
+        if (beginBlank && StringUtils.isNotBlank(dzCards.getEnd())) {
+            dzCards.setBegin(dzCards.getEnd());
+        } else if (!beginBlank) {
+            dzCards.setEnd(dzCards.getBegin());
+        }
         return dzCards;
     }
 
@@ -108,10 +115,6 @@ public class DzCardsController extends BaseController
     public void export(HttpServletResponse response, DzCards dzCards)
     {
         List<DzCards> list = dzCardsService.selectDzCardsList(prepare(dzCards));
-        for(DzCards dc : list) {
-            dc.getDeptId();
-
-        }
         ExcelUtil<DzCardExport> util = new ExcelUtil<DzCardExport>(DzCardExport.class);
         util.exportExcel(response, list.stream().map(t -> {
             DzCardExport exp = new DzCardExport();

+ 1 - 1
ie-admin/src/main/java/com/ruoyi/web/controller/front/UserController.java

@@ -398,7 +398,7 @@ public class UserController extends BaseController {
 //            return AjaxResult.error("卡已使用");
 //        }
 
-        if(!CardStatus.Open.getVal().equals(cards.getStatus()) || !CardStatus.Paid.getVal().equals(cards.getStatus())) {
+        if(!CardDistributeStatus.Assign.getVal().equals(cards.getDistributeStatus()) && !CardStatus.Free.getVal().equals(cards.getStatus())) {
             return AjaxResult.error("无效卡");
         }
         if(null != cards.getAssignSchoolId()) {

+ 2 - 1
ie-admin/src/main/java/com/ruoyi/web/service/SysRegisterService.java

@@ -8,6 +8,7 @@ import com.ruoyi.common.exception.base.BaseException;
 import com.ruoyi.common.utils.bean.BeanUtils;
 import com.ruoyi.dz.domain.DzCards;
 import com.ruoyi.dz.service.IDzCardsService;
+import com.ruoyi.enums.CardDistributeStatus;
 import com.ruoyi.enums.CardStatus;
 import com.ruoyi.enums.UserTypeEnum;
 import com.ruoyi.framework.web.service.TokenService;
@@ -209,7 +210,7 @@ public class SysRegisterService
             card.setClassId(register.getClassId());
 
             if(null == user.getCardId() || !user.getCardId().equals(card.getCardId())) { // 未绑定或换绑时激活卡
-                if(!CardStatus.Paid.getVal().equals(card.getStatus()) && !CardStatus.Open.getVal().equals(card.getStatus())) {
+                if(!CardDistributeStatus.Assign.getVal().equals(card.getDistributeStatus()) && !CardStatus.Free.getVal().equals(card.getStatus())) {
                     throw new RuntimeException("无效卡");
                 }
                 user.setEvalCounts("{\"1\":1,\"2\":1,\"3\":1,\"11\":1,\"0\":0}");

+ 3 - 3
ie-system/src/main/java/com/ruoyi/dz/domain/DzCards.java

@@ -42,11 +42,11 @@ public class DzCards extends BaseEntity
     private Integer type;
 
     /** 0未开卡,1已开卡,2已激活, */
-    @Excel(name = "0未开卡,1已开卡,2已激活,")
+    @Excel(name = "0未开卡,30已激活,")
     private Integer status;
 
     /** 0未分配,1已分配 */
-    @Excel(name = "0未分配,1已分配")
+    @Excel(name = "0未分配,10已分配,30关闭")
     private Integer distributeStatus;
 
     /** 9已过期,10已关卡,11已失效 */
@@ -86,7 +86,7 @@ public class DzCards extends BaseEntity
     @Excel(name = "分配考生类型")
     private String assignExamType;
 
-    @Excel(name = "分配考生类型")
+    @Excel(name = "注册考生类型")
     private String examType;
 
     /** 分配学校 */

+ 1 - 0
ie-system/src/main/java/com/ruoyi/dz/mapper/DzCardsMapper.java

@@ -31,6 +31,7 @@ public interface DzCardsMapper
      * @return 学习卡集合
      */
     public List<DzCards> selectDzCardsList(DzCards dzCards);
+    public List<DzCards> selectDzCardsList2(DzCards dzCards);
 
     /**
      * 新增学习卡

+ 1 - 0
ie-system/src/main/java/com/ruoyi/dz/service/IDzCardsService.java

@@ -35,6 +35,7 @@ public interface IDzCardsService
      * @return 学习卡集合
      */
     public List<DzCards> selectDzCardsList(DzCards dzCards);
+    public List<DzCards> selectDzCardsList2(DzCards dzCards);
 
     /**
      * 新增学习卡

+ 12 - 5
ie-system/src/main/java/com/ruoyi/dz/service/impl/DzCardsServiceImpl.java

@@ -132,9 +132,10 @@ public class DzCardsServiceImpl implements IDzCardsService
                 SysUser user = userMap.get(c.getCardId());
                 c.setPhonenumber(user.getPhonenumber());
                 c.setNickName(user.getNickName());
-                c.setExamType(user.getExamType().title());
+                c.setExamType(user.getExamType().name());
                 c.setLocation(user.getLocation());
             }
+            c.setType(CardType.getNewVal(c.getType()));
         }
         return list;
     }
@@ -151,6 +152,12 @@ public class DzCardsServiceImpl implements IDzCardsService
         return fillNames(dzCardsMapper.selectDzCardsList(dzCards));
     }
 
+    @Override
+    public List<DzCards> selectDzCardsList2(DzCards dzCards)
+    {
+        return fillNames(dzCardsMapper.selectDzCardsList2(dzCards));
+    }
+
     /**
      * 新增学习卡
      *
@@ -249,7 +256,7 @@ public class DzCardsServiceImpl implements IDzCardsService
             dzCards.setAssignSchoolId(schoolId);
             dzCards.setDistributeStatus(CardDistributeStatus.Assign.getVal());
             dzCards.setPayStatus(PayStatus.UnPay.getVal()); // TODO 暂时分配即开卡
-            dzCards.setStatus(CardStatus.Open.getVal());
+            // dzCards.setStatus(CardStatus.Open.getVal());
             dzCards.setOpenTime(DateUtils.getNowDate());
             dzCards.setDays(days);
             dzCardsMapper.updateDzCards(dzCards);
@@ -284,7 +291,7 @@ public class DzCardsServiceImpl implements IDzCardsService
             dzCards.setCardId(c.getCardId());
             dzCards.setPayTime(DateUtils.getNowDate());
             dzCards.setPayStatus(PayStatus.Paid.getVal());
-            dzCards.setStatus(CardStatus.Paid.getVal());
+            // dzCards.setStatus(CardStatus.Paid.getVal());
             dzCards.setDistributeStatus(CardDistributeStatus.Assign.getVal());
             dzCards.setAssignLocation(location);
             dzCards.setAssignSchoolId(schoolId);
@@ -356,7 +363,7 @@ public class DzCardsServiceImpl implements IDzCardsService
                 }
                 dzCards.setPayTime(DateUtils.getNowDate());
                 dzCards.setPayStatus(PayStatus.Paid.getVal());
-                dzCards.setStatus(CardStatus.Paid.getVal());
+                // dzCards.setStatus(CardStatus.Paid.getVal());
                 dzCards.setDistributeStatus(CardDistributeStatus.Assign.getVal());
                 dzCardsMapper.updateDzCards(dzCards);
             });
@@ -375,7 +382,7 @@ public class DzCardsServiceImpl implements IDzCardsService
                 throw new ValidationException("重复支付已支付卡: " + StringUtils.join(cardIds, ","));
             }
             up.setPayStatus(PayStatus.Paid.getVal());
-            up.setStatus(CardStatus.Paid.getVal());
+            // up.setStatus(CardStatus.Paid.getVal());
             up.setPayTime(DateUtils.getNowDate());
         } else if(CardAction.Close.equals(action)) {
             if(cards.stream().filter(t -> t.getDistributeStatus().equals(CardDistributeStatus.Close.getVal())).count() > 0) {

+ 1 - 1
ie-system/src/main/java/com/ruoyi/enums/CardStatus.java

@@ -7,7 +7,7 @@ import lombok.Getter;
 @Getter
 @AllArgsConstructor
 public enum CardStatus {
-    Free(0), Open(10), Paid(20), Active(30); // 未用/申请开卡/开卡成功且支付/激活
+    Free(0), Active(30); // 由于分配即开卡,去掉Open状态
 
     private final Integer val;
 }

+ 8 - 1
ie-system/src/main/java/com/ruoyi/enums/CardType.java

@@ -6,7 +6,14 @@ import lombok.Getter;
 @Getter
 @AllArgsConstructor
 public enum CardType {
-    Platform(6), Dept(2), ECard(7), Test(8), Experience(9); // 代理商 5, 教师 9
+    Vip(1), Platform(6), Dept(2), ECard(7), Test(8), Experience(9); // 代理商 5, 教师 9
 
     private final Integer val;
+
+    public static Integer getNewVal(Integer val) {
+        if(val == 6 || val == 2) {
+            return 1;
+        }
+        return val;
+    }
 }

+ 62 - 0
ie-system/src/main/resources/mapper/dz/DzCardsMapper.xml

@@ -103,6 +103,68 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
         order by card_id desc
     </select>
 
+    <select id="selectDzCardsList2" parameterType="DzCards" resultMap="DzCardsResult">
+        select c.card_id, card_no, c.password, c.type, c.status, distribute_status, time_status, pay_status, is_settlement, c.dept_id, agent_id, leaf_agent_id, campus_id, campus_class_id, assign_location,assign_exam_type,assign_school_id, school_id, class_id, c.year, c.end_year, open_id, c.remark, distribute_time, out_date, open_time, pay_time, active_time, days, settlement_time, refund_time, close_time, c.create_time, c.update_time
+        from dz_cards c left join sys_user u on c.`card_id` = u.`card_id`
+        <where>
+            <if test="cardNo != null  and cardNo != ''"> and c.card_no = #{cardNo}</if>
+            <if test="password != null  and password != ''"> and c.password = #{password}</if>
+            <if test="type != null "> and c.type = #{type}</if>
+            <if test="status != null "> and c.status = #{status}</if>
+            <if test="distributeStatus != null "> and distribute_status = #{distributeStatus}</if>
+            <if test="timeStatus != null "> and time_status = #{timeStatus}</if>
+            <if test="payStatus != null "> and pay_status = #{payStatus}</if>
+            <if test="isSettlement != null "> and is_settlement = #{isSettlement}</if>
+            <if test="deptId != null ">
+                AND (c.dept_id = #{deptId} OR c.dept_id IN ( SELECT t.dept_id FROM sys_dept t WHERE find_in_set(#{deptId}, ancestors) ))
+            </if>
+            <if test="agentId != null ">
+                AND (agent_id = #{agentId} OR agent_id IN ( SELECT t.agent_id FROM dz_agent t WHERE t.agent_id=#{agentId} ))
+            </if>
+            <if test="leafAgentId != null "> and c.leaf_agent_id = #{leafAgentId}</if>
+            <if test="campusId != null "> and c.campus_id = #{campusId}</if>
+            <if test="campusClassId != null "> and c.campus_class_id = #{campusClassId}</if>
+            <if test="assignLocation != null "> and c.assign_location = #{assignLocation}</if>
+            <if test="assignExamType != null "> and c.assign_exam_type = #{assignExamType}</if>
+            <if test="assignSchoolId != null "> and c.assign_school_id = #{assignSchoolId}</if>
+            <if test="examType != null "> and u.exam_type = #{examType}</if>
+            <if test="phonenumber != null "> and u.phonenumber = #{phonenumber}</if>
+            <if test="nickName != null "> and u.nick_name like concat('%', #{nickName}, '%')</if>
+            <if test="schoolId != null "> and c.school_id = #{schoolId}</if>
+            <if test="classId != null "> and c.class_id = #{classId}</if>
+            <if test="year != null "> and c.year = #{year}</if>
+            <if test="endYear != null "> and c.end_year = #{endYear}</if>
+            <if test="openId != null "> and open_id = #{openId}</if>
+            <if test="distributeTime != null "> and distribute_time = #{distributeTime}</if>
+            <if test="outDate != null "> and out_date = #{outDate}</if>
+            <if test="openTime != null "> and open_time = #{openTime}</if>
+            <if test="payTime != null "> and pay_time = #{payTime}</if>
+            <if test="activeTime != null "> and active_time = #{activeTime}</if>
+            <if test="settlementTime != null "> and settlement_time = #{settlementTime}</if>
+            <if test="refundTime != null "> and refund_time = #{refundTime}</if>
+            <if test="closeTime != null "> and close_time = #{closeTime}</if>
+            <if test="begin != null "> and card_no &gt;= #{begin}</if>
+            <if test="end != null "> and card_no &lt;= #{end}</if>
+            <if test="assignTimeBegin != null "> and date(distribute_time) &gt;= date(#{assignTimeBegin})</if>
+            <if test="assignTimeEnd != null "> and date(distribute_time) &lt;= date(#{assignTimeEnd})</if>
+
+            <!-- 根据统计类型添加条件 -->
+            <if test="statisticsType != null and statisticsType == 'openCard'">
+                AND (c.status = 10 OR c.status = 20 OR c.status = 30)
+            </if>
+            <if test="statisticsType != null and statisticsType == 'closeCard'">
+                AND distribute_status = 30
+            </if>
+            <if test="statisticsType != null and statisticsType == 'payCard'">
+                AND pay_status = 20
+            </if>
+            <if test="statisticsType != null and statisticsType == 'settlementCard'">
+                AND is_settlement = 1
+            </if>
+        </where>
+        order by card_id desc
+    </select>
+
     <select id="selectDzCardsByCardId" parameterType="Long" resultMap="DzCardsResult">
         <include refid="selectDzCardsVo"/>
         where card_id = #{cardId}