This commit is contained in:
zengtao01
2024-10-07 16:55:48 +08:00
parent e3aa6e4194
commit 804cbcc655
7 changed files with 63 additions and 17 deletions

View File

@ -56,8 +56,8 @@ public class AppDiningPlatesController {
@GetMapping("/bindByFace") @GetMapping("/bindByFace")
@Operation(summary = "人脸绑定餐盘") @Operation(summary = "人脸绑定餐盘")
public CommonResult<AppUserInfoCardVO> bindByFace(String diningPlatesNum, Long faceId,Long storeId) { public CommonResult<AppUserInfoCardVO> bindByFace(String diningPlatesNum, Long faceId,Long storeId,String mobile) {
return success(diningPlatesService.bindByFace(diningPlatesNum,faceId,storeId)); return success(diningPlatesService.bindByFace(diningPlatesNum,faceId,storeId,mobile));
} }
@GetMapping("/checkBind") @GetMapping("/checkBind")

View File

@ -8,10 +8,12 @@ import cn.iocoder.yudao.module.member.controller.admin.group.vo.MemberGroupPageV
import cn.iocoder.yudao.module.member.controller.admin.group.vo.MemberGroupUserVo; import cn.iocoder.yudao.module.member.controller.admin.group.vo.MemberGroupUserVo;
import cn.iocoder.yudao.module.member.dal.dataobject.group.MemberGroupDO; import cn.iocoder.yudao.module.member.dal.dataobject.group.MemberGroupDO;
import cn.iocoder.yudao.module.member.dal.dataobject.user.MemberUserDO; import cn.iocoder.yudao.module.member.dal.dataobject.user.MemberUserDO;
import org.apache.ibatis.annotations.MapKey;
import org.apache.ibatis.annotations.Mapper; import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param; import org.apache.ibatis.annotations.Param;
import java.util.List; import java.util.List;
import java.util.Map;
/** /**
* 用户分组 Mapper * 用户分组 Mapper
@ -48,5 +50,8 @@ public interface MemberGroupMapper extends BaseMapperX<MemberGroupDO> {
String getGroupName(Long userId); String getGroupName(Long userId);
@MapKey("memberId")
Map<Long,String> selectAllUserGroupName();
List<MemberGroupUserVo> getGroupList(List<Long> list); List<MemberGroupUserVo> getGroupList(List<Long> list);
} }

View File

@ -86,7 +86,7 @@ public interface DiningPlatesService {
*/ */
AppUserInfoCardVO bind(String diningPlatesNum,String cardId,Long storeId); AppUserInfoCardVO bind(String diningPlatesNum,String cardId,Long storeId);
AppUserInfoCardVO bindByFace(String diningPlatesNum, Long faceId,Long storeId); AppUserInfoCardVO bindByFace(String diningPlatesNum, Long faceId, Long storeId,String mobile);
Boolean checkBind(String diningPlatesNum,Long storeId); Boolean checkBind(String diningPlatesNum,Long storeId);

View File

@ -216,15 +216,22 @@ public class DiningPlatesServiceImpl implements DiningPlatesService {
@Override @Override
@Transactional(rollbackFor = Exception.class) @Transactional(rollbackFor = Exception.class)
public AppUserInfoCardVO bindByFace(String diningPlatesNum, Long faceId,Long storeId) { public AppUserInfoCardVO bindByFace(String diningPlatesNum, Long faceId,Long storeId,String mobile) {
DiningPlatesDO diningPlatesDO = diningPlatesMapper.selectOne(Wrappers.<DiningPlatesDO>lambdaQuery() DiningPlatesDO diningPlatesDO = diningPlatesMapper.selectOne(Wrappers.<DiningPlatesDO>lambdaQuery()
.eq(DiningPlatesDO::getDiningPlatesNum, diningPlatesNum) .eq(DiningPlatesDO::getDiningPlatesNum, diningPlatesNum)
.eq(DiningPlatesDO::getStoreId,storeId) .eq(DiningPlatesDO::getStoreId,storeId)
.last(MemberConstants.LIMIT_ONE)); .last(MemberConstants.LIMIT_ONE));
checkDiningPlates(diningPlatesDO); checkDiningPlates(diningPlatesDO);
MemberUserDO memberUserDO = memberUserMapper.selectOne(Wrappers.<MemberUserDO>lambdaQuery()
.eq(MemberUserDO::getFaceId, faceId) LambdaQueryWrapper<MemberUserDO> wrapper = new LambdaQueryWrapper<>();
.last(MemberConstants.LIMIT_ONE)); if(faceId!=null){
wrapper.eq(MemberUserDO::getFaceId, faceId);
}
if(StrUtil.isNotBlank(mobile) && faceId==null){
wrapper.eq(MemberUserDO::getMobile, mobile);
}
wrapper.last(MemberConstants.LIMIT_ONE);
MemberUserDO memberUserDO = memberUserMapper.selectOne(wrapper);
checkMemberUser(memberUserDO, true); checkMemberUser(memberUserDO, true);
//订单验证 //订单验证
checkOrder(memberUserDO.getId()); checkOrder(memberUserDO.getId());

View File

@ -185,6 +185,7 @@ public class OrderServiceImpl implements OrderService {
@Override @Override
public PageResult<OrderDetailsRespVO> getPageOrderDetails(OrderDetailsReqVO reqVO) { public PageResult<OrderDetailsRespVO> getPageOrderDetails(OrderDetailsReqVO reqVO) {
List<Long> userIds = new ArrayList<>(); List<Long> userIds = new ArrayList<>();
ArrayList<MemberUserDO> userList = new ArrayList<>();
if (ObjUtil.isNotEmpty(reqVO.getUserName()) if (ObjUtil.isNotEmpty(reqVO.getUserName())
|| ObjUtil.isNotEmpty(reqVO.getUserAccount()) || ObjUtil.isNotEmpty(reqVO.getUserAccount())
|| ObjUtil.isNotEmpty(reqVO.getUserJob()) || ObjUtil.isNotEmpty(reqVO.getUserJob())
@ -192,13 +193,17 @@ public class OrderServiceImpl implements OrderService {
|| ObjUtil.isNotEmpty(reqVO.getGroupId()) || ObjUtil.isNotEmpty(reqVO.getGroupId())
) { ) {
//根据用户属性获取ids //根据用户属性获取ids
userIds = memberUserMapper.selectList(new LambdaQueryWrapperX<MemberUserDO>() List<MemberUserDO> list = memberUserMapper.selectList(new LambdaQueryWrapperX<MemberUserDO>()
.likeIfPresent(MemberUserDO::getNickname, reqVO.getUserName()) .likeIfPresent(MemberUserDO::getNickname, reqVO.getUserName())
.eqIfPresent(MemberUserDO::getMobile, reqVO.getUserAccount()) .eqIfPresent(MemberUserDO::getMobile, reqVO.getUserAccount())
.eqIfPresent(MemberUserDO::getCardId, reqVO.getUserJob()) .eqIfPresent(MemberUserDO::getCardId, reqVO.getUserJob())
.eqIfPresent(MemberUserDO::getId, reqVO.getUserId()) .eqIfPresent(MemberUserDO::getId, reqVO.getUserId())
.inIfPresent(MemberUserDO::getId, groupMapper.getMemberList(reqVO.getGroupId()))) .inIfPresent(MemberUserDO::getId, groupMapper.getMemberList(reqVO.getGroupId())));
.stream().map(MemberUserDO::getId).collect(Collectors.toList()); userIds = list.stream().map(MemberUserDO::getId).collect(Collectors.toList());
userList.addAll(list);
} else {
List<MemberUserDO> list = memberUserMapper.selectList();
userList.addAll(list);
} }
Map<String, LocalDateTime> timePeriod = this.getTimePeriod(reqVO.getTimePeriod()); Map<String, LocalDateTime> timePeriod = this.getTimePeriod(reqVO.getTimePeriod());
LocalDateTime startTime = null; LocalDateTime startTime = null;
@ -207,12 +212,20 @@ public class OrderServiceImpl implements OrderService {
startTime = timePeriod.get("start"); startTime = timePeriod.get("start");
endTime = timePeriod.get("end"); endTime = timePeriod.get("end");
} }
HashMap<Long, MemberUserDO> userMap = new HashMap<>();
if (CollectionUtil.isNotEmpty(userList)) {
Map<Long, MemberUserDO> collect = userList.stream().collect(Collectors.toMap(MemberUserDO::getId, s -> s));
userMap.putAll(collect);
}
Map<Long, String> groupName = groupMapper.selectAllUserGroupName();
//进行分页查询 //进行分页查询
PageResult<DishOrderDO> pageResult = dishOrderMapper.selectPageList(reqVO, userIds, startTime, endTime); PageResult<DishOrderDO> pageResult = dishOrderMapper.selectPageList(reqVO, userIds, startTime, endTime);
List<OrderDetailsRespVO> list = new ArrayList<>(); List<OrderDetailsRespVO> list = new ArrayList<>();
for (DishOrderDO dishOrderDO : pageResult.getList()) { for (DishOrderDO dishOrderDO : pageResult.getList()) {
OrderDetailsRespVO bean = BeanUtils.toBean(dishOrderDO, OrderDetailsRespVO.class); OrderDetailsRespVO bean = BeanUtils.toBean(dishOrderDO, OrderDetailsRespVO.class);
userDetails(bean); userDetails(bean, userMap,groupName);
list.add(bean); list.add(bean);
} }
return new PageResult<>(list, pageResult.getTotal()); return new PageResult<>(list, pageResult.getTotal());
@ -236,6 +249,22 @@ public class OrderServiceImpl implements OrderService {
bean.setTimePeriod(TimePeriodEnum.getTimeName(bean.getCreateTime())); bean.setTimePeriod(TimePeriodEnum.getTimeName(bean.getCreateTime()));
BigDecimal moneyByUsr = cardMapper.getMoneyByUsr(bean.getUserId()); BigDecimal moneyByUsr = cardMapper.getMoneyByUsr(bean.getUserId());
bean.setMoney(moneyByUsr); bean.setMoney(moneyByUsr);
}
private void userDetails(OrderDetailsRespVO bean, HashMap<Long, MemberUserDO> userMap,Map<Long, String> groupName) {
MemberUserDO userDO = userMap.get(bean.getUserId());
if (ObjectUtil.isNotEmpty(userDO)) {
bean.setGroupName(groupName.get(bean.getUserId()));
bean.setUserName(userDO.getNickname());
bean.setUserJob(userDO.getMobile());
bean.setAvatar(userDO.getAvatar());
bean.setPayMethods("钱包");
bean.setUserAccount(userDO.getMobile());
bean.setTimePeriod(TimePeriodEnum.getTimeName(bean.getCreateTime()));
}
} }
/** /**

View File

@ -64,6 +64,10 @@
SELECT name FROM member_group WHERE SELECT name FROM member_group WHERE
id = (select group_id from member_group_member where member_id = #{userId}) id = (select group_id from member_group_member where member_id = #{userId})
</select> </select>
<select id="selectAllUserGroupName" resultType="java.util.Map">
select member_id,name from member_group_member mm
left join member_group mg on mm.group_id = mg.id
</select>
<select id="getGroupList" resultType="cn.iocoder.yudao.module.member.controller.admin.group.vo.MemberGroupUserVo"> <select id="getGroupList" resultType="cn.iocoder.yudao.module.member.controller.admin.group.vo.MemberGroupUserVo">
SELECT mg.name,mm.member_id FROM member_group_member mm left join member_group mg on mm.group_id = mg.id SELECT mg.name,mm.member_id FROM member_group_member mm left join member_group mg on mm.group_id = mg.id

View File

@ -181,6 +181,7 @@ public class DevuceServiceImpl implements DevuceService {
} }
return dishesMapper.selectList(new LambdaQueryWrapperX<DishesDO>() return dishesMapper.selectList(new LambdaQueryWrapperX<DishesDO>()
.eq(DishesDO::getCarteenId,carteenId) .eq(DishesDO::getCarteenId,carteenId)
.gt(DishesDO::getId,94)
.eq(DishesDO::getDishecType,dishecType).orderByDesc(DishesDO::getId)); .eq(DishesDO::getDishecType,dishecType).orderByDesc(DishesDO::getId));
// } // }