优化
This commit is contained in:
@ -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")
|
||||||
|
@ -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);
|
||||||
}
|
}
|
||||||
|
@ -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);
|
||||||
|
|
||||||
|
@ -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());
|
||||||
|
@ -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()));
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -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
|
||||||
|
@ -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));
|
||||||
// }
|
// }
|
||||||
|
|
||||||
|
Reference in New Issue
Block a user