debug:退款
This commit is contained in:
parent
68770d6785
commit
3c1030b55b
|
@ -0,0 +1,17 @@
|
||||||
|
package com.ruoyi.common.core.domain.vo;
|
||||||
|
|
||||||
|
import io.swagger.annotations.ApiModelProperty;
|
||||||
|
import lombok.Data;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @author wjh
|
||||||
|
* 2024/11/28
|
||||||
|
*/
|
||||||
|
@Data
|
||||||
|
public class LongCountVO {
|
||||||
|
|
||||||
|
private Long key;
|
||||||
|
|
||||||
|
private Integer value;
|
||||||
|
|
||||||
|
}
|
|
@ -24,4 +24,6 @@ public class StoreStaffQuery extends StoreStaffVO {
|
||||||
@ApiModelProperty("权限")
|
@ApiModelProperty("权限")
|
||||||
private String permission;
|
private String permission;
|
||||||
|
|
||||||
|
@ApiModelProperty("用户ID列表")
|
||||||
|
private List<Long> userIds;
|
||||||
}
|
}
|
||||||
|
|
|
@ -2,6 +2,8 @@ package com.ruoyi.ss.storeStaff.mapper;
|
||||||
|
|
||||||
import java.math.BigDecimal;
|
import java.math.BigDecimal;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
|
|
||||||
|
import com.ruoyi.common.core.domain.vo.LongCountVO;
|
||||||
import com.ruoyi.ss.storeStaff.domain.StoreStaff;
|
import com.ruoyi.ss.storeStaff.domain.StoreStaff;
|
||||||
import com.ruoyi.ss.storeStaff.domain.StoreStaffVO;
|
import com.ruoyi.ss.storeStaff.domain.StoreStaffVO;
|
||||||
import com.ruoyi.ss.storeStaff.domain.StoreStaffQuery;
|
import com.ruoyi.ss.storeStaff.domain.StoreStaffQuery;
|
||||||
|
@ -75,4 +77,8 @@ public interface StoreStaffMapper
|
||||||
|
|
||||||
int bindUser(@Param("employId") Long employId,@Param("userId") Long userId);
|
int bindUser(@Param("employId") Long employId,@Param("userId") Long userId);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 根据用户统计店员数量
|
||||||
|
*/
|
||||||
|
List<LongCountVO> selectCountGroupByUserId(@Param("query") StoreStaffQuery query);
|
||||||
}
|
}
|
||||||
|
|
|
@ -83,6 +83,15 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
|
||||||
</where>
|
</where>
|
||||||
</select>
|
</select>
|
||||||
|
|
||||||
|
<select id="selectCountGroupByUserId" resultType="LongCountVO">
|
||||||
|
select sss.user_id as `key`, count(sss.employ_id) as `value`
|
||||||
|
from ss_store_staff sss
|
||||||
|
<where>
|
||||||
|
<include refid="searchCondition"/>
|
||||||
|
</where>
|
||||||
|
group by `key`
|
||||||
|
</select>
|
||||||
|
|
||||||
<insert id="insertStoreStaff" parameterType="StoreStaff" useGeneratedKeys="true" keyProperty="employId">
|
<insert id="insertStoreStaff" parameterType="StoreStaff" useGeneratedKeys="true" keyProperty="employId">
|
||||||
insert into ss_store_staff
|
insert into ss_store_staff
|
||||||
<trim prefix="(" suffix=")" suffixOverrides=",">
|
<trim prefix="(" suffix=")" suffixOverrides=",">
|
||||||
|
|
|
@ -2,6 +2,8 @@ package com.ruoyi.ss.storeStaff.service;
|
||||||
|
|
||||||
import java.math.BigDecimal;
|
import java.math.BigDecimal;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
|
|
||||||
|
import com.ruoyi.common.core.domain.vo.LongCountVO;
|
||||||
import com.ruoyi.ss.storeStaff.domain.StoreStaff;
|
import com.ruoyi.ss.storeStaff.domain.StoreStaff;
|
||||||
import com.ruoyi.ss.storeStaff.domain.StoreStaffVO;
|
import com.ruoyi.ss.storeStaff.domain.StoreStaffVO;
|
||||||
import com.ruoyi.ss.storeStaff.domain.StoreStaffQuery;
|
import com.ruoyi.ss.storeStaff.domain.StoreStaffQuery;
|
||||||
|
@ -81,4 +83,9 @@ public interface StoreStaffService
|
||||||
* 绑定用户为店铺员工
|
* 绑定用户为店铺员工
|
||||||
*/
|
*/
|
||||||
int bindUser(Long employId, Long userId);
|
int bindUser(Long employId, Long userId);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 根据用户查询店铺员工
|
||||||
|
*/
|
||||||
|
List<LongCountVO> selectCountGroupByUserId(StoreStaffQuery query);
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,7 +1,10 @@
|
||||||
package com.ruoyi.ss.storeStaff.service.impl;
|
package com.ruoyi.ss.storeStaff.service.impl;
|
||||||
|
|
||||||
import java.math.BigDecimal;
|
import java.math.BigDecimal;
|
||||||
|
import java.util.Collections;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
|
|
||||||
|
import com.ruoyi.common.core.domain.vo.LongCountVO;
|
||||||
import com.ruoyi.common.utils.DateUtils;
|
import com.ruoyi.common.utils.DateUtils;
|
||||||
import com.ruoyi.common.utils.ServiceUtil;
|
import com.ruoyi.common.utils.ServiceUtil;
|
||||||
import com.ruoyi.common.utils.collection.CollectionUtils;
|
import com.ruoyi.common.utils.collection.CollectionUtils;
|
||||||
|
@ -174,4 +177,9 @@ public class StoreStaffServiceImpl implements StoreStaffService
|
||||||
|
|
||||||
return result == null ? 0 : result;
|
return result == null ? 0 : result;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public List<LongCountVO> selectCountGroupByUserId(StoreStaffQuery query) {
|
||||||
|
return storeStaffMapper.selectCountGroupByUserId(query);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -1090,7 +1090,7 @@ public class TransactionBillServiceImpl implements TransactionBillService, After
|
||||||
TransactionBillVO order = bo.getOrder();
|
TransactionBillVO order = bo.getOrder();
|
||||||
DeviceVO device = bo.getDevice();
|
DeviceVO device = bo.getDevice();
|
||||||
ServiceUtil.assertion(order == null, "订单不存在");
|
ServiceUtil.assertion(order == null, "订单不存在");
|
||||||
// ServiceUtil.assertion(!TransactionBillStatus.SUCCESS_DEPOSIT.getStatus().equals(order.getStatus()), "当前订单状态不允许结束");
|
ServiceUtil.assertion(!TransactionBillStatus.SUCCESS_DEPOSIT.getStatus().equals(order.getStatus()), "当前订单状态不允许结束");
|
||||||
ServiceUtil.assertion(order.getIsFinished() != null && order.getIsFinished(), "当前订单已结束,无法操作");
|
ServiceUtil.assertion(order.getIsFinished() != null && order.getIsFinished(), "当前订单已结束,无法操作");
|
||||||
ServiceUtil.assertion(device == null, "设备不存在");
|
ServiceUtil.assertion(device == null, "设备不存在");
|
||||||
|
|
||||||
|
@ -1185,6 +1185,7 @@ public class TransactionBillServiceImpl implements TransactionBillService, After
|
||||||
ServiceUtil.assertion(order == null, "订单不存在");
|
ServiceUtil.assertion(order == null, "订单不存在");
|
||||||
ServiceUtil.assertion(!SuitFeeMode.SMART.getMode().equals(order.getSuitFeeMode()), "当前订单非智能收费订单,无法提前结束");
|
ServiceUtil.assertion(!SuitFeeMode.SMART.getMode().equals(order.getSuitFeeMode()), "当前订单非智能收费订单,无法提前结束");
|
||||||
ServiceUtil.assertion(order.getIsFinished() != null && order.getIsFinished(), "当前订单已结束,无法操作");
|
ServiceUtil.assertion(order.getIsFinished() != null && order.getIsFinished(), "当前订单已结束,无法操作");
|
||||||
|
ServiceUtil.assertion(!TransactionBillStatus.SUCCESS.getStatus().equals(order.getStatus()), "当前订单状态不允许结束");
|
||||||
ServiceUtil.assertion(device == null, "设备不存在");
|
ServiceUtil.assertion(device == null, "设备不存在");
|
||||||
|
|
||||||
LocalDateTime endTime = LocalDateTime.now(); // 结束使用的时间
|
LocalDateTime endTime = LocalDateTime.now(); // 结束使用的时间
|
||||||
|
@ -1224,7 +1225,7 @@ public class TransactionBillServiceImpl implements TransactionBillService, After
|
||||||
refundDto.setRefundReason(String.format("充值订单%s智能退款%s元", order.getBillNo(), refundAmount));
|
refundDto.setRefundReason(String.format("充值订单%s智能退款%s元", order.getBillNo(), refundAmount));
|
||||||
int refund = this.refund(refundDto);
|
int refund = this.refund(refundDto);
|
||||||
ServiceUtil.assertion(refund != 1, "申请退款失败");
|
ServiceUtil.assertion(refund != 1, "申请退款失败");
|
||||||
}, 0, TimeUnit.SECONDS);
|
}, 10, TimeUnit.SECONDS);
|
||||||
}
|
}
|
||||||
|
|
||||||
// 清零设备
|
// 清零设备
|
||||||
|
@ -1749,6 +1750,7 @@ public class TransactionBillServiceImpl implements TransactionBillService, After
|
||||||
ServiceUtil.assertion(bill == null, "待退款的订单不存在");
|
ServiceUtil.assertion(bill == null, "待退款的订单不存在");
|
||||||
ServiceUtil.assertion(dto.getRefundAmount().compareTo(bill.getMoney()) > 0, "退款金额不允许大于订单金额");
|
ServiceUtil.assertion(dto.getRefundAmount().compareTo(bill.getMoney()) > 0, "退款金额不允许大于订单金额");
|
||||||
ServiceUtil.assertion(!TransactionBillStatus.SUCCESS.getStatus().equals(bill.getStatus()), "当前订单状态不允许退款");
|
ServiceUtil.assertion(!TransactionBillStatus.SUCCESS.getStatus().equals(bill.getStatus()), "当前订单状态不允许退款");
|
||||||
|
ServiceUtil.assertion(bill.getIsFinished() == null || !bill.getIsFinished(), "当前订单未完成,不允许退款");
|
||||||
|
|
||||||
// 拼接分成列表
|
// 拼接分成列表
|
||||||
transactionAssembler.assembleBonusList(bill);
|
transactionAssembler.assembleBonusList(bill);
|
||||||
|
@ -1762,6 +1764,7 @@ public class TransactionBillServiceImpl implements TransactionBillService, After
|
||||||
TransactionBillQuery billQuery = new TransactionBillQuery();
|
TransactionBillQuery billQuery = new TransactionBillQuery();
|
||||||
billQuery.setBillId(dto.getBillId());
|
billQuery.setBillId(dto.getBillId());
|
||||||
billQuery.setStatus(TransactionBillStatus.SUCCESS.getStatus());
|
billQuery.setStatus(TransactionBillStatus.SUCCESS.getStatus());
|
||||||
|
billQuery.setIsFinished(true);
|
||||||
int updateBill = this.updateByQuery(data, billQuery);
|
int updateBill = this.updateByQuery(data, billQuery);
|
||||||
ServiceUtil.assertion(updateBill != 1, "退款时修改订单状态失败,订单状态已发生改变,请刷新后重试");
|
ServiceUtil.assertion(updateBill != 1, "退款时修改订单状态失败,订单状态已发生改变,请刷新后重试");
|
||||||
|
|
||||||
|
|
|
@ -57,4 +57,8 @@ public class SmUserVO extends SmUser {
|
||||||
@JsonView(JsonViewProfile.App.class)
|
@JsonView(JsonViewProfile.App.class)
|
||||||
private BigDecimal waitBonusAmount;
|
private BigDecimal waitBonusAmount;
|
||||||
|
|
||||||
|
@ApiModelProperty("是否店铺员工")
|
||||||
|
@JsonView(JsonViewProfile.App.class)
|
||||||
|
private Boolean isStaff;
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
|
@ -35,4 +35,9 @@ public interface UserAssembler {
|
||||||
* @param list
|
* @param list
|
||||||
*/
|
*/
|
||||||
void assembleWaitBonusAmount(List<SmUserVO> list);
|
void assembleWaitBonusAmount(List<SmUserVO> list);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 拼接是否店铺员工
|
||||||
|
*/
|
||||||
|
void assembleIsStaff(List<SmUserVO> list);
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,5 +1,6 @@
|
||||||
package com.ruoyi.ss.user.service.impl;
|
package com.ruoyi.ss.user.service.impl;
|
||||||
|
|
||||||
|
import com.ruoyi.common.core.domain.vo.LongCountVO;
|
||||||
import com.ruoyi.common.domain.vo.LongDecimalVO;
|
import com.ruoyi.common.domain.vo.LongDecimalVO;
|
||||||
import com.ruoyi.common.utils.ServiceUtil;
|
import com.ruoyi.common.utils.ServiceUtil;
|
||||||
import com.ruoyi.common.utils.collection.CollectionUtils;
|
import com.ruoyi.common.utils.collection.CollectionUtils;
|
||||||
|
@ -13,6 +14,8 @@ import com.ruoyi.ss.device.domain.enums.DeviceGroupBy;
|
||||||
import com.ruoyi.ss.device.domain.enums.DeviceGroupByTable;
|
import com.ruoyi.ss.device.domain.enums.DeviceGroupByTable;
|
||||||
import com.ruoyi.ss.device.service.DeviceService;
|
import com.ruoyi.ss.device.service.DeviceService;
|
||||||
import com.ruoyi.ss.store.service.StoreService;
|
import com.ruoyi.ss.store.service.StoreService;
|
||||||
|
import com.ruoyi.ss.storeStaff.domain.StoreStaffQuery;
|
||||||
|
import com.ruoyi.ss.storeStaff.service.StoreStaffService;
|
||||||
import com.ruoyi.ss.user.domain.SmUserVO;
|
import com.ruoyi.ss.user.domain.SmUserVO;
|
||||||
import com.ruoyi.ss.user.service.UserAssembler;
|
import com.ruoyi.ss.user.service.UserAssembler;
|
||||||
import com.ruoyi.system.domain.enums.config.ConfigKey;
|
import com.ruoyi.system.domain.enums.config.ConfigKey;
|
||||||
|
@ -45,6 +48,9 @@ public class UserAssemblerImpl implements UserAssembler {
|
||||||
@Autowired
|
@Autowired
|
||||||
private BonusService bonusService;
|
private BonusService bonusService;
|
||||||
|
|
||||||
|
@Autowired
|
||||||
|
private StoreStaffService storeStaffService;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 拼接用户店铺数量
|
* 拼接用户店铺数量
|
||||||
*
|
*
|
||||||
|
@ -153,4 +159,24 @@ public class UserAssemblerImpl implements UserAssembler {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void assembleIsStaff(List<SmUserVO> list) {
|
||||||
|
if (CollectionUtils.isEmptyElement(list)) {
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
StoreStaffQuery query = new StoreStaffQuery();
|
||||||
|
query.setUserIds(CollectionUtils.map(list, SmUserVO::getUserId));
|
||||||
|
List<LongCountVO> counts = storeStaffService.selectCountGroupByUserId(query);
|
||||||
|
|
||||||
|
for (SmUserVO user : list) {
|
||||||
|
LongCountVO count = counts.stream().filter(item -> Objects.equals(item.getKey(), user.getUserId())).findFirst().orElse(null);
|
||||||
|
if (count == null || count.getValue() == null || count.getValue() < 1) {
|
||||||
|
user.setIsStaff(false);
|
||||||
|
} else {
|
||||||
|
user.setIsStaff(true);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -94,6 +94,7 @@ public class AppUserController extends BaseController {
|
||||||
userAssembler.assembleStoreCount(list);
|
userAssembler.assembleStoreCount(list);
|
||||||
userAssembler.assembleDeviceCount(list);
|
userAssembler.assembleDeviceCount(list);
|
||||||
userAssembler.assembleWaitBonusAmount(list);
|
userAssembler.assembleWaitBonusAmount(list);
|
||||||
|
userAssembler.assembleIsStaff(list);
|
||||||
return AjaxResult.success(user);
|
return AjaxResult.success(user);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue
Block a user