|
@@ -1,15 +1,28 @@
|
|
|
package com.cyksj.web.controller.manage.statistics;
|
|
package com.cyksj.web.controller.manage.statistics;
|
|
|
|
|
|
|
|
|
|
+import cn.hutool.core.date.DateUtil;
|
|
|
import com.baomidou.mybatisplus.core.metadata.IPage;
|
|
import com.baomidou.mybatisplus.core.metadata.IPage;
|
|
|
import com.cyksj.common.exception.BusinessRuntimeException;
|
|
import com.cyksj.common.exception.BusinessRuntimeException;
|
|
|
import com.cyksj.dto.Result;
|
|
import com.cyksj.dto.Result;
|
|
|
import com.cyksj.enums.GatewayResponse;
|
|
import com.cyksj.enums.GatewayResponse;
|
|
|
|
|
+import com.cyksj.mapper.GroupsRelationMapper;
|
|
|
|
|
+import com.cyksj.mapper.manage.statistics.IncrExpiryTimeRecordMapper;
|
|
|
|
|
+import com.cyksj.model.entity.GroupsRelation;
|
|
|
|
|
+import com.cyksj.model.entity.IncrExpiryTimeRecord;
|
|
|
|
|
+import com.cyksj.model.request.RenewTimeUpReq;
|
|
|
import com.cyksj.model.views.BackgroundDataView;
|
|
import com.cyksj.model.views.BackgroundDataView;
|
|
|
import com.cyksj.model.views.ExpiredAccountDataView;
|
|
import com.cyksj.model.views.ExpiredAccountDataView;
|
|
|
import com.cyksj.service.mange.statistics.StatisticsDataService;
|
|
import com.cyksj.service.mange.statistics.StatisticsDataService;
|
|
|
|
|
+import com.ejlchina.searcher.BeanSearcher;
|
|
|
|
|
+import com.ejlchina.searcher.SearchResult;
|
|
|
|
|
+import com.ejlchina.searcher.util.MapUtils;
|
|
|
import lombok.RequiredArgsConstructor;
|
|
import lombok.RequiredArgsConstructor;
|
|
|
|
|
+import org.springframework.transaction.annotation.Transactional;
|
|
|
|
|
+import org.springframework.validation.annotation.Validated;
|
|
|
import org.springframework.web.bind.annotation.*;
|
|
import org.springframework.web.bind.annotation.*;
|
|
|
|
|
|
|
|
|
|
+import javax.servlet.http.HttpServletRequest;
|
|
|
|
|
+
|
|
|
/*
|
|
/*
|
|
|
*项目名: netflix
|
|
*项目名: netflix
|
|
|
*文件名: StatisticsDataController
|
|
*文件名: StatisticsDataController
|
|
@@ -24,6 +37,12 @@ public class StatisticsDataController {
|
|
|
|
|
|
|
|
private final StatisticsDataService statisticsDataService;
|
|
private final StatisticsDataService statisticsDataService;
|
|
|
|
|
|
|
|
|
|
+ private final GroupsRelationMapper groupsRelationMapper;
|
|
|
|
|
+
|
|
|
|
|
+ private final IncrExpiryTimeRecordMapper incrExpiryTimeRecordMapper;
|
|
|
|
|
+
|
|
|
|
|
+ private final BeanSearcher beanSearcher;
|
|
|
|
|
+
|
|
|
/**
|
|
/**
|
|
|
* 查询统计数据
|
|
* 查询统计数据
|
|
|
*/
|
|
*/
|
|
@@ -62,4 +81,42 @@ public class StatisticsDataController {
|
|
|
}
|
|
}
|
|
|
return statisticsDataService.updateHandleStatus(relationId);
|
|
return statisticsDataService.updateHandleStatus(relationId);
|
|
|
}
|
|
}
|
|
|
|
|
+
|
|
|
|
|
+
|
|
|
|
|
+ /**
|
|
|
|
|
+ * 增加续费时长
|
|
|
|
|
+ */
|
|
|
|
|
+ @PutMapping("/renewTime/up")
|
|
|
|
|
+ @Transactional(rollbackFor = Throwable.class)
|
|
|
|
|
+ public Result<String> addRenewTime(@RequestBody @Validated RenewTimeUpReq renewTimeUpReq) {
|
|
|
|
|
+ GroupsRelation relation = groupsRelationMapper.selectById(renewTimeUpReq.getRelationId());
|
|
|
|
|
+ if (relation == null) {
|
|
|
|
|
+ throw BusinessRuntimeException.getInstance("该车票已不存在");
|
|
|
|
|
+ }
|
|
|
|
|
+ if (relation.getStatus() != GroupsRelation.Status.validity) {
|
|
|
|
|
+ throw BusinessRuntimeException.getInstance("该车票无效");
|
|
|
|
|
+ }
|
|
|
|
|
+ if (relation.getExpiryTime() == null) {
|
|
|
|
|
+ throw BusinessRuntimeException.getInstance("车票已过期");
|
|
|
|
|
+ }
|
|
|
|
|
+ IncrExpiryTimeRecord incrExpiryTimeRecord = new IncrExpiryTimeRecord();
|
|
|
|
|
+ incrExpiryTimeRecord.setExpiryTimeInitial(relation.getExpiryTime());
|
|
|
|
|
+ incrExpiryTimeRecord.setIncrExpiryDays(renewTimeUpReq.getDays());
|
|
|
|
|
+ incrExpiryTimeRecord.setRemark(renewTimeUpReq.getRemark());
|
|
|
|
|
+ relation.setExpiryTime(DateUtil.offsetDay(relation.getExpiryTime(), renewTimeUpReq.getDays()));
|
|
|
|
|
+ groupsRelationMapper.updateById(relation);
|
|
|
|
|
+ //记录操作日志
|
|
|
|
|
+ incrExpiryTimeRecord.setUserId(relation.getUserId());
|
|
|
|
|
+ incrExpiryTimeRecord.setRelationId(relation.getId());
|
|
|
|
|
+ incrExpiryTimeRecordMapper.insert(incrExpiryTimeRecord);
|
|
|
|
|
+ return GatewayResponse.SUCCESS.newBuilder().toResult("增加车票有效期成功");
|
|
|
|
|
+ }
|
|
|
|
|
+
|
|
|
|
|
+ /**
|
|
|
|
|
+ * 增加续费操作记录
|
|
|
|
|
+ */
|
|
|
|
|
+ @GetMapping("/get/operation/record")
|
|
|
|
|
+ public Result<SearchResult<IncrExpiryTimeRecord>> getOpRecord(HttpServletRequest request) {
|
|
|
|
|
+ return GatewayResponse.SUCCESS.newBuilder().toResult(beanSearcher.search(IncrExpiryTimeRecord.class, MapUtils.flatBuilder(request.getParameterMap()).build()));
|
|
|
|
|
+ }
|
|
|
}
|
|
}
|