From aa0af9996e2e9bfbe88b7b868d7f78a13cff686c Mon Sep 17 00:00:00 2001 From: "DESKTOP-D9QDT1P\\JS-ZZA" <495602415@qq.com> Date: Mon, 6 Mar 2023 13:52:41 +0800 Subject: [PATCH] =?UTF-8?q?=E6=96=B0=E5=A2=9E=20=20=E7=94=A8=E6=88=B7?= =?UTF-8?q?=E4=B8=8E=E8=BD=A6=E7=89=8C=E7=BB=91=E5=AE=9A=E5=85=B3=E7=B3=BB?= =?UTF-8?q?=E8=A1=A8=E4=B8=8E=E5=AE=9E=E4=BD=93=E7=B1=BB=E7=AD=89?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../jsowell/api/uniapp/MemberController.java | 6 +- .../com/jsowell/service/MemberService.java | 12 ++- .../common/enums/ykc/ReturnCodeEnum.java | 2 + .../MemberLicensePlateNumberRelation.java | 35 +++++++ .../com/jsowell/pile/dto/BindingCarNoDTO.java | 3 + ...emberLicensePlateNumberRelationMapper.java | 61 ++++++++++++ ...mberLicensePlateNumberRelationService.java | 61 ++++++++++++ ...LicensePlateNumberRelationServiceImpl.java | 95 +++++++++++++++++++ ...MemberLicensePlateNumberRelationMapper.xml | 70 ++++++++++++++ 9 files changed, 342 insertions(+), 3 deletions(-) create mode 100644 jsowell-pile/src/main/java/com/jsowell/pile/domain/MemberLicensePlateNumberRelation.java create mode 100644 jsowell-pile/src/main/java/com/jsowell/pile/mapper/MemberLicensePlateNumberRelationMapper.java create mode 100644 jsowell-pile/src/main/java/com/jsowell/pile/service/IMemberLicensePlateNumberRelationService.java create mode 100644 jsowell-pile/src/main/java/com/jsowell/pile/service/impl/MemberLicensePlateNumberRelationServiceImpl.java create mode 100644 jsowell-pile/src/main/resources/mapper/pile/MemberLicensePlateNumberRelationMapper.xml diff --git a/jsowell-admin/src/main/java/com/jsowell/api/uniapp/MemberController.java b/jsowell-admin/src/main/java/com/jsowell/api/uniapp/MemberController.java index 2039be28f..3f780324a 100644 --- a/jsowell-admin/src/main/java/com/jsowell/api/uniapp/MemberController.java +++ b/jsowell-admin/src/main/java/com/jsowell/api/uniapp/MemberController.java @@ -196,7 +196,7 @@ public class MemberController extends BaseController { /** - * 通过 memberId 查询用户个人基本信息 + * 通过 memberId 查询用户绑定车牌信息 * http://localhost:8080/uniapp/member/selectInfoByMemberId * * @return @@ -225,10 +225,12 @@ public class MemberController extends BaseController { * @return */ @PostMapping("/memberBindingCarNo") - public RestApiResponse memberBindingCarNo(@RequestBody BindingCarNoDTO dto){ + public RestApiResponse memberBindingCarNo(HttpServletRequest request, @RequestBody BindingCarNoDTO dto){ logger.info("用户绑定车牌号 param:{}", JSONObject.toJSONString(dto)); RestApiResponse response = null; try { + String memberId = getMemberIdByAuthorization(request); + dto.setMemberId(memberId); memberService.memberBindingCarNo(dto); response = new RestApiResponse<>(); }catch (Exception e){ diff --git a/jsowell-admin/src/main/java/com/jsowell/service/MemberService.java b/jsowell-admin/src/main/java/com/jsowell/service/MemberService.java index babdaa274..7937941fa 100644 --- a/jsowell-admin/src/main/java/com/jsowell/service/MemberService.java +++ b/jsowell-admin/src/main/java/com/jsowell/service/MemberService.java @@ -241,6 +241,16 @@ public class MemberService { .build(); checkVerificationCode(registerAndLoginDTO); - memberBasicInfoService.memberBindingCarNo(dto); + // 判断当前车牌号是否已经绑定 + MemberBasicInfo memberBasicInfo = memberBasicInfoService.selectInfoByMemberId(dto.getMemberId()); + if (memberBasicInfo == null) { + throw new BusinessException(ReturnCodeEnum.CODE_USER_IS_NOT_REGISTER); + } + if (StringUtils.equals(memberBasicInfo.getLicensePlateNumber(), dto.getCarNo())) { + // 如果一致,提醒用户已绑定,不能重复绑定 + throw new BusinessException(ReturnCodeEnum.CODE_THIS_CARNO_HAS_BEEN_BINGDING); + }else { + memberBasicInfoService.memberBindingCarNo(dto); + } } } diff --git a/jsowell-common/src/main/java/com/jsowell/common/enums/ykc/ReturnCodeEnum.java b/jsowell-common/src/main/java/com/jsowell/common/enums/ykc/ReturnCodeEnum.java index 1ef1b7c3f..c5e109985 100644 --- a/jsowell-common/src/main/java/com/jsowell/common/enums/ykc/ReturnCodeEnum.java +++ b/jsowell-common/src/main/java/com/jsowell/common/enums/ykc/ReturnCodeEnum.java @@ -109,6 +109,8 @@ public enum ReturnCodeEnum { CODE_GET_PERSONAL_PILE_BY_MEMBER_ID_ERROR("00400009", "通过memberId查个人桩列表异常"), CODE_GET_PERSONAL_PILE_CONNECTOR_INFO_ERROR("00400010", "获取个人桩枪口实时数据异常"), + + CODE_THIS_CARNO_HAS_BEEN_BINGDING("00500001", "当前车牌号已经绑定,请检查!"), ; private String value; diff --git a/jsowell-pile/src/main/java/com/jsowell/pile/domain/MemberLicensePlateNumberRelation.java b/jsowell-pile/src/main/java/com/jsowell/pile/domain/MemberLicensePlateNumberRelation.java new file mode 100644 index 000000000..7c4096273 --- /dev/null +++ b/jsowell-pile/src/main/java/com/jsowell/pile/domain/MemberLicensePlateNumberRelation.java @@ -0,0 +1,35 @@ +package com.jsowell.pile.domain; + +import com.jsowell.common.annotation.Excel; +import com.jsowell.common.core.domain.BaseEntity; +import lombok.AllArgsConstructor; +import lombok.Builder; +import lombok.Data; +import lombok.NoArgsConstructor; + +/** + * 用户车牌对应关系对象 member_license_plate_number_relation + * + * @author jsowell + * @date 2023-03-06 + */ +@Data +@NoArgsConstructor +@AllArgsConstructor +@Builder +public class MemberLicensePlateNumberRelation extends BaseEntity +{ + private static final long serialVersionUID = 1L; + + /** 主键 */ + private Integer id; + + /** 会员id */ + @Excel(name = "会员id") + private String memberId; + + /** 车牌号 */ + @Excel(name = "车牌号") + private String licensePlateNumber; + +} diff --git a/jsowell-pile/src/main/java/com/jsowell/pile/dto/BindingCarNoDTO.java b/jsowell-pile/src/main/java/com/jsowell/pile/dto/BindingCarNoDTO.java index c771f2662..e3d8f55e2 100644 --- a/jsowell-pile/src/main/java/com/jsowell/pile/dto/BindingCarNoDTO.java +++ b/jsowell-pile/src/main/java/com/jsowell/pile/dto/BindingCarNoDTO.java @@ -10,6 +10,9 @@ import lombok.Data; */ @Data public class BindingCarNoDTO { + + private String memberId; + /** * 手机号码 */ diff --git a/jsowell-pile/src/main/java/com/jsowell/pile/mapper/MemberLicensePlateNumberRelationMapper.java b/jsowell-pile/src/main/java/com/jsowell/pile/mapper/MemberLicensePlateNumberRelationMapper.java new file mode 100644 index 000000000..edf6f5215 --- /dev/null +++ b/jsowell-pile/src/main/java/com/jsowell/pile/mapper/MemberLicensePlateNumberRelationMapper.java @@ -0,0 +1,61 @@ +package com.jsowell.pile.mapper; + +import java.util.List; +import com.jsowell.pile.domain.MemberLicensePlateNumberRelation; + +/** + * 用户车牌对应关系Mapper接口 + * + * @author jsowell + * @date 2023-03-06 + */ +public interface MemberLicensePlateNumberRelationMapper +{ + /** + * 查询用户车牌对应关系 + * + * @param id 用户车牌对应关系主键 + * @return 用户车牌对应关系 + */ + public MemberLicensePlateNumberRelation selectMemberLicensePlateNumberRelationById(Integer id); + + /** + * 查询用户车牌对应关系列表 + * + * @param memberLicensePlateNumberRelation 用户车牌对应关系 + * @return 用户车牌对应关系集合 + */ + public List selectMemberLicensePlateNumberRelationList(MemberLicensePlateNumberRelation memberLicensePlateNumberRelation); + + /** + * 新增用户车牌对应关系 + * + * @param memberLicensePlateNumberRelation 用户车牌对应关系 + * @return 结果 + */ + public int insertMemberLicensePlateNumberRelation(MemberLicensePlateNumberRelation memberLicensePlateNumberRelation); + + /** + * 修改用户车牌对应关系 + * + * @param memberLicensePlateNumberRelation 用户车牌对应关系 + * @return 结果 + */ + public int updateMemberLicensePlateNumberRelation(MemberLicensePlateNumberRelation memberLicensePlateNumberRelation); + + /** + * 删除用户车牌对应关系 + * + * @param id 用户车牌对应关系主键 + * @return 结果 + */ + public int deleteMemberLicensePlateNumberRelationById(Integer id); + + /** + * 批量删除用户车牌对应关系 + * + * @param ids 需要删除的数据主键集合 + * @return 结果 + */ + public int deleteMemberLicensePlateNumberRelationByIds(Integer[] ids); +} diff --git a/jsowell-pile/src/main/java/com/jsowell/pile/service/IMemberLicensePlateNumberRelationService.java b/jsowell-pile/src/main/java/com/jsowell/pile/service/IMemberLicensePlateNumberRelationService.java new file mode 100644 index 000000000..de200ad78 --- /dev/null +++ b/jsowell-pile/src/main/java/com/jsowell/pile/service/IMemberLicensePlateNumberRelationService.java @@ -0,0 +1,61 @@ +package com.jsowell.pile.service; + +import java.util.List; +import com.jsowell.pile.domain.MemberLicensePlateNumberRelation; + +/** + * 用户车牌对应关系Service接口 + * + * @author jsowell + * @date 2023-03-06 + */ +public interface IMemberLicensePlateNumberRelationService +{ + /** + * 查询用户车牌对应关系 + * + * @param id 用户车牌对应关系主键 + * @return 用户车牌对应关系 + */ + public MemberLicensePlateNumberRelation selectMemberLicensePlateNumberRelationById(Integer id); + + /** + * 查询用户车牌对应关系列表 + * + * @param memberLicensePlateNumberRelation 用户车牌对应关系 + * @return 用户车牌对应关系集合 + */ + public List selectMemberLicensePlateNumberRelationList(MemberLicensePlateNumberRelation memberLicensePlateNumberRelation); + + /** + * 新增用户车牌对应关系 + * + * @param memberLicensePlateNumberRelation 用户车牌对应关系 + * @return 结果 + */ + public int insertMemberLicensePlateNumberRelation(MemberLicensePlateNumberRelation memberLicensePlateNumberRelation); + + /** + * 修改用户车牌对应关系 + * + * @param memberLicensePlateNumberRelation 用户车牌对应关系 + * @return 结果 + */ + public int updateMemberLicensePlateNumberRelation(MemberLicensePlateNumberRelation memberLicensePlateNumberRelation); + + /** + * 批量删除用户车牌对应关系 + * + * @param ids 需要删除的用户车牌对应关系主键集合 + * @return 结果 + */ + public int deleteMemberLicensePlateNumberRelationByIds(Integer[] ids); + + /** + * 删除用户车牌对应关系信息 + * + * @param id 用户车牌对应关系主键 + * @return 结果 + */ + public int deleteMemberLicensePlateNumberRelationById(Integer id); +} diff --git a/jsowell-pile/src/main/java/com/jsowell/pile/service/impl/MemberLicensePlateNumberRelationServiceImpl.java b/jsowell-pile/src/main/java/com/jsowell/pile/service/impl/MemberLicensePlateNumberRelationServiceImpl.java new file mode 100644 index 000000000..c34d1d2a8 --- /dev/null +++ b/jsowell-pile/src/main/java/com/jsowell/pile/service/impl/MemberLicensePlateNumberRelationServiceImpl.java @@ -0,0 +1,95 @@ +package com.jsowell.pile.service.impl; + +import java.util.List; +import com.jsowell.common.util.DateUtils; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; +import com.jsowell.pile.mapper.MemberLicensePlateNumberRelationMapper; +import com.jsowell.pile.domain.MemberLicensePlateNumberRelation; +import com.jsowell.pile.service.IMemberLicensePlateNumberRelationService; + +/** + * 用户车牌对应关系Service业务层处理 + * + * @author jsowell + * @date 2023-03-06 + */ +@Service +public class MemberLicensePlateNumberRelationServiceImpl implements IMemberLicensePlateNumberRelationService +{ + @Autowired + private MemberLicensePlateNumberRelationMapper memberLicensePlateNumberRelationMapper; + + /** + * 查询用户车牌对应关系 + * + * @param id 用户车牌对应关系主键 + * @return 用户车牌对应关系 + */ + @Override + public MemberLicensePlateNumberRelation selectMemberLicensePlateNumberRelationById(Integer id) + { + return memberLicensePlateNumberRelationMapper.selectMemberLicensePlateNumberRelationById(id); + } + + /** + * 查询用户车牌对应关系列表 + * + * @param memberLicensePlateNumberRelation 用户车牌对应关系 + * @return 用户车牌对应关系 + */ + @Override + public List selectMemberLicensePlateNumberRelationList(MemberLicensePlateNumberRelation memberLicensePlateNumberRelation) + { + return memberLicensePlateNumberRelationMapper.selectMemberLicensePlateNumberRelationList(memberLicensePlateNumberRelation); + } + + /** + * 新增用户车牌对应关系 + * + * @param memberLicensePlateNumberRelation 用户车牌对应关系 + * @return 结果 + */ + @Override + public int insertMemberLicensePlateNumberRelation(MemberLicensePlateNumberRelation memberLicensePlateNumberRelation) + { + memberLicensePlateNumberRelation.setCreateTime(DateUtils.getNowDate()); + return memberLicensePlateNumberRelationMapper.insertMemberLicensePlateNumberRelation(memberLicensePlateNumberRelation); + } + + /** + * 修改用户车牌对应关系 + * + * @param memberLicensePlateNumberRelation 用户车牌对应关系 + * @return 结果 + */ + @Override + public int updateMemberLicensePlateNumberRelation(MemberLicensePlateNumberRelation memberLicensePlateNumberRelation) + { + return memberLicensePlateNumberRelationMapper.updateMemberLicensePlateNumberRelation(memberLicensePlateNumberRelation); + } + + /** + * 批量删除用户车牌对应关系 + * + * @param ids 需要删除的用户车牌对应关系主键 + * @return 结果 + */ + @Override + public int deleteMemberLicensePlateNumberRelationByIds(Integer[] ids) + { + return memberLicensePlateNumberRelationMapper.deleteMemberLicensePlateNumberRelationByIds(ids); + } + + /** + * 删除用户车牌对应关系信息 + * + * @param id 用户车牌对应关系主键 + * @return 结果 + */ + @Override + public int deleteMemberLicensePlateNumberRelationById(Integer id) + { + return memberLicensePlateNumberRelationMapper.deleteMemberLicensePlateNumberRelationById(id); + } +} diff --git a/jsowell-pile/src/main/resources/mapper/pile/MemberLicensePlateNumberRelationMapper.xml b/jsowell-pile/src/main/resources/mapper/pile/MemberLicensePlateNumberRelationMapper.xml new file mode 100644 index 000000000..2ce20928a --- /dev/null +++ b/jsowell-pile/src/main/resources/mapper/pile/MemberLicensePlateNumberRelationMapper.xml @@ -0,0 +1,70 @@ + + + + + + + + + + + + + select id, member_id, license_plate_number, create_time from member_license_plate_number_relation + + + + + id, member_id, license_plate_number, create_time + + + + + + + + insert into member_license_plate_number_relation + + member_id, + license_plate_number, + create_time, + + + #{memberId}, + #{licensePlateNumber}, + #{createTime}, + + + + + update member_license_plate_number_relation + + member_id = #{memberId}, + license_plate_number = #{licensePlateNumber}, + create_time = #{createTime}, + + where id = #{id} + + + + delete from member_license_plate_number_relation where id = #{id} + + + + delete from member_license_plate_number_relation where id in + + #{id} + + + \ No newline at end of file