From 06fac01c188df139de9209763044df2d8b3492c5 Mon Sep 17 00:00:00 2001
From: whywhyo <1511349576@qq.com>
Date: 星期一, 05 六月 2023 20:14:21 +0800
Subject: [PATCH] 456
---
zhang-content/src/main/java/com/ruoyi/service/impl/ZMarryServiceImpl.java | 307 +++++++++++++++++++++++++++++++++++++++++++++++++++
1 files changed, 306 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..0822d3f 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,294 @@
@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);
+
+ //杞垚DTO杩斿洖
+ MarryInfoDto marryInfoDto = MarryInfoToDto(myMarryInfo, oldSpouseList, myself, spouse);
+ return AjaxResult.success(marryInfoDto);
+ }
+
+ private MarryInfoDto MarryInfoToDto(ZMarry myMarryInfo,List<MarryUser> oldSpouseList,MarryUser myself,MarryUser spouse){
+ MarryInfoDto marryInfoDto = new MarryInfoDto();
+ marryInfoDto.setId(myself.getId());
+ marryInfoDto.setName(myself.getName());
+ marryInfoDto.setBirthday(myself.getBirthday());
+ marryInfoDto.setAddress(myself.getAddress());
+ marryInfoDto.setIdNo(myself.getIdNo());
+ marryInfoDto.setMarryStatus(myself.getMarryStatus());
+ marryInfoDto.setSex(myself.getSex());
+ marryInfoDto.setNation(myself.getNation());
+ marryInfoDto.setPhone(myself.getPhone());
+
+ marryInfoDto.setSpouseId(spouse.getId());
+ marryInfoDto.setSpouseName(spouse.getName());
+ marryInfoDto.setSpouseBirthday(spouse.getBirthday());
+ marryInfoDto.setSpouseAddress(spouse.getAddress());
+ marryInfoDto.setSpouseIdNo(spouse.getIdNo());
+ marryInfoDto.setSpouseMarryStatus(spouse.getMarryStatus());
+ marryInfoDto.setSpouseSex(spouse.getSex());
+ marryInfoDto.setSpouseNation(spouse.getNation());
+ marryInfoDto.setSpousePhone(spouse.getPhone());
+
+ marryInfoDto.setMarryId(myMarryInfo.getId());
+ marryInfoDto.setBearStatus(myMarryInfo.getBearStatus());
+ marryInfoDto.setHandbookStatus(myMarryInfo.getHandbookStatus());
+ marryInfoDto.setHandbookTime(myMarryInfo.getHandbookTime());
+ marryInfoDto.setOneBorn(myMarryInfo.getOneBorn());
+ marryInfoDto.setOneBornTime(myMarryInfo.getOneBornTime());
+ marryInfoDto.setContent(myMarryInfo.getContent());
+ marryInfoDto.setRemark(myMarryInfo.getRemark());
+ marryInfoDto.setMarryTime(myMarryInfo.getMarryTime());
+
+ marryInfoDto.setOldSpouseList(oldSpouseList);
+ return marryInfoDto;
+ }
+
+
+
+
+ @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.setIdNo(marryInfoDto.getIdNo());
+ 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.setIdNo(marryInfoDto.getSpouseIdNo());
+ 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.setIdNo(marryInfoDto.getIdNo());
+ 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.setIdNo(marryInfoDto.getSpouseIdNo());
+ 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.setIdNo(marryInfoDto.getSpouseIdNo());
+ 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