From c93a86960454d18c0e4cb61b65df651849fe50e9 Mon Sep 17 00:00:00 2001
From: wuxw <928255095@qq.com>
Date: 星期五, 22 三月 2024 09:35:53 +0800
Subject: [PATCH] 优化业主端逻辑
---
service-user/src/main/java/com/java110/user/cmd/owner/AuthOwnerCmd.java | 163 ++++++++++++++++++++++++++++++++++++++++++++++++++++++
1 files changed, 163 insertions(+), 0 deletions(-)
diff --git a/service-user/src/main/java/com/java110/user/cmd/owner/AuthOwnerCmd.java b/service-user/src/main/java/com/java110/user/cmd/owner/AuthOwnerCmd.java
index 8f9921b..5df4ffb 100644
--- a/service-user/src/main/java/com/java110/user/cmd/owner/AuthOwnerCmd.java
+++ b/service-user/src/main/java/com/java110/user/cmd/owner/AuthOwnerCmd.java
@@ -2,22 +2,185 @@
import com.alibaba.fastjson.JSONObject;
import com.java110.core.annotation.Java110Cmd;
+import com.java110.core.context.CmdContextUtils;
import com.java110.core.context.ICmdDataFlowContext;
import com.java110.core.event.cmd.Cmd;
import com.java110.core.event.cmd.CmdEvent;
+import com.java110.core.factory.GenerateCodeFactory;
+import com.java110.dto.community.CommunityDto;
+import com.java110.dto.owner.OwnerAppUserDto;
+import com.java110.dto.owner.OwnerDto;
+import com.java110.dto.owner.OwnerRoomRelDto;
+import com.java110.dto.room.RoomDto;
+import com.java110.dto.user.UserAttrDto;
+import com.java110.dto.user.UserDto;
+import com.java110.intf.community.ICommunityInnerServiceSMO;
+import com.java110.intf.community.IRoomV1InnerServiceSMO;
+import com.java110.intf.user.*;
+import com.java110.po.owner.OwnerAppUserPo;
import com.java110.utils.exception.CmdException;
+import com.java110.utils.util.Assert;
+import com.java110.utils.util.ListUtil;
+import org.springframework.beans.factory.annotation.Autowired;
import java.text.ParseException;
+import java.util.List;
@Java110Cmd(serviceCode = "owner.authOwner")
public class AuthOwnerCmd extends Cmd {
+
+ @Autowired
+ private IOwnerAppUserV1InnerServiceSMO ownerAppUserV1InnerServiceSMOImpl;
+
+ @Autowired
+ private IOwnerV1InnerServiceSMO ownerV1InnerServiceSMOImpl;
+
+ @Autowired
+ private IRoomV1InnerServiceSMO roomV1InnerServiceSMOImpl;
+
+ @Autowired
+ private IUserV1InnerServiceSMO userV1InnerServiceSMOImpl;
+
+ @Autowired
+ private IOwnerRoomRelV1InnerServiceSMO ownerRoomRelV1InnerServiceSMOImpl;
+
+ @Autowired
+ private ICommunityInnerServiceSMO communityInnerServiceSMOImpl;
+
+ @Autowired
+ private IUserAttrV1InnerServiceSMO userAttrV1InnerServiceSMOImpl;
+
+ /**
+ * {"communityId":"2023052267100146","roomName":"1-1-888","roomId":"752024021967653523","link":"15509711111","ownerName":"寮犱笁","ownerTypeCd":"1001"}
+ *
+ * @param event 浜嬩欢瀵硅薄
+ * @param context 璇锋眰鎶ユ枃鏁版嵁
+ * @param reqJson
+ * @throws CmdException
+ * @throws ParseException
+ */
@Override
public void validate(CmdEvent event, ICmdDataFlowContext context, JSONObject reqJson) throws CmdException, ParseException {
+ Assert.hasKeyAndValue(reqJson, "communityId", "鏈寘鍚皬鍖�");
+ Assert.hasKeyAndValue(reqJson, "roomName", "鏈寘鍚埧灞�");
+ Assert.hasKeyAndValue(reqJson, "roomId", "鏈寘鍚埧灞�");
+ Assert.hasKeyAndValue(reqJson, "link", "鏈寘鍚墜鏈哄彿");
+ Assert.hasKeyAndValue(reqJson, "ownerName", "鏈寘鍚汉鍛樺悕绉�");
+ Assert.hasKeyAndValue(reqJson, "ownerTypeCd", "鏈寘鍚汉鍛樼被鍨�");
+
+ //todo 鏍规嵁鎵嬫満鍙锋煡璇� 鏄惁宸茬粡璁よ瘉杩囷紝濡傛灉璁よ瘉杩囧垯涓嶈兘鍐嶆璁よ瘉
+
+// OwnerDto ownerDto = new OwnerDto();
+// ownerDto.setLink(reqJson.getString("link"));
+// ownerDto.setCommunityId(reqJson.getString("communityId"));
+// List<OwnerDto> ownerDtos = ownerV1InnerServiceSMOImpl.queryOwners(ownerDto);
+// if(ListUtil.isNull(ownerDtos)){
+// return;
+// }
+
+ String userId = CmdContextUtils.getUserId(context);
+ UserDto userDto = new UserDto();
+ userDto.setUserId(userId);
+ List<UserDto> userDtos = userV1InnerServiceSMOImpl.queryUsers(userDto);
+ Assert.listOnlyOne(userDtos, "鐢ㄦ埛鏈櫥褰�");
+ if (!userDtos.get(0).getTel().equals(reqJson.getString("link"))) {
+ throw new CmdException("鎵嬫満鍙烽敊璇紝涓嶆槸娉ㄥ唽鏃剁殑鎵嬫満鍙�");
+ }
+
+ OwnerAppUserDto ownerAppUserDto = new OwnerAppUserDto();
+ ownerAppUserDto.setLink(reqJson.getString("link"));
+ ownerAppUserDto.setCommunityId(reqJson.getString("communityId"));
+ ownerAppUserDto.setStates(new String[]{
+ OwnerAppUserDto.STATE_AUDITING,
+ OwnerAppUserDto.STATE_AUDIT_SUCCESS
+ });
+ List<OwnerAppUserDto> ownerAppUserDtos = ownerAppUserV1InnerServiceSMOImpl.queryOwnerAppUsers(ownerAppUserDto);
+
+ if (!ListUtil.isNull(ownerAppUserDtos)) {
+ throw new CmdException("宸插瓨鍦ㄨ璇佸叧绯伙紝璇峰嬁閲嶅璁よ瘉");
+ }
+
+ RoomDto roomDto = new RoomDto();
+ roomDto.setRoomId(reqJson.getString("roomId"));
+ roomDto.setCommunityId(reqJson.getString("communityId"));
+ List<RoomDto> roomDtos = roomV1InnerServiceSMOImpl.queryRooms(roomDto);
+ Assert.listOnlyOne(roomDtos, "鎴垮眿涓嶅瓨鍦�");
+
+ if (!OwnerDto.OWNER_TYPE_CD_OWNER.equals(reqJson.getString("ownerTypeCd"))) {
+ return;
+ }
+
+ OwnerRoomRelDto ownerRoomRelDto = new OwnerRoomRelDto();
+ ownerRoomRelDto.setRoomId(roomDtos.get(0).getRoomId());
+ List<OwnerRoomRelDto> ownerRoomRelDtos = ownerRoomRelV1InnerServiceSMOImpl.queryOwnerRoomRels(ownerRoomRelDto);
+
+ if (ListUtil.isNull(ownerRoomRelDtos)) {
+ return;
+ }
+
+ ownerAppUserDto = new OwnerAppUserDto();
+ ownerAppUserDto.setMemberId(ownerRoomRelDtos.get(0).getOwnerId());
+ ownerAppUserDto.setCommunityId(reqJson.getString("communityId"));
+ ownerAppUserDto.setStates(new String[]{
+ OwnerAppUserDto.STATE_AUDITING,
+ OwnerAppUserDto.STATE_AUDIT_SUCCESS
+ });
+ ownerAppUserDtos = ownerAppUserV1InnerServiceSMOImpl.queryOwnerAppUsers(ownerAppUserDto);
+
+ if (!ListUtil.isNull(ownerAppUserDtos)) {
+ throw new CmdException("涓氫富宸茬粡琚璇�");
+ }
+
}
+ /**
+ * {"communityId":"2023052267100146","roomName":"1-1-888","roomId":"752024021967653523","link":"15509711111","ownerName":"寮犱笁","ownerTypeCd":"1001"}
+ *
+ * @param event 浜嬩欢瀵硅薄
+ * @param context 鏁版嵁涓婃枃瀵硅薄
+ * @param reqJson 璇锋眰鎶ユ枃
+ * @throws CmdException
+ * @throws ParseException
+ */
@Override
public void doCmd(CmdEvent event, ICmdDataFlowContext context, JSONObject reqJson) throws CmdException, ParseException {
+ String userId = CmdContextUtils.getUserId(context);
+
+ CommunityDto communityDto = new CommunityDto();
+ communityDto.setCommunityId(reqJson.getString("communityId"));
+ List<CommunityDto> communityDtos = communityInnerServiceSMOImpl.queryCommunitys(communityDto);
+ Assert.listNotNull(communityDtos, "鏈寘鍚皬鍖轰俊鎭�");
+ CommunityDto tmpCommunityDto = communityDtos.get(0);
+
+
+ OwnerAppUserPo ownerAppUserPo = new OwnerAppUserPo();
+ //鐘舵�佺被鍨嬶紝10000 瀹℃牳涓紝12000 瀹℃牳鎴愬姛锛�13000 瀹℃牳澶辫触
+ ownerAppUserPo.setState("12000");
+ ownerAppUserPo.setAppTypeCd("10010");
+ ownerAppUserPo.setAppUserId(GenerateCodeFactory.getGeneratorId(GenerateCodeFactory.CODE_PREFIX_appUserId));
+ ownerAppUserPo.setMemberId("-1");
+ ownerAppUserPo.setCommunityName(tmpCommunityDto.getName());
+ ownerAppUserPo.setCommunityId(tmpCommunityDto.getCommunityId());
+ ownerAppUserPo.setAppUserName(reqJson.getString("ownerName"));
+ ownerAppUserPo.setAppType("WECHAT");
+ ownerAppUserPo.setLink(reqJson.getString("link"));
+ ownerAppUserPo.setUserId(userId);
+ ownerAppUserPo.setOpenId("-1");
+ ownerAppUserPo.setRoomId(reqJson.getString("roomId"));
+ ownerAppUserPo.setRoomName(reqJson.getString("roomName"));
+ ownerAppUserPo.setOwnerTypeCd(reqJson.getString("ownerTypeCd"));
+
+ UserAttrDto userAttrDto = new UserAttrDto();
+ userAttrDto.setUserId(userId);
+ userAttrDto.setSpecCd(UserAttrDto.SPEC_OPEN_ID);
+ List<UserAttrDto> userAttrDtos = userAttrV1InnerServiceSMOImpl.queryUserAttrs(userAttrDto);
+ if (!ListUtil.isNull(userAttrDtos)) {
+ ownerAppUserPo.setOpenId(userAttrDtos.get(0).getValue());
+
+ }
+
+ ownerAppUserV1InnerServiceSMOImpl.saveOwnerAppUser(ownerAppUserPo);
}
}
--
Gitblit v1.8.0