From 8602e68f3719a429756bd0191f22bfef5dbb4567 Mon Sep 17 00:00:00 2001 From: jjLv <1981429112@qq.com> Date: Mon, 14 Apr 2025 09:12:03 +0800 Subject: [PATCH] =?UTF-8?q?=E5=8F=8C=E5=B1=8F=E6=B6=88=E8=B4=B9=E6=9C=BA-?= =?UTF-8?q?=E7=94=A8=E6=88=B7=E4=BF=A1=E6=81=AF=E6=9F=A5=E8=AF=A2=E3=80=81?= =?UTF-8?q?mq=E6=8E=A8=E9=80=81?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../service/impl/AccInfoServiceImpl.java | 4 +- .../android/controller/UserController.java | 31 ++++++++++++++ .../canteen/core/android/dto/AppDTO.java | 2 + .../core/android/mapper/UserMapper.java | 22 ++++++++++ .../core/android/service/UserService.java | 14 +++++++ .../android/service/impl/UserServiceImpl.java | 41 +++++++++++++++++++ .../canteen/core/android/vo/UserInfoVo.java | 39 ++++++++++++++++++ .../DeviceMqPersonalUpdateMessageDTO.java | 15 ++++++- .../service/impl/UserFaceServiceImpl.java | 2 +- .../resources/mapper/android/UserMapper.xml | 41 +++++++++++++++++++ 10 files changed, 207 insertions(+), 4 deletions(-) create mode 100644 bonus-modules/bonus-smart-canteen/src/main/java/com/bonus/canteen/core/android/controller/UserController.java create mode 100644 bonus-modules/bonus-smart-canteen/src/main/java/com/bonus/canteen/core/android/mapper/UserMapper.java create mode 100644 bonus-modules/bonus-smart-canteen/src/main/java/com/bonus/canteen/core/android/service/UserService.java create mode 100644 bonus-modules/bonus-smart-canteen/src/main/java/com/bonus/canteen/core/android/service/impl/UserServiceImpl.java create mode 100644 bonus-modules/bonus-smart-canteen/src/main/java/com/bonus/canteen/core/android/vo/UserInfoVo.java create mode 100644 bonus-modules/bonus-smart-canteen/src/main/resources/mapper/android/UserMapper.xml diff --git a/bonus-modules/bonus-smart-canteen/src/main/java/com/bonus/canteen/core/account/service/impl/AccInfoServiceImpl.java b/bonus-modules/bonus-smart-canteen/src/main/java/com/bonus/canteen/core/account/service/impl/AccInfoServiceImpl.java index 309efb1..f86f745 100644 --- a/bonus-modules/bonus-smart-canteen/src/main/java/com/bonus/canteen/core/account/service/impl/AccInfoServiceImpl.java +++ b/bonus-modules/bonus-smart-canteen/src/main/java/com/bonus/canteen/core/account/service/impl/AccInfoServiceImpl.java @@ -185,7 +185,7 @@ public class AccInfoServiceImpl implements IAccInfoService { Long userId = users.get(i).getUserId(); accWalletInfoService.deleteAccWalletInfoByUserId(userId); MqUtil.sendDataChange(userId, LeMqConstant.DataChangeType.REMOVE, LeMqConstant.Topic.DATA_CHANGE_CUSTOMER); - DeviceMqPersonalUpdateMessageDTO bean = new DeviceMqPersonalUpdateMessageDTO().setUpdatePersonPhoto(Math.toIntExact(userId)); + DeviceMqPersonalUpdateMessageDTO bean = new DeviceMqPersonalUpdateMessageDTO().setUpdatePerson(Math.toIntExact(userId),"del"); MqUtil.pushToTenantAllDevice(bean, LeMqConstant.Topic.DEVICE_UPDATE_PERSONAL_CONFIG_V4); count += accInfoMapper.deleteAccInfoByUserId(userId); } @@ -213,7 +213,7 @@ public class AccInfoServiceImpl implements IAccInfoService { } MqUtil.sendDataChange(sysUser.getUserId(), LeMqConstant.DataChangeType.ADD, LeMqConstant.Topic.DATA_CHANGE_CUSTOMER); - DeviceMqPersonalUpdateMessageDTO bean = new DeviceMqPersonalUpdateMessageDTO().setUpdatePersonPhoto(Math.toIntExact(sysUser.getUserId())); + DeviceMqPersonalUpdateMessageDTO bean = new DeviceMqPersonalUpdateMessageDTO().setUpdatePerson(Math.toIntExact(sysUser.getUserId()),"update"); MqUtil.pushToTenantAllDevice(bean, LeMqConstant.Topic.DEVICE_UPDATE_PERSONAL_CONFIG_V4); return this.accWalletInfoService.batchInsertAccWalletInfo(accWalletInfos); } diff --git a/bonus-modules/bonus-smart-canteen/src/main/java/com/bonus/canteen/core/android/controller/UserController.java b/bonus-modules/bonus-smart-canteen/src/main/java/com/bonus/canteen/core/android/controller/UserController.java new file mode 100644 index 0000000..52a7bd1 --- /dev/null +++ b/bonus-modules/bonus-smart-canteen/src/main/java/com/bonus/canteen/core/android/controller/UserController.java @@ -0,0 +1,31 @@ +package com.bonus.canteen.core.android.controller; + +import com.bonus.canteen.core.android.dto.AppDTO; +import com.bonus.canteen.core.android.service.UserService; +import com.bonus.common.core.exception.ServiceException; +import com.bonus.common.core.web.domain.AjaxResult; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.RequestBody; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; + +@Api(tags = "android-双屏消费机-用户信息") +@RestController +@RequestMapping("/api/android/user") +public class UserController { + @Autowired + private UserService userService; + + @ApiOperation("获取人员信息") + @RequestMapping("/getUserInfo") + public AjaxResult getUserInfo(@RequestBody AppDTO dto) { + try { + return userService.getUserInfo(dto); + }catch (ServiceException e){ + return AjaxResult.error("获取人员信息失败!"); + } + } + +} diff --git a/bonus-modules/bonus-smart-canteen/src/main/java/com/bonus/canteen/core/android/dto/AppDTO.java b/bonus-modules/bonus-smart-canteen/src/main/java/com/bonus/canteen/core/android/dto/AppDTO.java index 79c19aa..3fd3928 100644 --- a/bonus-modules/bonus-smart-canteen/src/main/java/com/bonus/canteen/core/android/dto/AppDTO.java +++ b/bonus-modules/bonus-smart-canteen/src/main/java/com/bonus/canteen/core/android/dto/AppDTO.java @@ -11,4 +11,6 @@ public class AppDTO { private String deviceSn; private String time; + + private String type; } diff --git a/bonus-modules/bonus-smart-canteen/src/main/java/com/bonus/canteen/core/android/mapper/UserMapper.java b/bonus-modules/bonus-smart-canteen/src/main/java/com/bonus/canteen/core/android/mapper/UserMapper.java new file mode 100644 index 0000000..dba5fa0 --- /dev/null +++ b/bonus-modules/bonus-smart-canteen/src/main/java/com/bonus/canteen/core/android/mapper/UserMapper.java @@ -0,0 +1,22 @@ +package com.bonus.canteen.core.android.mapper; + +import com.bonus.canteen.core.android.dto.AppDTO; +import com.bonus.canteen.core.android.vo.UserInfoVo; + +import java.util.List; + +public interface UserMapper { + /** + * 获取人员信息 + * + * @param dto + * @return + */ + List getUserInfo(AppDTO dto); + /** + * 获取人员钱包余额 + * + * @return + */ + List getMoneyList(); +} diff --git a/bonus-modules/bonus-smart-canteen/src/main/java/com/bonus/canteen/core/android/service/UserService.java b/bonus-modules/bonus-smart-canteen/src/main/java/com/bonus/canteen/core/android/service/UserService.java new file mode 100644 index 0000000..3cf40da --- /dev/null +++ b/bonus-modules/bonus-smart-canteen/src/main/java/com/bonus/canteen/core/android/service/UserService.java @@ -0,0 +1,14 @@ +package com.bonus.canteen.core.android.service; + +import com.bonus.canteen.core.android.dto.AppDTO; +import com.bonus.common.core.web.domain.AjaxResult; + +public interface UserService { + /** + * 获取人员信息 + * + * @param dto + * @return + */ + AjaxResult getUserInfo(AppDTO dto); +} diff --git a/bonus-modules/bonus-smart-canteen/src/main/java/com/bonus/canteen/core/android/service/impl/UserServiceImpl.java b/bonus-modules/bonus-smart-canteen/src/main/java/com/bonus/canteen/core/android/service/impl/UserServiceImpl.java new file mode 100644 index 0000000..a584d02 --- /dev/null +++ b/bonus-modules/bonus-smart-canteen/src/main/java/com/bonus/canteen/core/android/service/impl/UserServiceImpl.java @@ -0,0 +1,41 @@ +package com.bonus.canteen.core.android.service.impl; + +import com.bonus.canteen.core.android.dto.AppDTO; +import com.bonus.canteen.core.android.mapper.UserMapper; +import com.bonus.canteen.core.android.service.UserService; +import com.bonus.canteen.core.android.vo.UserInfoVo; +import com.bonus.common.core.web.domain.AjaxResult; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; + +import java.util.ArrayList; +import java.util.List; +@Service +public class UserServiceImpl implements UserService { + @Autowired + private UserMapper mapper; + /** + * 获取人员信息 + * + * @param dto + * @return + */ + @Override + public AjaxResult getUserInfo(AppDTO dto) { + List list = mapper.getUserInfo(dto); + List moneyList = mapper.getMoneyList(); + if (!list.isEmpty()){ + list.forEach(userInfoVo -> { + UserInfoVo money = moneyList.stream().filter(moneyVo -> moneyVo.getUserId().equals(userInfoVo.getUserId())).findFirst().orElse(null); + if (money != null){ + userInfoVo.setPersonalWalletBalance(money.getPersonalWalletBalance()); + userInfoVo.setSubsidiesBalance(money.getSubsidiesBalance()); + } + }); + System.out.println(list); + }else { + return AjaxResult.success(new ArrayList()); + } + return AjaxResult.success(list); + } +} diff --git a/bonus-modules/bonus-smart-canteen/src/main/java/com/bonus/canteen/core/android/vo/UserInfoVo.java b/bonus-modules/bonus-smart-canteen/src/main/java/com/bonus/canteen/core/android/vo/UserInfoVo.java new file mode 100644 index 0000000..443a250 --- /dev/null +++ b/bonus-modules/bonus-smart-canteen/src/main/java/com/bonus/canteen/core/android/vo/UserInfoVo.java @@ -0,0 +1,39 @@ +package com.bonus.canteen.core.android.vo; + +import lombok.Data; +import lombok.ToString; + +import java.math.BigDecimal; + +@Data +@ToString +public class UserInfoVo { + + private String userId; + + private String userName; + + private String accId; + /** + * 卡号 + */ + private String cardNum; + + /** + * 序列号 物理卡号 + */ + private String serialNum; + + /** + * 个人钱包余额 + */ + private BigDecimal personalWalletBalance; + + /** + * 补贴余额 + */ + private BigDecimal subsidiesBalance; + + + +} diff --git a/bonus-modules/bonus-smart-canteen/src/main/java/com/bonus/canteen/core/user/domain/DeviceMqPersonalUpdateMessageDTO.java b/bonus-modules/bonus-smart-canteen/src/main/java/com/bonus/canteen/core/user/domain/DeviceMqPersonalUpdateMessageDTO.java index 8e104f5..cfcae83 100644 --- a/bonus-modules/bonus-smart-canteen/src/main/java/com/bonus/canteen/core/user/domain/DeviceMqPersonalUpdateMessageDTO.java +++ b/bonus-modules/bonus-smart-canteen/src/main/java/com/bonus/canteen/core/user/domain/DeviceMqPersonalUpdateMessageDTO.java @@ -20,6 +20,16 @@ public class DeviceMqPersonalUpdateMessageDTO { private Integer updateValidityPhoto; @ApiModelProperty("当前时间") private String currentTime; + @ApiModelProperty("类型") + private String type; + + public String getType() { + return type; + } + + public void setType(String type) { + this.type = type; + } public void setCurrentTime(String currentTime) { this.currentTime = currentTime; @@ -54,15 +64,17 @@ public class DeviceMqPersonalUpdateMessageDTO { } - public DeviceMqPersonalUpdateMessageDTO setUpdatePerson(final Integer updatePerson) { + public DeviceMqPersonalUpdateMessageDTO setUpdatePerson(final Integer updatePerson, final String type) { this.currentTime = DateUtils.getTime(); this.updatePerson = updatePerson; + this.type = type; return this; } public DeviceMqPersonalUpdateMessageDTO setUpdatePersonPhoto(final Integer updatePersonPhoto) { this.currentTime = DateUtils.getTime(); this.updatePersonPhoto = updatePersonPhoto; + return this; } @@ -94,6 +106,7 @@ public class DeviceMqPersonalUpdateMessageDTO { public String toString() { return "DeviceMqPersonalUpdateMessageDTO{" + "updatePerson=" + updatePerson + + ", type=" + type + ", updatePersonPhoto=" + updatePersonPhoto + ", updateCardStatus=" + updateCardStatus + ", isAccBalChange=" + isAccBalChange + diff --git a/bonus-modules/bonus-smart-canteen/src/main/java/com/bonus/canteen/core/user/service/impl/UserFaceServiceImpl.java b/bonus-modules/bonus-smart-canteen/src/main/java/com/bonus/canteen/core/user/service/impl/UserFaceServiceImpl.java index f7e6307..a41f3cd 100644 --- a/bonus-modules/bonus-smart-canteen/src/main/java/com/bonus/canteen/core/user/service/impl/UserFaceServiceImpl.java +++ b/bonus-modules/bonus-smart-canteen/src/main/java/com/bonus/canteen/core/user/service/impl/UserFaceServiceImpl.java @@ -81,7 +81,7 @@ public class UserFaceServiceImpl implements IUserFaceService { DeviceMqPersonalUpdateMessageDTO bean = new DeviceMqPersonalUpdateMessageDTO().setUpdatePersonPhoto(1); System.out.println(bean.toString()); //发送mq -// MqUtil.pushToTenantAllDevice(bean, LeMqConstant.Topic.DEVICE_UPDATE_PERSONAL_CONFIG_V4); + MqUtil.pushToTenantAllDevice(bean, LeMqConstant.Topic.DEVICE_UPDATE_PERSONAL_CONFIG_V4); return AjaxResult.success(); } } diff --git a/bonus-modules/bonus-smart-canteen/src/main/resources/mapper/android/UserMapper.xml b/bonus-modules/bonus-smart-canteen/src/main/resources/mapper/android/UserMapper.xml new file mode 100644 index 0000000..e6e0f1d --- /dev/null +++ b/bonus-modules/bonus-smart-canteen/src/main/resources/mapper/android/UserMapper.xml @@ -0,0 +1,41 @@ + + + + + + \ No newline at end of file