java110-bean/src/main/java/com/java110/dto/owner/OwnerAppUserDto.java
@@ -61,6 +61,12 @@ private String headImgUrl; private String ownerTypeCd; private String roomId; private String roomName; public String getIdCard() { return idCard; @@ -310,4 +316,20 @@ public void setCommunityQrCode(String communityQrCode) { this.communityQrCode = communityQrCode; } public String getRoomId() { return roomId; } public void setRoomId(String roomId) { this.roomId = roomId; } public String getRoomName() { return roomName; } public void setRoomName(String roomName) { this.roomName = roomName; } } java110-bean/src/main/java/com/java110/po/owner/OwnerAppUserPo.java
@@ -30,6 +30,12 @@ private String statusCd = "0"; private String bId; private String roomId; private String roomName; private String ownerTypeCd; public String getAppUserId() { return appUserId; } @@ -166,4 +172,28 @@ public void setbId(String bId) { this.bId = bId; } public String getRoomId() { return roomId; } public void setRoomId(String roomId) { this.roomId = roomId; } public String getRoomName() { return roomName; } public void setRoomName(String roomName) { this.roomName = roomName; } public String getOwnerTypeCd() { return ownerTypeCd; } public void setOwnerTypeCd(String ownerTypeCd) { this.ownerTypeCd = ownerTypeCd; } } java110-db/src/main/resources/mapper/user/OwnerAppUserServiceDaoImplMapper.xml
@@ -131,7 +131,7 @@ communityName,t.state,t.app_user_id,t.app_user_id appUserId,t.community_id,t.community_id communityId,t.app_type_cd,t.app_type_cd appTypeCd,t.b_id,t.b_id bId,t.member_id,t.member_id memberId, td1.name stateName,t.user_id,t.user_id userId,t.app_type,t.app_type appType,t.create_time createTime, bo.owner_id ownerId,bo.owner_type_cd ownerTypeCd bo.owner_id ownerId,bo.owner_type_cd ownerTypeCd,t.room_id roomId,t.room_name roomName from owner_app_user t left join t_dict td1 on t.state = td1.status_cd and td1.table_name = 'owner_app_user' and td1.table_columns = 'state' java110-db/src/main/resources/mapper/user/OwnerAppUserV1ServiceDaoImplMapper.xml
@@ -8,9 +8,11 @@ <!-- 保存业主绑定信息 add by wuxw 2018-07-03 --> <insert id="saveOwnerAppUserInfo" parameterType="Map"> insert into owner_app_user( id_card,open_id,link,remark,user_id,app_type,app_user_name,nickname,headimgurl,community_name,state,app_user_id,community_id,app_type_cd,member_id id_card,open_id,link,remark,user_id,app_type,app_user_name,nickname,headimgurl,community_name,state,app_user_id, community_id,app_type_cd,member_id,room_id,room_name,owner_type_cd ) values ( #{idCard},#{openId},#{link},#{remark},#{userId},#{appType},#{appUserName},#{nickname},#{headimgurl},#{communityName},#{state},#{appUserId},#{communityId},#{appTypeCd},#{memberId} #{idCard},#{openId},#{link},#{remark},#{userId},#{appType},#{appUserName},#{nickname},#{headimgurl},#{communityName},#{state},#{appUserId}, #{communityId},#{appTypeCd},#{memberId},#{roomId},#{roomName},#{ownerTypeCd} ) </insert> @@ -21,7 +23,8 @@ statusCd,t.user_id,t.user_id userId,t.app_type,t.app_type appType,t.app_user_name,t.app_user_name appUserName,t.nickname,t.headimgurl,t.community_name,t.community_name communityName,t.state,t.app_user_id,t.app_user_id appUserId,t.community_id,t.community_id communityId,t.app_type_cd,t.app_type_cd appTypeCd,t.member_id,t.member_id memberId communityId,t.app_type_cd,t.app_type_cd appTypeCd,t.member_id,t.member_id memberId, t.room_id roomId,t.room_name roomName,t.owner_type_cd ownerTypeCd from owner_app_user t where 1 =1 <if test="idCard !=null and idCard != ''"> @@ -128,6 +131,15 @@ <if test="memberId !=null and memberId != ''"> , t.member_id= #{memberId} </if> <if test="roomId !=null and roomId != ''"> , t.room_id= #{roomId} </if> <if test="roomName !=null and roomName != ''"> , t.room_name= #{roomName} </if> <if test="ownerTypeCd !=null and ownerTypeCd != ''"> , t.owner_type_cd= #{ownerTypeCd} </if> where 1=1 <if test="appUserId !=null and appUserId != ''"> and t.app_user_id= #{appUserId} service-community/src/main/java/com/java110/community/smo/impl/ImportOwnerRoomInnerServiceSMOImpl.java
@@ -343,6 +343,7 @@ ownerAppUserPo.setLink(ownerPo.getLink()); ownerAppUserPo.setUserId(userPo.getUserId()); ownerAppUserPo.setOpenId("-1"); ownerAppUserPo.setOwnerTypeCd(ownerPo.getOwnerTypeCd()); flag = ownerAppUserV1InnerServiceSMOImpl.saveOwnerAppUser(ownerAppUserPo); if (flag < 1) { service-user/src/main/java/com/java110/user/bmo/owner/impl/GeneratorOwnerUserBMOImpl.java
@@ -89,6 +89,7 @@ ownerAppUserPo.setLink(ownerPo.getLink()); ownerAppUserPo.setUserId(userId); ownerAppUserPo.setOpenId("-1"); ownerAppUserPo.setOwnerTypeCd(ownerPo.getOwnerTypeCd()); flag = ownerAppUserV1InnerServiceSMOImpl.saveOwnerAppUser(ownerAppUserPo); if (flag < 1) { 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); } } service-user/src/main/java/com/java110/user/cmd/owner/OwnerCommunityCmd.java
@@ -69,9 +69,9 @@ communityDto.setState("1100"); communityDto.setCommunityIds(communityIds.toArray(new String[communityIds.size()])); List<CommunityDto> communityDtos = communityInnerServiceSMOImpl.queryCommunitys(communityDto); if(communityDtos == null || communityDtos.size()<1){ if (communityDtos == null || communityDtos.size() < 1) { cmdDataFlowContext.setResponseEntity(ResultVo.success()); return ; return; } for (OwnerDto tmpOwnerDto : ownerDtos) { for (CommunityDto tmpCommunityDto : communityDtos) { @@ -132,6 +132,7 @@ ownerAppUserPo.setCommunityId(ownerDto.getCommunityId()); ownerAppUserPo.setAppUserName(ownerDto.getName()); ownerAppUserPo.setIdCard(ownerDto.getIdCard()); ownerAppUserPo.setOwnerTypeCd(ownerDto.getOwnerTypeCd()); int flag = ownerAppUserV1InnerServiceSMOImpl.saveOwnerAppUser(ownerAppUserPo); if (flag < 1) { throw new CmdException("添加用户业主关系失败"); service-user/src/main/java/com/java110/user/cmd/owner/OwnerRegisterCmd.java
@@ -14,10 +14,14 @@ import com.java110.dto.msg.SmsDto; 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.common.ISmsInnerServiceSMO; import com.java110.intf.community.ICommunityInnerServiceSMO; import com.java110.intf.community.IRoomInnerServiceSMO; import com.java110.intf.community.IRoomV1InnerServiceSMO; import com.java110.intf.store.IStoreInnerServiceSMO; import com.java110.intf.user.*; import com.java110.po.owner.OwnerAppUserPo; @@ -67,6 +71,12 @@ @Autowired private IOwnerAppUserV1InnerServiceSMO ownerAppUserV1InnerServiceSMOImpl; @Autowired private IOwnerRoomRelV1InnerServiceSMO ownerRoomRelV1InnerServiceSMOImpl; @Autowired private IRoomInnerServiceSMO roomInnerServiceSMOImpl; @Override @@ -177,6 +187,8 @@ ownerAppUserPo.setRemark("注册自动关联"); ownerAppUserPo.setUserId(userPo.getUserId()); ownerAppUserPo.setAppType(appType); ownerAppUserPo.setOwnerTypeCd(tmpOwnerDto.getOwnerTypeCd()); queryOwnerRoom(tmpOwnerDto, ownerAppUserPo); flag = ownerAppUserV1InnerServiceSMOImpl.saveOwnerAppUser(ownerAppUserPo); if (flag < 1) { throw new CmdException("添加用户业主关系失败"); @@ -186,46 +198,28 @@ cmdDataFlowContext.setResponseEntity(ResultVo.success()); } private void addOwnerAppUser(JSONObject paramInJson, List<OwnerDto> ownerDtos) { List<CommunityDto> communityDtos = null; CommunityDto tmpCommunityDto = null; String communityName = "无"; private void queryOwnerRoom(OwnerDto ownerDto, OwnerAppUserPo ownerAppUserPo) { if (ownerDtos == null || ownerDtos.size() < 1) { CommunityDto communityDto = new CommunityDto(); communityDto.setState("1100"); communityDto.setCommunityId(paramInJson.getString("defaultCommunityId")); communityDto.setPage(1); communityDto.setRow(1); communityDtos = communityInnerServiceSMOImpl.queryCommunitys(communityDto); if (communityDtos != null && communityDtos.size() > 0) { communityName = communityDtos.get(0).getName(); } OwnerAppUserPo ownerAppUserPo = BeanConvertUtil.covertBean(paramInJson, OwnerAppUserPo.class); //状态类型,10000 审核中,12000 审核成功,13000 审核失败 ownerAppUserPo.setState("12000"); ownerAppUserPo.setAppTypeCd("10010"); ownerAppUserPo.setAppUserId(GenerateCodeFactory.getGeneratorId(GenerateCodeFactory.CODE_PREFIX_appUserId)); ownerAppUserPo.setMemberId("-1"); ownerAppUserPo.setCommunityName(communityName); ownerAppUserPo.setCommunityId(paramInJson.getString("defaultCommunityId")); ownerAppUserPo.setAppUserName("游客"); ownerAppUserPo.setIdCard("无"); int flag = ownerAppUserV1InnerServiceSMOImpl.saveOwnerAppUser(ownerAppUserPo); if (flag < 1) { throw new CmdException("添加用户业主关系失败"); } OwnerRoomRelDto ownerRoomRelDto = new OwnerRoomRelDto(); ownerRoomRelDto.setOwnerId(ownerDto.getOwnerId()); List<OwnerRoomRelDto> ownerRoomRelDtos = ownerRoomRelV1InnerServiceSMOImpl.queryOwnerRoomRels(ownerRoomRelDto); if (ListUtil.isNull(ownerRoomRelDtos)) { return; } RoomDto roomDto = new RoomDto(); roomDto.setRoomId(ownerRoomRelDtos.get(0).getRoomId()); List<RoomDto> roomDtos = roomInnerServiceSMOImpl.queryRooms(roomDto); if (ListUtil.isNull(roomDtos)) { return; } ownerAppUserPo.setRoomId(roomDtos.get(0).getRoomId()); ownerAppUserPo.setRoomName(roomDtos.get(0).getFloorNum() + "-" + roomDtos.get(0).getUnitNum() + "-" + roomDtos.get(0).getRoomNum()); } /** * 注册用户 * * @param paramObj */ } service-user/src/main/java/com/java110/user/cmd/user/OwnerUserLoginCmd.java
@@ -13,6 +13,8 @@ import com.java110.dto.msg.SmsDto; 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.system.SystemInfoDto; import com.java110.dto.user.LoginOwnerResDto; import com.java110.dto.user.UserAttrDto; @@ -20,6 +22,7 @@ import com.java110.intf.common.ISmsInnerServiceSMO; import com.java110.intf.common.ISystemInfoV1InnerServiceSMO; import com.java110.intf.community.ICommunityInnerServiceSMO; import com.java110.intf.community.IRoomInnerServiceSMO; import com.java110.intf.user.*; import com.java110.po.owner.OwnerAppUserPo; import com.java110.po.user.UserAttrPo; @@ -72,6 +75,12 @@ @Autowired private ISystemInfoV1InnerServiceSMO systemInfoV1InnerServiceSMOImpl; @Autowired private IOwnerRoomRelV1InnerServiceSMO ownerRoomRelV1InnerServiceSMOImpl; @Autowired private IRoomInnerServiceSMO roomInnerServiceSMOImpl; @Override public void validate(CmdEvent event, ICmdDataFlowContext context, JSONObject reqJson) throws CmdException, ParseException { @@ -129,7 +138,7 @@ if (!ListUtil.isNull(ownerAppUserDtos)) { // todo 4.0 查询小区是否存在 communityId = ownerAppUserDtos.get(0).getCommunityId(); }else{ } else { SystemInfoDto systemInfoDto = new SystemInfoDto(); List<SystemInfoDto> systemInfoDtos = systemInfoV1InnerServiceSMOImpl.querySystemInfos(systemInfoDto); communityId = systemInfoDtos.get(0).getDefaultCommunityId(); @@ -269,6 +278,10 @@ ownerAppUserPo.setLink(ownerDtos.get(0).getLink()); ownerAppUserPo.setUserId(userPo.getUserId()); ownerAppUserPo.setOpenId("-1"); ownerAppUserPo.setOwnerTypeCd(ownerDtos.get(0).getOwnerTypeCd()); queryOwnerRoom(ownerDtos.get(0), ownerAppUserPo); flag = ownerAppUserV1InnerServiceSMOImpl.saveOwnerAppUser(ownerAppUserPo); if (flag < 1) { @@ -281,6 +294,29 @@ return userDtos; } private void queryOwnerRoom(OwnerDto ownerDto, OwnerAppUserPo ownerAppUserPo) { OwnerRoomRelDto ownerRoomRelDto = new OwnerRoomRelDto(); ownerRoomRelDto.setOwnerId(ownerDto.getOwnerId()); List<OwnerRoomRelDto> ownerRoomRelDtos = ownerRoomRelV1InnerServiceSMOImpl.queryOwnerRoomRels(ownerRoomRelDto); if (ListUtil.isNull(ownerRoomRelDtos)) { return; } RoomDto roomDto = new RoomDto(); roomDto.setRoomId(ownerRoomRelDtos.get(0).getRoomId()); List<RoomDto> roomDtos = roomInnerServiceSMOImpl.queryRooms(roomDto); if (ListUtil.isNull(roomDtos)) { return; } ownerAppUserPo.setRoomId(roomDtos.get(0).getRoomId()); ownerAppUserPo.setRoomName(roomDtos.get(0).getFloorNum() + "-" + roomDtos.get(0).getUnitNum() + "-" + roomDtos.get(0).getRoomNum()); } private UserAttrDto getCurrentUserAttrDto(List<UserAttrDto> userAttrDtos, String specCd) { if (userAttrDtos == null) { return null;