分组
This commit is contained in:
@ -104,8 +104,8 @@ public class CardController {
|
|||||||
@PutMapping("/recharge")
|
@PutMapping("/recharge")
|
||||||
@Operation(summary = "充值")
|
@Operation(summary = "充值")
|
||||||
//@PreAuthorize("@ss.hasPermission('member:card:update')")
|
//@PreAuthorize("@ss.hasPermission('member:card:update')")
|
||||||
public CommonResult<Boolean> recharge(BigDecimal money,BigDecimal giftMoney) {
|
public CommonResult<Boolean> recharge(BigDecimal money,BigDecimal giftMoney,Long userId) {
|
||||||
cardService.recharge(money, CardDO.ADD,giftMoney, SecurityFrameworkUtils.getLoginUserId());
|
cardService.recharge(money, CardDO.ADD,giftMoney, userId);
|
||||||
return success(true);
|
return success(true);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -5,11 +5,9 @@ import cn.hutool.core.date.DatePattern;
|
|||||||
import cn.hutool.core.date.DateTime;
|
import cn.hutool.core.date.DateTime;
|
||||||
import cn.iocoder.yudao.framework.common.pojo.CommonResult;
|
import cn.iocoder.yudao.framework.common.pojo.CommonResult;
|
||||||
import cn.iocoder.yudao.framework.common.util.object.BeanUtils;
|
import cn.iocoder.yudao.framework.common.util.object.BeanUtils;
|
||||||
|
import cn.iocoder.yudao.module.member.controller.admin.business.vo.BusinessRespVO;
|
||||||
import cn.iocoder.yudao.module.member.controller.admin.customertraffic.vo.CustomerTrafficRespVO;
|
import cn.iocoder.yudao.module.member.controller.admin.customertraffic.vo.CustomerTrafficRespVO;
|
||||||
import cn.iocoder.yudao.module.member.controller.admin.screen.vo.CarTeenInfoVO;
|
import cn.iocoder.yudao.module.member.controller.admin.screen.vo.*;
|
||||||
import cn.iocoder.yudao.module.member.controller.admin.screen.vo.DeviceInfo;
|
|
||||||
import cn.iocoder.yudao.module.member.controller.admin.screen.vo.DishVO;
|
|
||||||
import cn.iocoder.yudao.module.member.controller.admin.screen.vo.StoreEvaluateVO;
|
|
||||||
import cn.iocoder.yudao.module.member.controller.admin.userpreference.vo.UserPreferencePercentVO;
|
import cn.iocoder.yudao.module.member.controller.admin.userpreference.vo.UserPreferencePercentVO;
|
||||||
import cn.iocoder.yudao.module.member.dal.dataobject.business.BusinessDO;
|
import cn.iocoder.yudao.module.member.dal.dataobject.business.BusinessDO;
|
||||||
import cn.iocoder.yudao.module.member.dal.dataobject.customertraffic.CustomerTrafficDO;
|
import cn.iocoder.yudao.module.member.dal.dataobject.customertraffic.CustomerTrafficDO;
|
||||||
@ -26,10 +24,7 @@ import io.swagger.v3.oas.annotations.Parameter;
|
|||||||
import io.swagger.v3.oas.annotations.Parameters;
|
import io.swagger.v3.oas.annotations.Parameters;
|
||||||
import io.swagger.v3.oas.annotations.tags.Tag;
|
import io.swagger.v3.oas.annotations.tags.Tag;
|
||||||
import org.springframework.format.annotation.DateTimeFormat;
|
import org.springframework.format.annotation.DateTimeFormat;
|
||||||
import org.springframework.web.bind.annotation.GetMapping;
|
import org.springframework.web.bind.annotation.*;
|
||||||
import org.springframework.web.bind.annotation.RequestMapping;
|
|
||||||
import org.springframework.web.bind.annotation.RequestParam;
|
|
||||||
import org.springframework.web.bind.annotation.RestController;
|
|
||||||
|
|
||||||
import javax.annotation.Resource;
|
import javax.annotation.Resource;
|
||||||
import javax.annotation.security.PermitAll;
|
import javax.annotation.security.PermitAll;
|
||||||
@ -192,4 +187,19 @@ public class ScreenController {
|
|||||||
return success(deviceInfo);
|
return success(deviceInfo);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@GetMapping("/turnover")
|
||||||
|
@Operation(summary = "获取食堂营业额")
|
||||||
|
@PermitAll
|
||||||
|
public CommonResult<BusinessRespVO> getCanteenTurnover(TurnoverVO turnoverVO) {
|
||||||
|
return success(businessService.getTurnover(turnoverVO));
|
||||||
|
}
|
||||||
|
|
||||||
|
@GetMapping("/turnoverHistogram")
|
||||||
|
@Operation(summary = "获取食堂营业额柱状图")
|
||||||
|
@PermitAll
|
||||||
|
public CommonResult<List<BusinessRespVO>> getCanteenTurnoverHistogram(TurnoverVO turnoverVO) {
|
||||||
|
return success(businessService.getTurnoverList(turnoverVO));
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
@ -0,0 +1,24 @@
|
|||||||
|
package cn.iocoder.yudao.module.member.controller.admin.screen.vo;
|
||||||
|
|
||||||
|
|
||||||
|
import com.fasterxml.jackson.annotation.JsonFormat;
|
||||||
|
import com.sun.xml.internal.ws.developer.Serialization;
|
||||||
|
import io.swagger.v3.oas.annotations.media.Schema;
|
||||||
|
import lombok.Data;
|
||||||
|
import org.springframework.format.annotation.DateTimeFormat;
|
||||||
|
|
||||||
|
import java.io.Serializable;
|
||||||
|
import java.time.LocalDateTime;
|
||||||
|
|
||||||
|
@Data
|
||||||
|
public class TurnoverVO {
|
||||||
|
|
||||||
|
@Schema(description = "开始时间 yyyy-MM-dd HH:mm:ss")
|
||||||
|
private String startTime;
|
||||||
|
|
||||||
|
@Schema(description = "结束时间 yyyy-MM-dd HH:mm:ss")
|
||||||
|
private String endTime;
|
||||||
|
|
||||||
|
@Schema(description = "门店")
|
||||||
|
private Long carteenId;
|
||||||
|
}
|
@ -126,7 +126,7 @@ public class MemberUserController {
|
|||||||
memberUserRespVO.setTagNames(tagNames);
|
memberUserRespVO.setTagNames(tagNames);
|
||||||
}
|
}
|
||||||
memberUserRespVO.setFaceUrl(memberUserService.getFaceUrl(memberUserRespVO.getId()));
|
memberUserRespVO.setFaceUrl(memberUserService.getFaceUrl(memberUserRespVO.getId()));
|
||||||
memberUserRespVO.setGroupName(MemberGroupService.getGroupNameByUserId(id));
|
// memberUserRespVO.setGroupName(MemberGroupService.getGroupNameByUserId(id));
|
||||||
return success(memberUserRespVO);
|
return success(memberUserRespVO);
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -153,9 +153,9 @@ public class MemberUserController {
|
|||||||
convertSet(pageResult.getList(), MemberUserDO::getGroupId));
|
convertSet(pageResult.getList(), MemberUserDO::getGroupId));
|
||||||
PageResult<MemberUserRespVO> memberUserRespVOPageResult = MemberUserConvert.INSTANCE.convertPage(pageResult, tags, levels, groups);
|
PageResult<MemberUserRespVO> memberUserRespVOPageResult = MemberUserConvert.INSTANCE.convertPage(pageResult, tags, levels, groups);
|
||||||
//处理用户分组返显
|
//处理用户分组返显
|
||||||
Map<Long, String> groupNames = MemberGroupService.getGroupNameByUserIds(pageResult.getList().stream().map(MemberUserDO::getId).collect(Collectors.toList()));
|
// Map<Long, String> groupNames = MemberGroupService.getGroupNameByUserIds(pageResult.getList().stream().map(MemberUserDO::getId).collect(Collectors.toList()));
|
||||||
memberUserRespVOPageResult.getList().forEach(respVo->{
|
memberUserRespVOPageResult.getList().forEach(respVo->{
|
||||||
respVo.setGroupName(groupNames.get(respVo.getId()));
|
// respVo.setGroupName(groupNames.get(respVo.getId()));
|
||||||
respVo.setFaceUrl(memberUserService.getFaceUrl(respVo.getId()));
|
respVo.setFaceUrl(memberUserService.getFaceUrl(respVo.getId()));
|
||||||
});
|
});
|
||||||
return success(memberUserRespVOPageResult);
|
return success(memberUserRespVOPageResult);
|
||||||
|
@ -84,4 +84,14 @@ public class CardDO extends BaseDO {
|
|||||||
* 门店
|
* 门店
|
||||||
*/
|
*/
|
||||||
private Long carteenId;
|
private Long carteenId;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 分组
|
||||||
|
*/
|
||||||
|
private Long groupId;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 组名
|
||||||
|
*/
|
||||||
|
private String groupName;
|
||||||
}
|
}
|
@ -62,5 +62,5 @@ public interface MemberGroupMapper extends BaseMapperX<MemberGroupDO> {
|
|||||||
@Delete("delete from member_group_member where group_id = #{groupId}")
|
@Delete("delete from member_group_member where group_id = #{groupId}")
|
||||||
void deleteAssociation(Long groupId);
|
void deleteAssociation(Long groupId);
|
||||||
|
|
||||||
Long getCarteenId(Long userId);
|
List<Long> getCarteenId(Long userId);
|
||||||
}
|
}
|
||||||
|
@ -5,6 +5,7 @@ import cn.iocoder.yudao.module.member.controller.admin.business.vo.BusinessPageR
|
|||||||
import cn.iocoder.yudao.module.member.controller.admin.business.vo.BusinessRespVO;
|
import cn.iocoder.yudao.module.member.controller.admin.business.vo.BusinessRespVO;
|
||||||
import cn.iocoder.yudao.module.member.controller.admin.business.vo.BusinessSaveReqVO;
|
import cn.iocoder.yudao.module.member.controller.admin.business.vo.BusinessSaveReqVO;
|
||||||
import cn.iocoder.yudao.module.member.controller.admin.business.vo.StatisticsVo;
|
import cn.iocoder.yudao.module.member.controller.admin.business.vo.StatisticsVo;
|
||||||
|
import cn.iocoder.yudao.module.member.controller.admin.screen.vo.TurnoverVO;
|
||||||
import cn.iocoder.yudao.module.member.controller.app.business.vo.BusinessDataVO;
|
import cn.iocoder.yudao.module.member.controller.app.business.vo.BusinessDataVO;
|
||||||
import cn.iocoder.yudao.module.member.dal.dataobject.business.BusinessDO;
|
import cn.iocoder.yudao.module.member.dal.dataobject.business.BusinessDO;
|
||||||
|
|
||||||
@ -66,4 +67,8 @@ public interface BusinessService {
|
|||||||
BusinessDataVO getMonth(String time,Long carteenId);
|
BusinessDataVO getMonth(String time,Long carteenId);
|
||||||
|
|
||||||
BusinessDO getToday(Long carteenId);
|
BusinessDO getToday(Long carteenId);
|
||||||
|
|
||||||
|
BusinessRespVO getTurnover(TurnoverVO turnoverVO);
|
||||||
|
|
||||||
|
List<BusinessRespVO> getTurnoverList(TurnoverVO turnoverVO);
|
||||||
}
|
}
|
@ -8,6 +8,7 @@ import cn.iocoder.yudao.module.member.controller.admin.business.vo.BusinessPageR
|
|||||||
import cn.iocoder.yudao.module.member.controller.admin.business.vo.BusinessRespVO;
|
import cn.iocoder.yudao.module.member.controller.admin.business.vo.BusinessRespVO;
|
||||||
import cn.iocoder.yudao.module.member.controller.admin.business.vo.BusinessSaveReqVO;
|
import cn.iocoder.yudao.module.member.controller.admin.business.vo.BusinessSaveReqVO;
|
||||||
import cn.iocoder.yudao.module.member.controller.admin.business.vo.StatisticsVo;
|
import cn.iocoder.yudao.module.member.controller.admin.business.vo.StatisticsVo;
|
||||||
|
import cn.iocoder.yudao.module.member.controller.admin.screen.vo.TurnoverVO;
|
||||||
import cn.iocoder.yudao.module.member.controller.app.business.vo.BusinessDataVO;
|
import cn.iocoder.yudao.module.member.controller.app.business.vo.BusinessDataVO;
|
||||||
import cn.iocoder.yudao.module.member.dal.dataobject.business.BusinessDO;
|
import cn.iocoder.yudao.module.member.dal.dataobject.business.BusinessDO;
|
||||||
import cn.iocoder.yudao.module.member.dal.dataobject.orderdetail.OrderDetailDO;
|
import cn.iocoder.yudao.module.member.dal.dataobject.orderdetail.OrderDetailDO;
|
||||||
@ -37,6 +38,7 @@ import java.time.LocalDateTime;
|
|||||||
import java.time.LocalTime;
|
import java.time.LocalTime;
|
||||||
import java.time.YearMonth;
|
import java.time.YearMonth;
|
||||||
import java.time.format.DateTimeFormatter;
|
import java.time.format.DateTimeFormatter;
|
||||||
|
import java.time.temporal.TemporalAdjusters;
|
||||||
import java.time.temporal.WeekFields;
|
import java.time.temporal.WeekFields;
|
||||||
import java.util.*;
|
import java.util.*;
|
||||||
import java.util.stream.Collectors;
|
import java.util.stream.Collectors;
|
||||||
@ -398,4 +400,75 @@ public class BusinessServiceImpl implements BusinessService {
|
|||||||
.eq(BusinessDO::getCarteenId, carteenId));
|
.eq(BusinessDO::getCarteenId, carteenId));
|
||||||
return CollectionUtil.isNotEmpty(businessDOS)?businessDOS.get(0):new BusinessDO();
|
return CollectionUtil.isNotEmpty(businessDOS)?businessDOS.get(0):new BusinessDO();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public BusinessRespVO getTurnover(TurnoverVO turnoverVO) {
|
||||||
|
|
||||||
|
List<BusinessDO> businessDOS = businessMapper.selectList(Wrappers.<BusinessDO>lambdaQuery()
|
||||||
|
.between(BusinessDO::getCreateTime,MemberTimeUtils.string2Time(turnoverVO.getStartTime()), MemberTimeUtils.string2Time(turnoverVO.getEndTime()))
|
||||||
|
.eq(BusinessDO::getCarteenId, turnoverVO.getCarteenId()));
|
||||||
|
BusinessRespVO businessDO = getInitBusinessRespVO();
|
||||||
|
if(CollectionUtil.isNotEmpty(businessDOS)){
|
||||||
|
businessDO.setTurnover(businessDOS.stream().map(BusinessDO::getTurnover).reduce(BigDecimal.ZERO, BigDecimal::add));
|
||||||
|
businessDO.setOrderSum(businessDOS.stream().map(BusinessDO::getOrderSum).reduce(0, Integer::sum));
|
||||||
|
businessDO.setCustomerSum(businessDOS.stream().map(BusinessDO::getCustomerSum).reduce(0, Integer::sum));
|
||||||
|
businessDO.setPriceAvg(businessDOS.stream().map(BusinessDO::getPriceAvg).reduce(BigDecimal.ZERO, BigDecimal::add));
|
||||||
|
businessDO.setBreakfast(businessDOS.stream().map(BusinessDO::getBreakfast).reduce(BigDecimal.ZERO, BigDecimal::add));
|
||||||
|
businessDO.setLunch(businessDOS.stream().map(BusinessDO::getLunch).reduce(BigDecimal.ZERO, BigDecimal::add));
|
||||||
|
businessDO.setDinner(businessDOS.stream().map(BusinessDO::getDinner).reduce(BigDecimal.ZERO, BigDecimal::add));
|
||||||
|
businessDO.setBreakfastNum(businessDOS.stream().map(BusinessDO::getBreakfastNum).reduce(0, Integer::sum));
|
||||||
|
businessDO.setLunchNum(businessDOS.stream().map(BusinessDO::getLunchNum).reduce(0, Integer::sum));
|
||||||
|
businessDO.setDinnerNum(businessDOS.stream().map(BusinessDO::getDinnerNum).reduce(0, Integer::sum));
|
||||||
|
}
|
||||||
|
return businessDO;
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public List<BusinessRespVO> getTurnoverList(TurnoverVO turnoverVO) {
|
||||||
|
LocalDateTime startTime = MemberTimeUtils.string2Time(turnoverVO.getStartTime());
|
||||||
|
LocalDateTime endTime = MemberTimeUtils.string2Time(turnoverVO.getEndTime());
|
||||||
|
|
||||||
|
LocalDate startDate = startTime.toLocalDate();
|
||||||
|
LocalDate endDate = endTime.toLocalDate();
|
||||||
|
if(startDate.equals(endDate)){
|
||||||
|
// 获取本月开始时间:本月的第一天00:00:00
|
||||||
|
startDate= startTime.with(TemporalAdjusters.firstDayOfMonth()).toLocalDate();
|
||||||
|
startTime = startDate.atStartOfDay();
|
||||||
|
|
||||||
|
// 获取本月结束时间:本月的最后一天23:59:59.999999999
|
||||||
|
endDate = endTime.with(TemporalAdjusters.lastDayOfMonth()).toLocalDate();
|
||||||
|
endTime = endDate.atTime(LocalTime.MAX);
|
||||||
|
}
|
||||||
|
List<BusinessDO> businessDOS = businessMapper.selectList(Wrappers.<BusinessDO>lambdaQuery()
|
||||||
|
.between(BusinessDO::getCreateTime,startTime, endTime)
|
||||||
|
.eq(BusinessDO::getCarteenId, turnoverVO.getCarteenId()));
|
||||||
|
|
||||||
|
Map<Integer, BusinessDO> map = businessDOS.stream()
|
||||||
|
.filter(Objects::nonNull) // 过滤掉null值
|
||||||
|
.collect(Collectors.toMap(
|
||||||
|
vo -> vo.getCreateTime().toLocalDate().getDayOfMonth(),
|
||||||
|
vo -> vo,
|
||||||
|
(existing, replacement) -> existing
|
||||||
|
));
|
||||||
|
// 创建一个Map来存储每天的数据
|
||||||
|
Map<Integer, BusinessRespVO> monthData = new LinkedHashMap<>();
|
||||||
|
|
||||||
|
int start = startDate.getDayOfMonth();
|
||||||
|
|
||||||
|
int end = endDate.getDayOfMonth();
|
||||||
|
|
||||||
|
for (int day = start; day <= end; day++) {
|
||||||
|
new BusinessRespVO();
|
||||||
|
BusinessRespVO bean;
|
||||||
|
if(map.get(day) == null){
|
||||||
|
bean = getInitBusinessRespVO().setTime(String.valueOf(day));
|
||||||
|
}else {
|
||||||
|
bean = BeanUtils.toBean(map.get(day), BusinessRespVO.class);
|
||||||
|
bean.setTime(String.valueOf(day));
|
||||||
|
}
|
||||||
|
monthData.put(day,bean);
|
||||||
|
|
||||||
|
}
|
||||||
|
return new ArrayList<>(monthData.values());
|
||||||
|
}
|
||||||
}
|
}
|
@ -132,5 +132,5 @@ public interface MemberGroupService {
|
|||||||
|
|
||||||
void setAdmin(GroupAdminReqVO vo);
|
void setAdmin(GroupAdminReqVO vo);
|
||||||
|
|
||||||
Long getCarteenId(Long userId);
|
List<Long> getCarteenId(Long userId);
|
||||||
}
|
}
|
||||||
|
@ -148,10 +148,9 @@ public class MemberGroupServiceImpl implements MemberGroupService {
|
|||||||
@Override
|
@Override
|
||||||
public PageResult<MemberUserDO> getUserList(MemberUserListVO listVO) {
|
public PageResult<MemberUserDO> getUserList(MemberUserListVO listVO) {
|
||||||
//List<Long> memberList = memberGroupMapper.getMemberList(listVO.getGroupId());
|
//List<Long> memberList = memberGroupMapper.getMemberList(listVO.getGroupId());
|
||||||
List<Long> memberList = memberGroupMapper.getAllMember();
|
// List<Long> memberList = memberGroupMapper.getAllMember();
|
||||||
listVO.setIds(memberList);
|
// listVO.setIds(memberList);
|
||||||
PageResult<MemberUserDO> groupUserList = memberUserService.getGroupUserList(listVO);
|
return memberUserService.getGroupUserList(listVO);
|
||||||
return groupUserList;
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -199,7 +198,7 @@ public class MemberGroupServiceImpl implements MemberGroupService {
|
|||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public Long getCarteenId(Long userId) {
|
public List<Long> getCarteenId(Long userId) {
|
||||||
return memberGroupMapper.getCarteenId(userId);
|
return memberGroupMapper.getCarteenId(userId);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -23,6 +23,7 @@ import cn.iocoder.yudao.module.member.controller.app.store.vo.UserInfoVo;
|
|||||||
import cn.iocoder.yudao.module.member.controller.app.storeorder.vo.AppStoreGoodsDetail;
|
import cn.iocoder.yudao.module.member.controller.app.storeorder.vo.AppStoreGoodsDetail;
|
||||||
import cn.iocoder.yudao.module.member.controller.app.storeorder.vo.AppStoreOrderVO;
|
import cn.iocoder.yudao.module.member.controller.app.storeorder.vo.AppStoreOrderVO;
|
||||||
import cn.iocoder.yudao.module.member.controller.app.storeorder.vo.CardDto;
|
import cn.iocoder.yudao.module.member.controller.app.storeorder.vo.CardDto;
|
||||||
|
import cn.iocoder.yudao.module.member.dal.dataobject.money.MoneyDO;
|
||||||
import cn.iocoder.yudao.module.member.dal.dataobject.storeorder.StoreOrderDO;
|
import cn.iocoder.yudao.module.member.dal.dataobject.storeorder.StoreOrderDO;
|
||||||
import cn.iocoder.yudao.module.member.dal.dataobject.storeorderdetail.StoreOrderDetailDO;
|
import cn.iocoder.yudao.module.member.dal.dataobject.storeorderdetail.StoreOrderDetailDO;
|
||||||
import cn.iocoder.yudao.module.member.dal.dataobject.user.MemberUserDO;
|
import cn.iocoder.yudao.module.member.dal.dataobject.user.MemberUserDO;
|
||||||
@ -32,6 +33,7 @@ import cn.iocoder.yudao.module.member.service.amount.AmountService;
|
|||||||
import cn.iocoder.yudao.module.member.service.amount.DeductionService;
|
import cn.iocoder.yudao.module.member.service.amount.DeductionService;
|
||||||
import cn.iocoder.yudao.module.member.service.amount.LockManager;
|
import cn.iocoder.yudao.module.member.service.amount.LockManager;
|
||||||
import cn.iocoder.yudao.module.member.service.card.CardService;
|
import cn.iocoder.yudao.module.member.service.card.CardService;
|
||||||
|
import cn.iocoder.yudao.module.member.service.money.MoneyService;
|
||||||
import cn.iocoder.yudao.module.member.service.storebusiness.StoreBusinessService;
|
import cn.iocoder.yudao.module.member.service.storebusiness.StoreBusinessService;
|
||||||
import cn.iocoder.yudao.module.member.service.storegoodsinventory.StoreGoodsInventoryService;
|
import cn.iocoder.yudao.module.member.service.storegoodsinventory.StoreGoodsInventoryService;
|
||||||
import cn.iocoder.yudao.module.member.service.storeorderdetail.StoreOrderDetailService;
|
import cn.iocoder.yudao.module.member.service.storeorderdetail.StoreOrderDetailService;
|
||||||
@ -77,7 +79,7 @@ public class StoreOrderServiceImpl implements StoreOrderService {
|
|||||||
private StoreOrderDetailService orderDetailService;
|
private StoreOrderDetailService orderDetailService;
|
||||||
|
|
||||||
@Resource
|
@Resource
|
||||||
private CardService cardService;
|
private MoneyService moneyService;
|
||||||
|
|
||||||
@Resource
|
@Resource
|
||||||
private MemberUserService userService;
|
private MemberUserService userService;
|
||||||
@ -232,8 +234,13 @@ public class StoreOrderServiceImpl implements StoreOrderService {
|
|||||||
BigDecimal totalMoney = BigDecimal.valueOf(sum);
|
BigDecimal totalMoney = BigDecimal.valueOf(sum);
|
||||||
|
|
||||||
MemberUserDO user = userService.getUser(Long.valueOf(s));
|
MemberUserDO user = userService.getUser(Long.valueOf(s));
|
||||||
|
MoneyDO moneyDO = moneyService.getMoney(user.getId(), storeId);
|
||||||
|
BigDecimal cashAmount = BigDecimal.ZERO;
|
||||||
|
if(ObjectUtil.isNotEmpty(moneyDO)){
|
||||||
|
cashAmount = moneyDO.getCashAmount();
|
||||||
|
}
|
||||||
dto.setUserId(user.getId());
|
dto.setUserId(user.getId());
|
||||||
if(user.getMoney().compareTo(totalMoney) < 0){
|
if(user.getWxAmount().add(cashAmount).compareTo(totalMoney) < 0){
|
||||||
throw exception(AMOUNT_NOT_ENOUGH);
|
throw exception(AMOUNT_NOT_ENOUGH);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -99,4 +99,12 @@ public class MemberTimeUtils {
|
|||||||
return DateUtil.month(date) + 1;
|
return DateUtil.month(date) + 1;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public static LocalDateTime string2Time(String time) {
|
||||||
|
// 定义日期字符串格式
|
||||||
|
DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss");
|
||||||
|
|
||||||
|
// 将字符串解析为LocalDate对象
|
||||||
|
return LocalDateTime.parse(time, formatter);
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
@ -88,7 +88,7 @@
|
|||||||
|
|
||||||
<select id="getCarteenId" resultType="long">
|
<select id="getCarteenId" resultType="long">
|
||||||
SELECT carteen_id FROM member_group WHERE
|
SELECT carteen_id FROM member_group WHERE
|
||||||
id = (select group_id from member_group_member where member_id = #{userId})
|
id in (select group_id from member_group_member where member_id = #{userId})
|
||||||
</select>
|
</select>
|
||||||
|
|
||||||
</mapper>
|
</mapper>
|
Reference in New Issue
Block a user