From 3cfa0bda6574d0c39db120c457e98a168aa193e8 Mon Sep 17 00:00:00 2001 From: Jinquan_Ou <Jinquan@gdut.com> Date: 星期日, 23 四月 2023 17:15:20 +0800 Subject: [PATCH] 完成婚姻 --- zhang-content/src/main/java/com/ruoyi/service/impl/ZMarryServiceImpl.java | 266 +++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 files changed, 265 insertions(+), 1 deletions(-) diff --git a/zhang-content/src/main/java/com/ruoyi/service/impl/ZMarryServiceImpl.java b/zhang-content/src/main/java/com/ruoyi/service/impl/ZMarryServiceImpl.java index 829457f..66f70d6 100644 --- a/zhang-content/src/main/java/com/ruoyi/service/impl/ZMarryServiceImpl.java +++ b/zhang-content/src/main/java/com/ruoyi/service/impl/ZMarryServiceImpl.java @@ -1,15 +1,30 @@ package com.ruoyi.service.impl; +import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; +import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.ruoyi.common.core.domain.AjaxResult; +import com.ruoyi.common.core.domain.entity.SysUser; +import com.ruoyi.common.utils.SecurityUtils; +import com.ruoyi.common.utils.bean.BeanUtils; +import com.ruoyi.common.utils.uuid.IdUtils; +import com.ruoyi.domain.MarryUser; import com.ruoyi.domain.ZMarry; +import com.ruoyi.domain.dto.MarryInfoDto; import com.ruoyi.mapper.ZMarryMapper; +import com.ruoyi.service.MarryUserService; import com.ruoyi.service.ZMarryService; +import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; +import org.springframework.transaction.annotation.Transactional; + +import javax.annotation.Resource; +import java.util.*; /** * <p> - * 鏈嶅姟瀹炵幇绫� + * 鏈嶅姟瀹炵幇绫� * </p> * * @author ojq @@ -18,4 +33,253 @@ @Service public class ZMarryServiceImpl extends ServiceImpl<ZMarryMapper, ZMarry> implements ZMarryService { + @Resource + MarryUserService marryUserService; + + @Autowired + ZMarryServiceImpl zMarryService; + + @Override + public AjaxResult getNow() { + SysUser user = SecurityUtils.getLoginUser().getUser(); + Long userId = user.getUserId(); + + //鍏堟煡璇釜浜轰俊鎭� + LambdaQueryWrapper<MarryUser> marryUserLambdaQueryWrapper1 = new LambdaQueryWrapper<>(); + marryUserLambdaQueryWrapper1.eq(MarryUser::getMyId, userId); + MarryUser myself = marryUserService.getOne(marryUserLambdaQueryWrapper1); + + //鍐嶆煡璇腑闂磋〃淇℃伅 + if (myself == null) { + throw new RuntimeException("鎮ㄦ殏鏃惰繕鏈湪濠氬Щ琛ㄤ腑娣诲姞涓汉淇℃伅"); + } + LambdaQueryWrapper<ZMarry> zMarryLambdaQueryWrapper = new LambdaQueryWrapper<>(); + zMarryLambdaQueryWrapper.eq(ZMarry::getUserId, myself.getMyId()) + .eq(ZMarry::getDeleteStatus, 0); + ZMarry myMarryInfo = getOne(zMarryLambdaQueryWrapper);//鍙兘鏈変竴涓厤鍋� + + //鏍规嵁涓棿琛ㄤ俊鎭煡璇㈤厤鍋朵俊鎭� + if (myMarryInfo == null) { + throw new RuntimeException("鎮ㄦ殏鏃惰繕鏈湪濠氬Щ琛ㄤ腑娣诲姞濠氬Щ淇℃伅"); + } + String spouseId = myMarryInfo.getSpouseId(); + LambdaQueryWrapper<MarryUser> marryUserLambdaQueryWrapper2 = new LambdaQueryWrapper<>(); + marryUserLambdaQueryWrapper2.eq(MarryUser::getId, spouseId); + MarryUser spouse = marryUserService.getOne(marryUserLambdaQueryWrapper2); + if (spouse == null) { + throw new RuntimeException("鎮ㄦ殏鏃惰繕鏈湪濠氬Щ琛ㄤ腑娣诲姞閰嶅伓淇℃伅"); + } + + //鏍规嵁涓棿琛ㄤ俊鎭煡璇㈠墠浠讳俊鎭� + LambdaQueryWrapper<ZMarry> zMarryOldLQW = new LambdaQueryWrapper<>(); + zMarryOldLQW.eq(ZMarry::getUserId,myself.getMyId()) + .eq(ZMarry::getDeleteStatus,1); + List<ZMarry> oldList = list(zMarryOldLQW); + + //鍓嶄换淇℃伅琛� + List<MarryUser> oldSpouseList = new ArrayList<>(); + for (ZMarry zMarry : oldList) { + String spouseId1 = zMarry.getSpouseId(); + MarryUser oldSpouse = marryUserService.getById(spouseId1); + oldSpouseList.add(oldSpouse); + } + + //缁熶竴灏佽杩斿洖 + HashMap<String, Object> resultMap = new HashMap<>(); + resultMap.put("myInfo",myself); + resultMap.put("spouseInfo",spouse); + resultMap.put("marryInfo",myMarryInfo); + resultMap.put("oldSpouseInfo",oldSpouseList); + + return AjaxResult.success(resultMap); + } + + @Transactional + public AjaxResult addInfo(MarryInfoDto marryInfoDto){ + SysUser user = SecurityUtils.getLoginUser().getUser(); + Long userId = user.getUserId(); + + String meId= IdUtils.simpleUUID(); + String spouseId = IdUtils.simpleUUID(); + + //娣诲姞鑷繁鐨勪俊鎭� + MarryUser myself = new MarryUser(); + myself.setId(meId); + myself.setName(marryInfoDto.getName()); + myself.setBirthday(marryInfoDto.getBirthday()); + myself.setAddress(marryInfoDto.getAddress()); + myself.setWorkAddress(marryInfoDto.getWorkAddress()); + myself.setMarryStatus(marryInfoDto.getMarryStatus()); + myself.setSex(marryInfoDto.getSex()); + myself.setMyId(userId); + myself.setNation(marryInfoDto.getNation()); + myself.setPhone(marryInfoDto.getPhone()); + marryUserService.save(myself); + + //娣诲姞閰嶅伓鐨勪俊鎭� + MarryUser spouse = new MarryUser(); + spouse.setId(spouseId); + spouse.setName(marryInfoDto.getSpouseName()); + spouse.setBirthday(marryInfoDto.getSpouseBirthday()); + spouse.setAddress(marryInfoDto.getSpouseAddress()); + spouse.setWorkAddress(marryInfoDto.getSpouseWorkAddress()); + spouse.setMarryStatus(marryInfoDto.getSpouseMarryStatus()); + spouse.setSex(marryInfoDto.getSpouseSex()); + spouse.setNation(marryInfoDto.getSpouseNation()); + spouse.setPhone(marryInfoDto.getSpousePhone()); + marryUserService.save(spouse); + + //娣诲姞鐢熻偛鎯呭喌(涓棿琛�)淇℃伅 + ZMarry zMarry = new ZMarry(); + zMarry.setUserId(userId); + zMarry.setSpouseId(spouseId); + zMarry.setMarryTime(marryInfoDto.getMarryTime()); + zMarry.setBearStatus(marryInfoDto.getBearStatus()); + zMarry.setHandbookStatus(marryInfoDto.getHandbookStatus()); + zMarry.setHandbookTime(marryInfoDto.getHandbookTime()); + zMarry.setOneBorn(marryInfoDto.getOneBorn()); + zMarry.setOneBornTime(marryInfoDto.getOneBornTime()); + zMarry.setContent(marryInfoDto.getContent()); + zMarry.setRemark(marryInfoDto.getRemark()); + zMarry.setDeleteStatus(0); + zMarryService.save(zMarry); + + + List<MarryUser> oldSpouseList = marryInfoDto.getOldSpouseList(); + + //娣诲姞鍓嶄换鐨勪俊鎭� + if(oldSpouseList!=null&&oldSpouseList.size()!=0){ + for (MarryUser marryUser : oldSpouseList) { + //鍏堟坊鍔犻厤鍋剁敤鎴蜂俊鎭� + String spId = IdUtils.simpleUUID(); + marryUser.setId(spId); + marryUserService.save(marryUser); + + //鍐嶆坊鍔犱腑闂磋〃淇℃伅 + ZMarry oldMarry = new ZMarry(); + oldMarry.setUserId(userId); + oldMarry.setSpouseId(spId); + oldMarry.setDeleteStatus(1); + zMarryService.save(oldMarry); + } + } + + return AjaxResult.success(); + } + + @Transactional + public AjaxResult updateInfo(MarryInfoDto marryInfoDto){ + + SysUser user = SecurityUtils.getLoginUser().getUser(); + Long userId = user.getUserId(); + //鏇存柊鑷繁鐨勪俊鎭� + MarryUser myself = new MarryUser(); + myself.setId(marryInfoDto.getId()); + myself.setName(marryInfoDto.getName()); + myself.setBirthday(marryInfoDto.getBirthday()); + myself.setAddress(marryInfoDto.getAddress()); + myself.setWorkAddress(marryInfoDto.getWorkAddress()); + myself.setMarryStatus(marryInfoDto.getMarryStatus()); + myself.setSex(marryInfoDto.getSex()); + myself.setNation(marryInfoDto.getNation()); + myself.setPhone(marryInfoDto.getPhone()); + marryUserService.updateById(myself); + + //鏇存柊閰嶅伓鐨勪俊鎭� + + //鍏堟煡璇㈡槸鏇存柊閰嶅伓淇℃伅杩樻槸鎹㈤厤鍋讹紝鍥犱负閰嶅伓鍙兘鏈変竴涓� + //杩欓噷鏆傛椂鐢ㄥ悕瀛楁潵鍒ゆ柇鍚э紝濡傛灉鏈夐噸鍚嶇殑浜哄氨浼氭湁bug + //鍏堟煡璇� + String spouseName = marryInfoDto.getSpouseName(); + MarryUser marry = marryUserService.getById(marryInfoDto.getSpouseId()); + String marryName = marry.getName(); + if(!spouseName.equals(marryName)){ + + //濡傛灉姝e瀛愭崲浜轰簡锛屽氨鏂板鑰屼笉鏄慨鏀癸紝鍚屾椂鍒犻櫎鏃х邯褰� + //灏嗙幇鍦ㄤ腑闂磋〃鐨勫瀛愭敼鎴愬墠濡� + LambdaQueryWrapper<ZMarry> lqw = new LambdaQueryWrapper<>(); + lqw.eq(ZMarry::getUserId,userId) + .eq(ZMarry::getSpouseId,marryInfoDto.getSpouseId()); + ZMarry one = getOne(lqw); + one.setDeleteStatus(1); + zMarryService.updateById(one); + + //鏂板鐢ㄦ埛淇℃伅琛� + String spouseId = IdUtils.simpleUUID(); + MarryUser spouse = new MarryUser(); + spouse.setId(spouseId); + spouse.setName(marryInfoDto.getSpouseName()); + spouse.setBirthday(marryInfoDto.getSpouseBirthday()); + spouse.setAddress(marryInfoDto.getSpouseAddress()); + spouse.setWorkAddress(marryInfoDto.getSpouseWorkAddress()); + spouse.setMarryStatus(marryInfoDto.getSpouseMarryStatus()); + spouse.setSex(marryInfoDto.getSpouseSex()); + spouse.setNation(marryInfoDto.getSpouseNation()); + spouse.setPhone(marryInfoDto.getSpousePhone()); + marryUserService.save(spouse); + + //鏂板涓棿琛� + //娣诲姞鐢熻偛鎯呭喌(涓棿琛�)淇℃伅 + ZMarry zMarry = new ZMarry(); + zMarry.setUserId(userId); + zMarry.setSpouseId(spouseId); + zMarry.setMarryTime(marryInfoDto.getMarryTime()); + zMarry.setBearStatus(marryInfoDto.getBearStatus()); + zMarry.setHandbookStatus(marryInfoDto.getHandbookStatus()); + zMarry.setHandbookTime(marryInfoDto.getHandbookTime()); + zMarry.setOneBorn(marryInfoDto.getOneBorn()); + zMarry.setOneBornTime(marryInfoDto.getOneBornTime()); + zMarry.setContent(marryInfoDto.getContent()); + zMarry.setRemark(marryInfoDto.getRemark()); + zMarry.setDeleteStatus(0); + zMarryService.save(zMarry); + + + + }else { + + MarryUser spouse = new MarryUser(); + spouse.setId(marryInfoDto.getSpouseId()); + spouse.setName(marryInfoDto.getSpouseName()); + spouse.setBirthday(marryInfoDto.getSpouseBirthday()); + spouse.setAddress(marryInfoDto.getSpouseAddress()); + spouse.setWorkAddress(marryInfoDto.getSpouseWorkAddress()); + spouse.setMarryStatus(marryInfoDto.getSpouseMarryStatus()); + spouse.setSex(marryInfoDto.getSpouseSex()); + spouse.setNation(marryInfoDto.getSpouseNation()); + spouse.setPhone(marryInfoDto.getSpousePhone()); + marryUserService.updateById(spouse); + + //鏇存柊鐢熻偛鎯呭喌淇℃伅 + ZMarry zMarry = new ZMarry(); + zMarry.setId(marryInfoDto.getMarryId()); + zMarry.setMarryTime(marryInfoDto.getMarryTime()); + zMarry.setBearStatus(marryInfoDto.getBearStatus()); + zMarry.setHandbookStatus(marryInfoDto.getHandbookStatus()); + zMarry.setHandbookTime(marryInfoDto.getHandbookTime()); + zMarry.setOneBorn(marryInfoDto.getOneBorn()); + zMarry.setOneBornTime(marryInfoDto.getOneBornTime()); + zMarry.setContent(marryInfoDto.getContent()); + zMarry.setRemark(marryInfoDto.getRemark()); + zMarry.setDeleteStatus(0); + zMarryService.updateById(zMarry); + } + + //鏇存柊鍓嶄换淇℃伅 + List<MarryUser> oldSpouseList = marryInfoDto.getOldSpouseList(); + if(oldSpouseList!=null&&oldSpouseList.size()!=0){ + for (MarryUser marryUser : oldSpouseList) { + //淇敼鐢ㄦ埛鍓嶄换淇℃伅 + marryUserService.updateById(marryUser); + //涓棿琛ㄤ笉闇�瑕佷慨鏀� + } + } + return AjaxResult.success(); + } + + public AjaxResult deleteOld(String spouseId){ + marryUserService.removeById(spouseId); + return AjaxResult.success(); + } + } -- Gitblit v1.9.1