diff --git a/bonus-modules/bonus-smart-canteen/src/main/java/com/bonus/canteen/core/nutrition/mapper/HealthInfoMapper.java b/bonus-modules/bonus-smart-canteen/src/main/java/com/bonus/canteen/core/nutrition/mapper/HealthInfoMapper.java index aa0b6a8..a3aa727 100644 --- a/bonus-modules/bonus-smart-canteen/src/main/java/com/bonus/canteen/core/nutrition/mapper/HealthInfoMapper.java +++ b/bonus-modules/bonus-smart-canteen/src/main/java/com/bonus/canteen/core/nutrition/mapper/HealthInfoMapper.java @@ -1,11 +1,13 @@ package com.bonus.canteen.core.nutrition.mapper; import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.bonus.canteen.core.nutrition.common.dto.HealthInfoFullDto; import com.bonus.canteen.core.nutrition.common.model.HealthInfo; import com.bonus.canteen.core.nutrition.common.vo.HealthInfoFullVo; import com.bonus.canteen.core.nutrition.common.vo.HealthInfoSimpleVo; import com.bonus.canteen.core.nutrition.domain.HealthPopularScience; import org.apache.ibatis.annotations.Mapper; +import org.apache.ibatis.annotations.Param; import java.util.List; @@ -19,9 +21,17 @@ public interface HealthInfoMapper extends BaseMapper { * @return 健康档案集合 */ public List selectHealthInfoList(HealthInfoSimpleVo healthInfoSimpleVo); - + List selectHealthChronicList(HealthInfoSimpleVo healthInfoSimpleVo); HealthInfoSimpleVo getSimpleInfo(Long userId); HealthInfoFullVo fullHealthInfo(Long userId); + int updateHealthInfo(HealthInfoFullDto entitie); + + int updateHealthBodyRecord(HealthInfoFullDto entitie); + + int deleteHealthInfoChronic(HealthInfoFullDto entitie); + + int insertHealthInfoChronic(@Param("entities") List entities); + } diff --git a/bonus-modules/bonus-smart-canteen/src/main/java/com/bonus/canteen/core/nutrition/service/impl/HealthInfoServiceImpl.java b/bonus-modules/bonus-smart-canteen/src/main/java/com/bonus/canteen/core/nutrition/service/impl/HealthInfoServiceImpl.java index 5f90e82..37dd942 100644 --- a/bonus-modules/bonus-smart-canteen/src/main/java/com/bonus/canteen/core/nutrition/service/impl/HealthInfoServiceImpl.java +++ b/bonus-modules/bonus-smart-canteen/src/main/java/com/bonus/canteen/core/nutrition/service/impl/HealthInfoServiceImpl.java @@ -28,6 +28,7 @@ import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; import javax.annotation.Resource; import java.math.BigDecimal; +import java.util.ArrayList; import java.util.Arrays; import java.util.Collection; import java.util.List; @@ -79,25 +80,35 @@ public class HealthInfoServiceImpl extends ServiceImpl chronicIds = StrUtil.isNotBlank(content.getChronicIds()) ? Arrays.stream(content.getChronicIds().split(",")).map((s) -> { - return Long.parseLong(s); - }).collect(Collectors.toList()) : CollUtil.newArrayList(new Long[0]); - if (CollUtil.isNotEmpty((Collection)chronicIds)) { - this.healthInfoChronicService.insertAssociateBatch(userId, (List)chronicIds); + HealthInfoSimpleVo chronicVo=new HealthInfoSimpleVo(); + chronicVo.setChronicIds(content.getChronicIds()); + List chronicVos=baseMapper.selectHealthChronicList(chronicVo); + if(chronicVos!=null&&chronicVos.size()>0){ + /** + * 清空疾病信息 + */ + baseMapper.deleteHealthInfoChronic(content); + List chronicfVos=new ArrayList<>(); + for(HealthInfoSimpleVo vo:chronicVos){ + HealthInfoFullDto hfd=new HealthInfoFullDto(); + hfd.setUserId(content.getUserId()); + hfd.setChronicIds(vo.getChronicIds()); + hfd.setChronicNames(vo.getChronicNames()); + chronicfVos.add(hfd); + } + /** + * 重新录入疾病信息 + */ + baseMapper.insertHealthInfoChronic(chronicfVos); } - - HealthBodyRecord healthBodyRecord = (HealthBodyRecord)LeBeanUtil.copyCreateProperties(content, HealthBodyRecord.class); - healthBodyRecord.setId(Id.next()); - healthBodyRecord.setHealthInfoSource(HealthInfoSourceEnum.WEB.key()); - this.healthBodyRecordService.insertLatestRecord(healthBodyRecord); - + /** + * 重新录入健康信息 + */ + baseMapper.updateHealthInfo(content); + /** + * 重新录入身体信息 + */ + baseMapper.updateHealthBodyRecord(content); return 1; } diff --git a/bonus-modules/bonus-smart-canteen/src/main/java/com/bonus/canteen/core/user/controller/UserFaceController.java b/bonus-modules/bonus-smart-canteen/src/main/java/com/bonus/canteen/core/user/controller/UserFaceController.java index fac243d..8a638a4 100644 --- a/bonus-modules/bonus-smart-canteen/src/main/java/com/bonus/canteen/core/user/controller/UserFaceController.java +++ b/bonus-modules/bonus-smart-canteen/src/main/java/com/bonus/canteen/core/user/controller/UserFaceController.java @@ -11,7 +11,7 @@ import com.bonus.common.houqin.encrypt.RequiresGuest; import com.bonus.common.houqin.i18n.I18n; import com.bonus.common.log.enums.OperaType; import com.bonus.system.api.domain.SysUser; -import com.bonus.system.api.domain.SysUserFace; +//import com.bonus.system.api.domain.SysUserFace; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; import org.springframework.beans.factory.annotation.Autowired; @@ -42,14 +42,14 @@ public class UserFaceController extends BaseController { @Autowired private IUserFaceService UserFaceService; - @ApiOperation("保存人脸图片") - @PostMapping({"/uploadUserFace"}) - @RequiresGuest - public AjaxResult uploadUserFace(@RequestBody @Valid SysUserFace sysUserFace) { - UserFace dto = new UserFace(); - dto.setUserId(sysUserFace.getUserId()); - dto.setPhotoUrl(sysUserFace.getPhotoUrl()); - return UserFaceService.uploadUserFace(dto); - } +// @ApiOperation("保存人脸图片") +// @PostMapping({"/uploadUserFace"}) +// @RequiresGuest +// public AjaxResult uploadUserFace(@RequestBody @Valid SysUserFace sysUserFace) { +// UserFace dto = new UserFace(); +// dto.setUserId(sysUserFace.getUserId()); +// dto.setPhotoUrl(sysUserFace.getPhotoUrl()); +// return UserFaceService.uploadUserFace(dto); +// } } diff --git a/bonus-modules/bonus-smart-canteen/src/main/resources/mapper/nutrition/HealthInfoMapper.xml b/bonus-modules/bonus-smart-canteen/src/main/resources/mapper/nutrition/HealthInfoMapper.xml index 9b3f45f..2056e62 100644 --- a/bonus-modules/bonus-smart-canteen/src/main/resources/mapper/nutrition/HealthInfoMapper.xml +++ b/bonus-modules/bonus-smart-canteen/src/main/resources/mapper/nutrition/HealthInfoMapper.xml @@ -37,6 +37,11 @@ b.labour_intensity, b.pregnant_status + + + + + update health_info + + + blood_type = #{bloodType}, + + + marital_status = #{maritalStatus}, + + + pregnant_status = #{pregnantStatus}, + + + pregnancy_date = #{pregnancyDate}, + + + doctor_advice = #{doctorAdvice}, + + + if_hospitalized = #{ifHospitalized}, + + + doctor_num = #{doctorNum}, + + + hospital_num = #{hospitalNum}, + + + inpatient_date = #{inpatientDate}, + + + weight_control = #{weightControl}, + + + allergen = #{allergen}, + + + labour_intensity = #{labourIntensity}, + + + where user_id = #{userId} and del_flag='0' + + + update health_body_record + + + height = #{height}, + + + weight = #{weight}, + + + bmi = #{bmi}, + + + where user_id = #{userId} and del_flag='0' + + + delete from health_info_chronic + where user_id = #{userId} + + + insert into health_info_chronic(user_id, chronic_id, chronic_name) + values + + (#{entity.userId}, #{entity.chronicIds}, #{entity.chronicNames}) + +