This commit is contained in:
zengtao01
2024-07-11 16:33:58 +08:00
parent 25f780154c
commit 92b8d938f4
16 changed files with 84 additions and 25 deletions

View File

@ -83,6 +83,8 @@ public interface ErrorCodeConstants {
ErrorCode ORDER_NOT_COMPLETE = new ErrorCode(1_004_099_009, "订单未完成");
ErrorCode NEED_ADD_USER = new ErrorCode(1_007_901_004, "请先添加人员");
ErrorCode ADMIN_CARD_NOT_EXISTS = new ErrorCode(1_007_901_005, "管理员卡不存在");
ErrorCode CARD_NOT_EXIST = new ErrorCode(1_007_901_005, "卡号不存在");
ErrorCode APP_UP_NOT_EXISTS = new ErrorCode(1_007_902_001, "app更新不存在");
}

View File

@ -1,6 +1,7 @@
package cn.iocoder.yudao.module.member.controller.admin.admincard.vo;
import cn.iocoder.yudao.framework.common.pojo.PageParam;
import com.alibaba.excel.annotation.ExcelProperty;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;
import lombok.EqualsAndHashCode;
@ -20,6 +21,10 @@ public class AdminCardPageReqVO extends PageParam {
@Schema(description = "手机号")
private String cardNo;
@Schema(description = "类型")
@ExcelProperty("类型")
private String type;
@Schema(description = "创建时间")
@DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND)
private LocalDateTime[] createTime;

View File

@ -20,6 +20,10 @@ public class AdminCardRespVO {
@ExcelProperty("手机号")
private String cardNo;
@Schema(description = "类型")
@ExcelProperty("类型")
private String type;
@Schema(description = "创建时间", requiredMode = Schema.RequiredMode.REQUIRED)
@ExcelProperty("创建时间")
private LocalDateTime createTime;

View File

@ -1,9 +1,8 @@
package cn.iocoder.yudao.module.member.controller.admin.admincard.vo;
import com.alibaba.excel.annotation.ExcelProperty;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.*;
import java.util.*;
import javax.validation.constraints.*;
import lombok.Data;
@Schema(description = "管理后台 - 管理员卡新增/修改 Request VO")
@Data
@ -15,4 +14,8 @@ public class AdminCardSaveReqVO {
@Schema(description = "手机号")
private String cardNo;
@Schema(description = "类型")
@ExcelProperty("类型")
private String type;
}

View File

@ -15,7 +15,6 @@ import cn.iocoder.yudao.module.member.dal.dataobject.level.MemberLevelDO;
import cn.iocoder.yudao.module.member.dal.dataobject.tag.MemberTagDO;
import cn.iocoder.yudao.module.member.dal.dataobject.user.MemberUserDO;
import cn.iocoder.yudao.module.member.enums.point.MemberPointBizTypeEnum;
import cn.iocoder.yudao.module.member.service.card.CardService;
import cn.iocoder.yudao.module.member.service.group.MemberGroupService;
import cn.iocoder.yudao.module.member.service.level.MemberLevelService;
import cn.iocoder.yudao.module.member.service.point.MemberPointRecordService;
@ -65,8 +64,7 @@ public class MemberUserController {
private MemberGroupService memberGroupService;
@Resource
private MemberPointRecordService memberPointRecordService;
@Resource
private CardService cardService;
@PutMapping("/update")
@Operation(summary = "更新会员用户")

View File

@ -50,4 +50,7 @@ public class MemberUserAddVO {
@Schema(description = "卡号")
private String cardId;
@Schema(description = "人脸")
private Long faceId;
}

View File

@ -2,7 +2,6 @@ package cn.iocoder.yudao.module.member.controller.admin.user.vo;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;
import org.hibernate.validator.constraints.URL;
import org.springframework.format.annotation.DateTimeFormat;
import javax.validation.constraints.NotNull;
@ -63,4 +62,6 @@ public class MemberUserBaseVO {
private Long groupId;
@Schema(description = "卡号")
private String cardId;
@Schema(description = "人脸")
private Long faceId;
}

View File

@ -52,8 +52,6 @@ public class MemberUserRespVO extends MemberUserBaseVO {
@Schema(description = "绑定卡号")
private String cardId;
@Schema(description = "绑定卡号")
private String faceId;
private Byte[] faceData;
@Schema(description = "人脸ID")
private Long faceId;
}

View File

@ -20,6 +20,10 @@ public class AppAdminCardRespVO {
@ExcelProperty("手机号")
private String cardNo;
@Schema(description = "类型")
@ExcelProperty("类型")
private String type;
@Schema(description = "创建时间", requiredMode = Schema.RequiredMode.REQUIRED)
@ExcelProperty("创建时间")
private LocalDateTime createTime;

View File

@ -1,11 +1,15 @@
package cn.iocoder.yudao.module.member.dal.dataobject.admincard;
import lombok.*;
import java.util.*;
import java.time.LocalDateTime;
import java.time.LocalDateTime;
import com.baomidou.mybatisplus.annotation.*;
import cn.iocoder.yudao.framework.mybatis.core.dataobject.BaseDO;
import com.baomidou.mybatisplus.annotation.KeySequence;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.NoArgsConstructor;
import lombok.ToString;
/**
* 管理员卡 DO
@ -32,4 +36,9 @@ public class AdminCardDO extends BaseDO {
*/
private String cardNo;
/**
* 类型
*/
private String type;
}

View File

@ -55,4 +55,6 @@ public interface AdminCardService {
List<AdminCardDO> getAdminCardList();
void checkCard(String cardId);
}

View File

@ -1,20 +1,24 @@
package cn.iocoder.yudao.module.member.service.admincard;
import cn.hutool.core.collection.CollectionUtil;
import cn.iocoder.yudao.framework.common.exception.ServiceException;
import cn.iocoder.yudao.framework.common.pojo.PageResult;
import cn.iocoder.yudao.framework.common.util.object.BeanUtils;
import cn.iocoder.yudao.module.member.controller.admin.admincard.vo.AdminCardPageReqVO;
import cn.iocoder.yudao.module.member.controller.admin.admincard.vo.AdminCardSaveReqVO;
import cn.iocoder.yudao.module.member.dal.dataobject.admincard.AdminCardDO;
import cn.iocoder.yudao.module.member.dal.mysql.admincard.AdminCardMapper;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
import org.springframework.stereotype.Service;
import org.springframework.validation.annotation.Validated;
import javax.annotation.Resource;
import java.util.Collections;
import java.util.List;
import static cn.iocoder.yudao.framework.common.exception.util.ServiceExceptionUtil.exception;
import static cn.iocoder.yudao.module.member.enums.ErrorCodeConstants.ADMIN_CARD_NOT_EXISTS;
import static cn.iocoder.yudao.module.member.enums.ErrorCodeConstants.CARD_NOT_EXIST;
/**
* 管理员卡 Service 实现类
@ -72,6 +76,17 @@ public class AdminCardServiceImpl implements AdminCardService {
@Override
public List<AdminCardDO> getAdminCardList() {
return adminCardMapper.selectList();
return adminCardMapper.selectList(Wrappers.<AdminCardDO>lambdaQuery()
.eq(AdminCardDO::getType,"1"));
}
@Override
public void checkCard(String cardId) {
LambdaQueryWrapper<AdminCardDO> wrapper = new LambdaQueryWrapper<>();
wrapper.eq(AdminCardDO::getCardNo,cardId);
List<AdminCardDO> adminCardDOS = adminCardMapper.selectList(wrapper);
if(CollectionUtil.isEmpty(adminCardDOS)){
throw new ServiceException(CARD_NOT_EXIST);
}
}
}

View File

@ -36,13 +36,13 @@ import cn.iocoder.yudao.module.member.dal.dataobject.diningplates.DiningPlatesDO
import cn.iocoder.yudao.module.member.dal.dataobject.order.DishOrderDO;
import cn.iocoder.yudao.module.member.dal.dataobject.orderdetail.OrderDetailDO;
import cn.iocoder.yudao.module.member.dal.dataobject.user.MemberUserDO;
import cn.iocoder.yudao.module.member.dal.mysql.card.CardMapper;
import cn.iocoder.yudao.module.member.dal.mysql.diningplates.DiningPlatesMapper;
import cn.iocoder.yudao.module.member.dal.mysql.order.DishOrderMapper;
import cn.iocoder.yudao.module.member.dal.mysql.orderdetail.OrderDetailMapper;
import cn.iocoder.yudao.module.member.dal.mysql.user.MemberUserMapper;
import cn.iocoder.yudao.module.member.enums.TimePeriodEnum;
import cn.iocoder.yudao.module.member.mq.producer.user.MemberUserProducer;
import cn.iocoder.yudao.module.member.service.admincard.AdminCardService;
import cn.iocoder.yudao.module.member.service.card.CardService;
import cn.iocoder.yudao.module.member.service.order.OrderService;
import cn.iocoder.yudao.module.member.service.orderdetail.OrderDetailService;
@ -58,6 +58,7 @@ import cn.iocoder.yudao.module.system.enums.sms.SmsSceneEnum;
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
import com.google.common.annotations.VisibleForTesting;
import lombok.extern.slf4j.Slf4j;
import org.apache.commons.lang3.StringUtils;
import org.springframework.security.crypto.password.PasswordEncoder;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
@ -116,9 +117,6 @@ public class MemberUserServiceImpl implements MemberUserService {
@Resource
private MemberUserProducer memberUserProducer;
@Resource
private CardMapper cardMapper;
@Resource
private OrderService orderService;
@ -127,6 +125,9 @@ public class MemberUserServiceImpl implements MemberUserService {
@Resource
private UserExpandService userExpandService;
@Resource
private AdminCardService adminCardService;
@Override
public MemberUserDO getUserByMobile(String mobile) {
@ -309,6 +310,10 @@ public class MemberUserServiceImpl implements MemberUserService {
validateUserExists(updateReqVO.getId());
// 校验手机唯一
validateMobileUnique(updateReqVO.getId(), updateReqVO.getMobile());
// 校验卡号
if(StringUtils.isNotEmpty(updateReqVO.getCardId())){
adminCardService.checkCard(updateReqVO.getCardId());
}
// 更新
MemberUserDO updateObj = MemberUserConvert.INSTANCE.convert(updateReqVO);
@ -388,6 +393,7 @@ public class MemberUserServiceImpl implements MemberUserService {
@Override
public Boolean bindCard(String cardId) {
adminCardService.checkCard(cardId);
List<MemberUserDO> memberUserDOS = memberUserMapper.selectList(Wrappers.<MemberUserDO>lambdaQuery().eq(MemberUserDO::getCardId, cardId));
if(memberUserDOS.size()>0){
throw exception(CARD_ALREADY_BIND);
@ -683,6 +689,9 @@ public class MemberUserServiceImpl implements MemberUserService {
@Override
public MemberUserDO create(MemberUserAddVO addVO) {
if(StringUtils.isNotEmpty(addVO.getCardId())){
adminCardService.checkCard(addVO.getCardId());
}
// 用户已经存在
MemberUserDO userSelect = memberUserMapper.selectByMobile(addVO.getMobile());
if (userSelect != null) {

View File

@ -92,6 +92,14 @@ public class DishesTypeController {
@Operation(summary = "获得菜品分类分页")
@PreAuthorize("@ss.hasPermission('t:dishes-type:query')")
public CommonResult<PageResult<DishesTypeRespVO>> getDishesTypePage(@Valid DishesTypePageReqVO pageReqVO) {
//pageReqVO.setPageSize(PageParam.PAGE_SIZE_NONE);
PageResult<DishesTypeDO> pageResult = dishesTypeService.getDishesTypePage(pageReqVO);
return success(BeanUtils.toBean(pageResult, DishesTypeRespVO.class));
}
@GetMapping("/typeList")
@Operation(summary = "获得菜品分类不分页")
public CommonResult<PageResult<DishesTypeRespVO>> getTypeList(@Valid DishesTypePageReqVO pageReqVO) {
pageReqVO.setPageSize(PageParam.PAGE_SIZE_NONE);
PageResult<DishesTypeDO> pageResult = dishesTypeService.getDishesTypePage(pageReqVO);
return success(BeanUtils.toBean(pageResult, DishesTypeRespVO.class));

View File

@ -61,7 +61,4 @@ public interface DishesTypeService {
* @return
*/
List<DishesTypeListRespVO> getDishesTypeList(Long carteenId, LocalDateTime startTime,LocalDateTime endTime);
}

View File

@ -14,6 +14,7 @@ import cn.iocoder.yudao.module.system.dal.mysql.dishes.DishesMapper;
import cn.iocoder.yudao.module.system.dal.mysql.dishestype.DishesTypeMapper;
import cn.iocoder.yudao.module.system.enums.ErrorCodeConstants;
import cn.iocoder.yudao.module.system.enums.TimePeriodEnum;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import org.springframework.stereotype.Service;
import org.springframework.validation.annotation.Validated;