From e40a072541e1b31add7ed345e47adf61c49ecf4f Mon Sep 17 00:00:00 2001
From: jiaosong <jiaosong6760@dingtalk.com>
Date: 星期五, 13 十月 2023 09:05:39 +0800
Subject: [PATCH] #获取可退款信息
---
server/services/src/main/java/com/doumee/service/business/impl/MemberRidesServiceImpl.java | 36 +++++++++++++----
server/platform/src/main/java/com/doumee/api/business/BaseParamController.java | 19 +++++++++
server/services/src/main/java/com/doumee/service/business/impl/BaseParamServiceImpl.java | 8 +++
server/services/src/main/java/com/doumee/core/constants/Constants.java | 2 +
server/services/src/main/java/com/doumee/dao/business/model/BaseParam.java | 2
server/services/src/main/java/com/doumee/dao/business/web/response/MemberRidesDTO.java | 8 ++++
6 files changed, 63 insertions(+), 12 deletions(-)
diff --git a/server/platform/src/main/java/com/doumee/api/business/BaseParamController.java b/server/platform/src/main/java/com/doumee/api/business/BaseParamController.java
index 1afb6df..7cd7f8a 100644
--- a/server/platform/src/main/java/com/doumee/api/business/BaseParamController.java
+++ b/server/platform/src/main/java/com/doumee/api/business/BaseParamController.java
@@ -1,14 +1,18 @@
package com.doumee.api.business;
import com.doumee.api.BaseController;
+import com.doumee.core.annotation.LoginRequired;
import com.doumee.core.annotation.excel.ExcelExporter;
import com.doumee.core.annotation.pr.PreventRepeat;
+import com.doumee.core.constants.Constants;
import com.doumee.core.model.ApiResponse;
import com.doumee.core.model.PageWrap;
import com.doumee.core.model.PageData;
import com.doumee.dao.business.model.BaseParam;
import com.doumee.service.business.BaseParamService;
import io.swagger.annotations.Api;
+import io.swagger.annotations.ApiImplicitParam;
+import io.swagger.annotations.ApiImplicitParams;
import io.swagger.annotations.ApiOperation;
import org.apache.shiro.authz.annotation.RequiresPermissions;
import org.springframework.beans.factory.annotation.Autowired;
@@ -35,7 +39,7 @@
@ApiOperation("鏂板缓")
@PostMapping("/create")
@RequiresPermissions("business:baseparam:create")
- public ApiResponse create(@RequestBody @Validated BaseParam baseParam) {
+ public ApiResponse create(@RequestBody BaseParam baseParam) {
return ApiResponse.success(baseParamService.create(baseParam));
}
@@ -88,4 +92,17 @@
public ApiResponse findById(@PathVariable String id) {
return ApiResponse.success(baseParamService.findById(id));
}
+
+ @ApiOperation("鍩虹閰嶇疆鏁版嵁")
+ @GetMapping("/baseParamList")
+ @ApiImplicitParams({
+ @ApiImplicitParam(paramType = "query", dataType = "Integer", name = "type", value = "绫诲瀷 0杞﹁締鎶ヤ慨鍘熷洜 1寮哄埗杩樿溅鍘熷洜 2鏃堕暱鍑忓厤鍘熷洜 3鍗曡溅绫诲瀷", required = true)
+ })
+ public ApiResponse<List<BaseParam>> baseParamList (@RequestParam Integer type) {
+ BaseParam baseParam = new BaseParam();
+ baseParam.setIsdeleted(Constants.ZERO);
+ baseParam.setStatus(Constants.ZERO);
+ baseParam.setType(type);
+ return ApiResponse.success(baseParamService.findList(baseParam));
+ }
}
diff --git a/server/services/src/main/java/com/doumee/core/constants/Constants.java b/server/services/src/main/java/com/doumee/core/constants/Constants.java
index dd3f48b..6887607 100644
--- a/server/services/src/main/java/com/doumee/core/constants/Constants.java
+++ b/server/services/src/main/java/com/doumee/core/constants/Constants.java
@@ -30,6 +30,8 @@
public static final String FILE_DIR ="FILE_DIR" ;
public static final String PRIVATE_KEY = "PRIVATE_KEY";
public static final String PROJECT_FILE = "PROJECT_FILE";
+ public static final String FORCE_BACK_LOCK = "FORCE_BACK_LOCK";
+ public static final String FORCE_BACK_SITE = "FORCE_BACK_SITE";
public static String REDIS_DEBUG_STR="test_";
public interface MqttTopic{
//寮�閿侊紙鍙戝竷锛�
diff --git a/server/services/src/main/java/com/doumee/dao/business/model/BaseParam.java b/server/services/src/main/java/com/doumee/dao/business/model/BaseParam.java
index dd0bda3..d240853 100644
--- a/server/services/src/main/java/com/doumee/dao/business/model/BaseParam.java
+++ b/server/services/src/main/java/com/doumee/dao/business/model/BaseParam.java
@@ -62,7 +62,7 @@
@ApiModelProperty(value = "绫诲瀷 0杞﹁締淇濅慨鍘熷洜 1寮哄埗杩樿溅鍘熷洜 2鏃堕暱鍑忓厤鍘熷洜 3鍗曡溅绫诲瀷", example = "1")
@ExcelColumn(name="绫诲瀷 0杞﹁締淇濅慨鍘熷洜 1寮哄埗杩樿溅鍘熷洜 2鏃堕暱鍑忓厤鍘熷洜 3鍗曡溅绫诲瀷")
- @NotEmpty
+ @NotEmpty(message = "绫诲瀷鍙傛暟涓虹┖")
private Integer type;
@ApiModelProperty(value = "鐘舵�� 0鍚敤 1绂佺敤", example = "1")
diff --git a/server/services/src/main/java/com/doumee/dao/business/web/response/MemberRidesDTO.java b/server/services/src/main/java/com/doumee/dao/business/web/response/MemberRidesDTO.java
index 0829e99..0103499 100644
--- a/server/services/src/main/java/com/doumee/dao/business/web/response/MemberRidesDTO.java
+++ b/server/services/src/main/java/com/doumee/dao/business/web/response/MemberRidesDTO.java
@@ -15,6 +15,9 @@
@ApiModel("楠戣璁板綍杩斿洖")
public class MemberRidesDTO {
+ @ApiModelProperty(value = "缂栫爜")
+ private String id;
+
@ApiModelProperty(value = "鐢ㄦ埛OpenID")
@ExcelColumn(name="鐢ㄦ埛",index = 1,width = 10,align = HorizontalAlignment.CENTER)
private String openid;
@@ -50,4 +53,9 @@
@ExcelColumn(name="杩樿溅鏃堕棿",index = 9,width = 10,align = HorizontalAlignment.CENTER)
private Date backDate;
+ @ApiModelProperty(value = "绉熻溅绔欑偣缂栫爜")
+ private String rentSiteId;
+
+ @ApiModelProperty(value = "绉熻溅閿佸ご缂栫爜")
+ private String rentLockId;
}
diff --git a/server/services/src/main/java/com/doumee/service/business/impl/BaseParamServiceImpl.java b/server/services/src/main/java/com/doumee/service/business/impl/BaseParamServiceImpl.java
index dfba448..6a8a8b5 100644
--- a/server/services/src/main/java/com/doumee/service/business/impl/BaseParamServiceImpl.java
+++ b/server/services/src/main/java/com/doumee/service/business/impl/BaseParamServiceImpl.java
@@ -14,6 +14,7 @@
import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import org.apache.commons.lang3.StringUtils;
import org.apache.shiro.SecurityUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
@@ -38,11 +39,16 @@
public String create(BaseParam baseParam) {
LoginUserInfo principal = (LoginUserInfo) SecurityUtils.getSubject().getPrincipal();
+
+ if (Objects.isNull(baseParam.getType()) || StringUtils.isEmpty(baseParam.getName())){
+ throw new BusinessException(ResponseStatus.BAD_REQUEST.getCode(),"鍙傛暟閿欒");
+ }
+
QueryWrapper<BaseParam> wrapper = new QueryWrapper<>();
wrapper.lambda()
.eq(BaseParam::getType,baseParam.getType())
.eq(BaseParam::getIsdeleted,Constants.ZERO)
- .eq(BaseParam::getType,baseParam.getName());
+ .eq(BaseParam::getName,baseParam.getName());
Integer count = baseParamMapper.selectCount(wrapper);
if (count > 0){
diff --git a/server/services/src/main/java/com/doumee/service/business/impl/MemberRidesServiceImpl.java b/server/services/src/main/java/com/doumee/service/business/impl/MemberRidesServiceImpl.java
index 0ec50d7..a5b5d32 100644
--- a/server/services/src/main/java/com/doumee/service/business/impl/MemberRidesServiceImpl.java
+++ b/server/services/src/main/java/com/doumee/service/business/impl/MemberRidesServiceImpl.java
@@ -25,9 +25,12 @@
import com.doumee.dao.business.web.response.BikeLogDTO;
import com.doumee.dao.business.web.response.MemberRidesDTO;
import com.doumee.dao.business.web.response.MemberRidesDetailResponse;
+import com.doumee.dao.system.SystemDictDataMapper;
+import com.doumee.dao.system.model.SystemDictData;
import com.doumee.service.business.DeviceService;
import com.doumee.service.business.GoodsorderService;
import com.doumee.service.business.MemberRidesService;
+import com.doumee.service.system.SystemDictDataService;
import com.github.yulichang.wrapper.MPJLambdaWrapper;
import org.apache.commons.lang3.StringUtils;
import org.apache.shiro.SecurityUtils;
@@ -38,9 +41,8 @@
import org.springframework.util.CollectionUtils;
import java.math.BigDecimal;
-import java.util.Date;
-import java.util.List;
-import java.util.Objects;
+import java.util.*;
+import java.util.stream.Collectors;
/**
* 鐢ㄦ埛楠戣璁板綍琛⊿ervice瀹炵幇
@@ -78,6 +80,10 @@
@Autowired
private GoodsorderService goodsorderService;
+
+
+ @Autowired
+ private SystemDictDataMapper systemDictDataMapper;
@Override
public String create(MemberRides memberRides) {
@@ -168,7 +174,7 @@
MPJLambdaWrapper<MemberRides> queryWrapper = new MPJLambdaWrapper<>();
queryWrapper.leftJoin(BaseParam.class,BaseParam::getId,MemberRides::getParamId);
- queryWrapper.eq(MemberRides::getMemberId, id);
+ queryWrapper.eq(MemberRides::getId, id);
queryWrapper.selectAll(MemberRides.class);
queryWrapper.selectAs(BaseParam::getName,MemberRidesDTO::getBikeType) ;
queryWrapper.last("limit 1");
@@ -211,13 +217,17 @@
queryWrapper.le(model.getRentDateEnd()!=null, MemberRides::getRentDate,model.getRentDateEnd());
queryWrapper.eq(model.getCloseStatus()!=null,MemberRides::getCloseStatus, model.getCloseStatus());
queryWrapper.eq(model.getGoodsorderId()!=null,MemberRides::getOrdreId, model.getGoodsorderId());
- queryWrapper.selectAs(Member::getOpenid,MemberRidesDTO::getOpenid)
+ queryWrapper
+ .selectAs(MemberRides::getId,MemberRidesDTO::getId)
+ .selectAs(Member::getOpenid,MemberRidesDTO::getOpenid)
.selectAs(MemberRides::getBikeCode,MemberRidesDTO::getBikeCode)
.selectAs(MemberRides::getCloseStatus,MemberRidesDTO::getCloseStatus)
.selectAs(MemberRides::getStatus,MemberRidesDTO::getStatus)
.selectAs(BaseParam::getName,MemberRidesDTO::getBikeType)
.selectAs(MemberRides::getDuration,MemberRidesDTO::getDuration)
.selectAs(MemberRides::getRentDate,MemberRidesDTO::getRentDate)
+ .selectAs(MemberRides::getRentLockId,MemberRidesDTO::getRentLockId)
+ .selectAs(MemberRides::getRentSiteId,MemberRidesDTO::getRentSiteId)
.selectAs(MemberRides::getBackDate,MemberRidesDTO::getBackDate);
return queryWrapper;
}
@@ -243,7 +253,7 @@
@Override
public void updateDuration(MemberRides memberRides){
LoginUserInfo user =(LoginUserInfo) SecurityUtils.getSubject().getPrincipal();
- if(StringUtils.isBlank(memberRides.getMemberId())
+ if(StringUtils.isBlank(memberRides.getId())
||StringUtils.isBlank(memberRides.getBackReason())
|| memberRides.getDuration() == null){
throw new BusinessException(ResponseStatus.BAD_REQUEST);
@@ -304,10 +314,9 @@
*/
@Override
@Transactional(rollbackFor = {BusinessException.class,Exception.class})
- public void forceBack(MemberRides memberRides){
+ public void forceBack(MemberRides memberRides){
LoginUserInfo user =(LoginUserInfo) SecurityUtils.getSubject().getPrincipal();
- if(StringUtils.isBlank(memberRides.getMemberId())
- ||StringUtils.isBlank(memberRides.getBackReason())){
+ if(StringUtils.isBlank(memberRides.getBackReason())){
throw new BusinessException(ResponseStatus.BAD_REQUEST);
}
MemberRides model = findJoinById(memberRides.getId());
@@ -317,6 +326,12 @@
if(Constants.formatIntegerNum(model.getStatus()) != Constants.MEMBER_RIDES_STATUS.RIDES_RUNNING.getKey() ){
throw new BusinessException( ResponseStatus.NOT_ALLOWED.getCode(),"瀵逛笉璧凤紝鍙兘閽堝鏈繕杞﹁締杩涜寮哄埗杩樿溅鎿嶄綔锛�" );
}
+ QueryWrapper<SystemDictData> wrapper = new QueryWrapper<>();
+ wrapper.lambda()
+ .eq(SystemDictData::getLabel, Arrays.asList(Constants.FORCE_BACK_SITE,Constants.FORCE_BACK_LOCK));
+ List<SystemDictData> systemDictData = systemDictDataMapper.selectList(wrapper);
+ Map<String, SystemDictData> collect = systemDictData.stream().collect(Collectors.toMap(s -> s.getLabel(), s -> s));
+
MemberRides update = new MemberRides();
update.setId(model.getId());
update.setEditDate(new Date());
@@ -326,6 +341,9 @@
update.setBackReason(memberRides.getBackReason());
update.setBackUserid(user.getId());
update.setBackType(Constants.ONE);
+ update.setStatus(Constants.MEMBER_RIDES_STATUS.BACK_CYCLING.getKey());
+ update.setBackSiteId(collect.get(Constants.FORCE_BACK_SITE).getCode());
+ update.setBackLockId(collect.get(Constants.FORCE_BACK_LOCK).getCode());
//璁$畻楠戣璁¤垂鏃堕暱
update.setDuration(DateUtil.betweenMin(model.getRentDate(), update.getBackDate()));
memberRidesMapper.updateById(update);
--
Gitblit v1.9.3