diff --git a/yudao-module-member/yudao-module-member-biz/src/main/java/cn/iocoder/yudao/module/member/controller/admin/screen/ScreenController.java b/yudao-module-member/yudao-module-member-biz/src/main/java/cn/iocoder/yudao/module/member/controller/admin/screen/ScreenController.java index e79c3ace..30943ce2 100644 --- a/yudao-module-member/yudao-module-member-biz/src/main/java/cn/iocoder/yudao/module/member/controller/admin/screen/ScreenController.java +++ b/yudao-module-member/yudao-module-member-biz/src/main/java/cn/iocoder/yudao/module/member/controller/admin/screen/ScreenController.java @@ -1,5 +1,6 @@ package cn.iocoder.yudao.module.member.controller.admin.screen; +import cn.hutool.core.collection.CollectionUtil; import cn.hutool.core.date.DatePattern; import cn.hutool.core.date.DateTime; import cn.iocoder.yudao.framework.common.pojo.CommonResult; @@ -36,6 +37,7 @@ import javax.servlet.http.HttpServletRequest; import java.math.BigDecimal; import java.util.List; import java.util.Map; +import java.util.stream.Collectors; import static cn.iocoder.yudao.framework.common.pojo.CommonResult.success; @@ -170,9 +172,24 @@ public class ScreenController { @Operation(summary = "设备数据") @PermitAll public CommonResult> getDeviceInfo(Long storeId) { - return success(deviceWarnService.getDeviceInfo(storeId)); + List deviceInfo = deviceWarnService.getDeviceInfo(storeId); + for (DeviceInfo info : deviceInfo) { + info.setDiff(info.getTotalWeight().subtract(info.getRemWeight())); + } + return success(deviceInfo); } - + @GetMapping("/warnDish") + @Operation(summary = "告警菜品") + @PermitAll + public CommonResult> getWarnDish(Long storeId) { + List deviceInfo = deviceWarnService.getDeviceInfo(storeId); + if(CollectionUtil.isNotEmpty(deviceInfo)){ + deviceInfo = deviceInfo.stream().filter(deviceInfo1 -> + deviceInfo1.getRemWeight().compareTo(deviceInfo1.getFirstWeight().multiply(new BigDecimal("0.2")))<0) + .collect(Collectors.toList()); + } + return success(deviceInfo); + } } diff --git a/yudao-module-member/yudao-module-member-biz/src/main/java/cn/iocoder/yudao/module/member/controller/admin/screen/vo/DeviceInfo.java b/yudao-module-member/yudao-module-member-biz/src/main/java/cn/iocoder/yudao/module/member/controller/admin/screen/vo/DeviceInfo.java index ccc3b85e..a08f5635 100644 --- a/yudao-module-member/yudao-module-member-biz/src/main/java/cn/iocoder/yudao/module/member/controller/admin/screen/vo/DeviceInfo.java +++ b/yudao-module-member/yudao-module-member-biz/src/main/java/cn/iocoder/yudao/module/member/controller/admin/screen/vo/DeviceInfo.java @@ -25,4 +25,7 @@ public class DeviceInfo { @Schema(description = "余量") private BigDecimal remWeight; + + @Schema(description = "第一次绑定量") + private BigDecimal firstWeight; } diff --git a/yudao-module-member/yudao-module-member-biz/src/main/java/cn/iocoder/yudao/module/member/dal/dataobject/storegoods/StoreGoodsDO.java b/yudao-module-member/yudao-module-member-biz/src/main/java/cn/iocoder/yudao/module/member/dal/dataobject/storegoods/StoreGoodsDO.java index d50717ab..a3d56dbd 100644 --- a/yudao-module-member/yudao-module-member-biz/src/main/java/cn/iocoder/yudao/module/member/dal/dataobject/storegoods/StoreGoodsDO.java +++ b/yudao-module-member/yudao-module-member-biz/src/main/java/cn/iocoder/yudao/module/member/dal/dataobject/storegoods/StoreGoodsDO.java @@ -52,4 +52,14 @@ public class StoreGoodsDO extends BaseDO { */ private String equipmentCode; + /** + * 库存 + */ + private Integer inventory; + + /** + * 图片 + */ + private String img; + } \ No newline at end of file diff --git a/yudao-module-member/yudao-module-member-biz/src/main/java/cn/iocoder/yudao/module/member/dal/mysql/devicewarn/DeviceWarnMapper.java b/yudao-module-member/yudao-module-member-biz/src/main/java/cn/iocoder/yudao/module/member/dal/mysql/devicewarn/DeviceWarnMapper.java index ac734b9f..c804cdcc 100644 --- a/yudao-module-member/yudao-module-member-biz/src/main/java/cn/iocoder/yudao/module/member/dal/mysql/devicewarn/DeviceWarnMapper.java +++ b/yudao-module-member/yudao-module-member-biz/src/main/java/cn/iocoder/yudao/module/member/dal/mysql/devicewarn/DeviceWarnMapper.java @@ -31,9 +31,9 @@ public interface DeviceWarnMapper extends BaseMapperX { - @Select("select di.device_name, ds.dishes_name, ds.dishes_sum_price, dn.total_weight, dn.diff, dn.rem_weight\n" + + @Select("select di.device_name, ds.dishes_name, ds.dishes_sum_price, dn.total_weight, dn.diff, dn.rem_weight, dn.first_weight\n" + "from t_device_info di\n" + - " left join (select d.device_sn, d.rem_weight, d.diff, d.total_weight, d.dishes_id\n" + + " left join (select d.device_sn, d.rem_weight, d.diff, d.total_weight, d.dishes_id, d.first_weight\n" + " from t_devuce d\n" + " where d.bind = true\n" + " and d.deleted = false) dn\n" + diff --git a/yudao-module-member/yudao-module-member-biz/src/main/java/cn/iocoder/yudao/module/member/dal/mysql/group/MemberGroupMapper.java b/yudao-module-member/yudao-module-member-biz/src/main/java/cn/iocoder/yudao/module/member/dal/mysql/group/MemberGroupMapper.java index eceec0ad..41683ea3 100644 --- a/yudao-module-member/yudao-module-member-biz/src/main/java/cn/iocoder/yudao/module/member/dal/mysql/group/MemberGroupMapper.java +++ b/yudao-module-member/yudao-module-member-biz/src/main/java/cn/iocoder/yudao/module/member/dal/mysql/group/MemberGroupMapper.java @@ -8,6 +8,7 @@ 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.dal.dataobject.group.MemberGroupDO; import cn.iocoder.yudao.module.member.dal.dataobject.user.MemberUserDO; +import org.apache.ibatis.annotations.Delete; import org.apache.ibatis.annotations.MapKey; import org.apache.ibatis.annotations.Mapper; import org.apache.ibatis.annotations.Param; @@ -54,4 +55,7 @@ public interface MemberGroupMapper extends BaseMapperX { Map selectAllUserGroupName(); List getGroupList(List list); + + @Delete("delete from member_group_member where group_id = #{groupId}") + void deleteAssociation(Long groupId); } diff --git a/yudao-module-member/yudao-module-member-biz/src/main/java/cn/iocoder/yudao/module/member/service/business/BusinessServiceImpl.java b/yudao-module-member/yudao-module-member-biz/src/main/java/cn/iocoder/yudao/module/member/service/business/BusinessServiceImpl.java index 903e8d0d..c94f9f4c 100644 --- a/yudao-module-member/yudao-module-member-biz/src/main/java/cn/iocoder/yudao/module/member/service/business/BusinessServiceImpl.java +++ b/yudao-module-member/yudao-module-member-biz/src/main/java/cn/iocoder/yudao/module/member/service/business/BusinessServiceImpl.java @@ -383,6 +383,6 @@ public class BusinessServiceImpl implements BusinessService { List businessDOS = businessMapper.selectList(Wrappers.lambdaQuery() .between(BusinessDO::getCreateTime, startOfDay, endOfDay) .eq(BusinessDO::getCarteenId, carteenId)); - return businessDOS.get(0); + return CollectionUtil.isNotEmpty(businessDOS)?businessDOS.get(0):new BusinessDO(); } } \ No newline at end of file diff --git a/yudao-module-member/yudao-module-member-biz/src/main/java/cn/iocoder/yudao/module/member/service/group/MemberGroupServiceImpl.java b/yudao-module-member/yudao-module-member-biz/src/main/java/cn/iocoder/yudao/module/member/service/group/MemberGroupServiceImpl.java index 5c6daf4f..41177933 100644 --- a/yudao-module-member/yudao-module-member-biz/src/main/java/cn/iocoder/yudao/module/member/service/group/MemberGroupServiceImpl.java +++ b/yudao-module-member/yudao-module-member-biz/src/main/java/cn/iocoder/yudao/module/member/service/group/MemberGroupServiceImpl.java @@ -73,7 +73,9 @@ public class MemberGroupServiceImpl implements MemberGroupService { // 校验存在 validateGroupExists(id); // 校验分组下是否有用户 - validateGroupHasUser(id); +// validateGroupHasUser(id); + //把分组下的用户群解放 + memberGroupMapper.deleteAssociation(id); // 删除 memberGroupMapper.deleteById(id); } diff --git a/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/controller/app/devuce/AppDevuceController.java b/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/controller/app/devuce/AppDevuceController.java index 43feb34a..ea70dfdb 100644 --- a/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/controller/app/devuce/AppDevuceController.java +++ b/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/controller/app/devuce/AppDevuceController.java @@ -24,6 +24,7 @@ import org.springframework.web.bind.annotation.RestController; import javax.annotation.Resource; import javax.annotation.security.PermitAll; import javax.validation.Valid; +import java.math.BigDecimal; import java.util.List; import java.util.Map; @@ -132,6 +133,14 @@ public class AppDevuceController { return success(true); } + @PutMapping("/addWeight") + @Operation(summary = "增加菜品总量") + public CommonResult addWeight(BigDecimal addWeight) { + devuceService.addWeight(addWeight); + return success(true); + } + + @GetMapping("/alive") @Operation(summary = "在线检测") public void alive() { diff --git a/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/dal/dataobject/devuce/DevuceDO.java b/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/dal/dataobject/devuce/DevuceDO.java index 0b209e08..8d607a33 100644 --- a/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/dal/dataobject/devuce/DevuceDO.java +++ b/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/dal/dataobject/devuce/DevuceDO.java @@ -55,4 +55,6 @@ public class DevuceDO extends BaseDO { * 菜品剩余重量 */ private BigDecimal remWeight; + + private BigDecimal firstWeight; } \ No newline at end of file diff --git a/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/service/devuce/DevuceService.java b/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/service/devuce/DevuceService.java index 8d300817..b40f06dc 100644 --- a/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/service/devuce/DevuceService.java +++ b/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/service/devuce/DevuceService.java @@ -10,6 +10,7 @@ import cn.iocoder.yudao.module.system.dal.dataobject.dishes.DishesDO; import cn.iocoder.yudao.module.system.dal.dataobject.dishestype.DishesTypeDO; import javax.validation.Valid; +import java.math.BigDecimal; import java.util.List; import java.util.Map; @@ -90,6 +91,10 @@ public interface DevuceService { List getDishesNutrition(Long dishesId,String cId); void updateWeight(DevuceReqVO updateReqVO); + + void addWeight(BigDecimal addWeight); + + List getList(Long storeId); diff --git a/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/service/devuce/DevuceServiceImpl.java b/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/service/devuce/DevuceServiceImpl.java index d7547aaa..f5dfedbb 100644 --- a/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/service/devuce/DevuceServiceImpl.java +++ b/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/service/devuce/DevuceServiceImpl.java @@ -30,6 +30,7 @@ import org.springframework.validation.annotation.Validated; import javax.annotation.Resource; import javax.servlet.http.HttpServletRequest; +import java.math.BigDecimal; import java.util.ArrayList; import java.util.Arrays; import java.util.HashMap; @@ -278,10 +279,25 @@ public class DevuceServiceImpl implements DevuceService { devuceMapper.update(new DevuceDO(),new LambdaUpdateWrapper() .set(updateReqVO.getRemWeight()!=null,DevuceDO::getRemWeight,updateReqVO.getRemWeight()) .set(updateReqVO.getTotalWeight()!=null,DevuceDO::getTotalWeight,updateReqVO.getTotalWeight()) + .set(updateReqVO.getTotalWeight()!=null,DevuceDO::getFirstWeight,updateReqVO.getTotalWeight()) .eq(DevuceDO::getDeviceSn,hearder) .eq(DevuceDO::getBind,true)); } + @Override + public void addWeight(BigDecimal addWeight) { + String hearder = this.getHearder(); + List devuceDOS = devuceMapper.selectList(Wrappers.lambdaQuery() + .eq(DevuceDO::getDeviceSn, hearder) + .eq(DevuceDO::getBind, true)); + if(CollectionUtil.isEmpty(devuceDOS)){ + DevuceDO devuceDO = devuceDOS.get(0); + devuceDO.setTotalWeight(devuceDO.getTotalWeight().add(addWeight)); + devuceDO.setRemWeight(devuceDO.getRemWeight().add(addWeight)); + devuceMapper.updateById(devuceDO); + } + } + @Override public List getList(Long storeId) { ArrayList devuceListVOS = new ArrayList<>();