| | |
| | | |
| | | import javax.annotation.Resource; |
| | | |
| | | import cn.hutool.core.collection.CollectionUtil; |
| | | import cn.hutool.core.collection.ListUtil; |
| | | import cn.hutool.core.date.DateTime; |
| | | import cn.hutool.core.date.DateUnit; |
| | | import cn.hutool.core.date.DateUtil; |
| | | import cn.hutool.core.util.ArrayUtil; |
| | | import cn.hutool.core.util.NumberUtil; |
| | | import com.alibaba.fastjson.JSON; |
| | | import com.alibaba.fastjson.JSONObject; |
| | |
| | | import org.springframework.security.crypto.bcrypt.BCryptPasswordEncoder; |
| | | import org.springframework.stereotype.Service; |
| | | import org.springframework.transaction.annotation.Transactional; |
| | | import org.springframework.util.CollectionUtils; |
| | | import org.springframework.util.ObjectUtils; |
| | | |
| | | import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; |
| | |
| | | return R.ok(vo); |
| | | } |
| | | |
| | | |
| | | @Override |
| | | public R uuPush(String washPhone,String phone,String washName,Integer orderStatus) { |
| | | if(StringUtils.isNotEmpty(phone)){ |
| | |
| | | return R.ok(); |
| | | } |
| | | @Override |
| | | public R getCommunityList(String name,Long id) { |
| | | //区级账号名 |
| | | String[] streetList={"bingcaogangjiedao","donghuajiedao","nongnongpingjiedao","dadukoujiedaojiedao","guazipingjiedao", |
| | | "yinjiangzhen","qingxiangpingjiedao","yuquanjiedao","hemenkoujiedao","dabaodingjiedao","taojiadujiedao","gelipinzhen","dahezhonglujiedao", |
| | | "jingjiangzhen","renhezhen","pingdizhen","datianzhen","tongdezhen","futianzhen","qianjinzhen","panlianzhen","binguzhen","baimazhen", |
| | | "salianzhen","puweizhen","deshizhen","wanqiuyizuxiang","caochangzhen","xinshanlisuzuxiang","tongzilinzhen","yongxingzhen","yumenzhen", |
| | | "honggezhen","hongguoyizuxiang"}; |
| | | List<Integer> ids = userDao.selectIdsByAccount(streetList); |
| | | //村或社区账号 |
| | | Integer type=isVilliage(name); |
| | | //是否为市级账号 |
| | | Boolean cityAccount = isCityAccount(name); |
| | | if (cityAccount){ |
| | | List<Integer> areaList=areaCodeList(); |
| | | List<AreaVOS> areaVOList=new ArrayList<>(); |
| | | for (Integer code : areaList) { |
| | | AreaVOS areaVO=new AreaVOS(); |
| | | areaVO.setId(code); |
| | | areaVO.setName(areaCodeToName(code.longValue())); |
| | | List<StreetVOS> streetVOS = userDao.selectStreetByAreaCode(code); |
| | | Iterator<StreetVOS> iterator = streetVOS.listIterator(); |
| | | while (iterator.hasNext()){ |
| | | StreetVOS vo = iterator.next(); |
| | | List<CommunityVO> communityVOS = userDao.selectCommunityByStreetId(vo.getId(), type); |
| | | vo.setChildList(communityVOS); |
| | | if (type!=3){ |
| | | if (communityVOS==null || communityVOS.size()==0){ |
| | | iterator.remove(); |
| | | } |
| | | } |
| | | } |
| | | areaVO.setChildList(streetVOS); |
| | | areaVOList.add(areaVO); |
| | | } |
| | | return R.ok(areaVOList); |
| | | }else{ |
| | | Boolean areaAccount = isAreaAccount(name); |
| | | if (areaAccount){ |
| | | Integer areaCode = accountToCode(name); |
| | | List<Integer> areaList=new ArrayList<>(); |
| | | areaList.add(areaCode); |
| | | List<AreaVOS> areaVOList=new ArrayList<>(); |
| | | for (Integer code : areaList) { |
| | | AreaVOS areaVO=new AreaVOS(); |
| | | areaVO.setId(code); |
| | | areaVO.setName(areaCodeToName(code.longValue())); |
| | | List<StreetVOS> streetVOS = userDao.selectStreetByAreaCode(code); |
| | | Iterator<StreetVOS> iterator = streetVOS.listIterator(); |
| | | while (iterator.hasNext()){ |
| | | StreetVOS vo = iterator.next(); |
| | | List<CommunityVO> communityVOS = userDao.selectCommunityByStreetId(vo.getId(), type); |
| | | vo.setChildList(communityVOS); |
| | | } |
| | | areaVO.setChildList(streetVOS); |
| | | areaVOList.add(areaVO); |
| | | } |
| | | return R.ok(areaVOList); |
| | | }else{ |
| | | //非区县账号,只看街道下属社区 |
| | | if (ArrayUtil.contains(streetList, name)){ |
| | | List<StreetVOS> list=new ArrayList<>(); |
| | | //只看当前街道下属社区 |
| | | StreetVOS streetVOS = userDao.selectStreetByName(name); |
| | | List<CommunityVO> communityVOS = userDao.selectCommunityByStreetName(name); |
| | | if (org.apache.commons.lang3.ObjectUtils.isNotEmpty(streetVOS)) { |
| | | streetVOS.setChildList(communityVOS); |
| | | } |
| | | list.add(streetVOS); |
| | | return R.ok(list); |
| | | } |
| | | } |
| | | } |
| | | return R.ok(null); |
| | | } |
| | | |
| | | @Override |
| | | public R resetPassword(Integer type, String account) { |
| | | SysUserDO sysUserDO=userDao.selectOne(new QueryWrapper<SysUserDO>().lambda().eq(SysUserDO::getAccount,account).eq(SysUserDO::getType,type)); |
| | | if(sysUserDO!=null){ |
| | | sysUserDO.setPassword("$2a$10$F/2lE2NMhKNHJfi5.FLmfu7jIr7ImRWgCTTeO6m3IRNR2V4sv8YR."); |
| | | userDao.updateById(sysUserDO); |
| | | } |
| | | return R.ok(); |
| | | } |
| | | |
| | | @Override |
| | | public R tfLogin(UuLoginVO uuLoginVO) { |
| | | SysUserDO sysUserDO=userDao.selectOne(new QueryWrapper<SysUserDO>().lambda().eq(SysUserDO::getPhone,uuLoginVO.getMobile()).eq(SysUserDO::getType,16)); |
| | | if(sysUserDO==null){ |
| | | sysUserDO=new SysUserDO(); |
| | | sysUserDO.setPassword("$2a$10$F/2lE2NMhKNHJfi5.FLmfu7jIr7ImRWgCTTeO6m3IRNR2V4sv8YR."); |
| | | sysUserDO.setType(16); |
| | | sysUserDO.setStatus(1); |
| | | sysUserDO.setPhone(uuLoginVO.getMobile()); |
| | | sysUserDO.setAccount(uuLoginVO.getMobile()); |
| | | sysUserDO.setAppId("wx0cef797390444b75"); |
| | | userDao.insert(sysUserDO); |
| | | } |
| | | return R.ok(); |
| | | } |
| | | |
| | | |
| | | @Override |
| | | public R getAreaAndStreet() { |
| | | List<Integer> areaCodeList=areaCodeList(); |
| | | List<AreaVO> areaVOList=new ArrayList<>(); |
| | |
| | | AreaVO vo=new AreaVO(); |
| | | vo.setId(code); |
| | | vo.setName(areaCodeToName(code.longValue())); |
| | | vo.setStreetList(userDao.selectStreetByAreaCode(code)); |
| | | vo.setStreetList(userDao.selectStreetsByAreaCode(code)); |
| | | areaVOList.add(vo); |
| | | } |
| | | return R.ok(areaVOList); |
| | |
| | | case "510422": |
| | | name="盐边县"; |
| | | break; |
| | | case "510424": |
| | | name="钒钛新区"; |
| | | break; |
| | | } |
| | | return name; |
| | | } |
| | |
| | | * */ |
| | | private List<Integer> areaCodeList(){ |
| | | List<Integer> list=new ArrayList<>(); |
| | | list.add(510423); |
| | | list.add(510402); |
| | | list.add(510423); |
| | | list.add(510411); |
| | | list.add(510421); |
| | | list.add(510422); |
| | | list.add(510424); |
| | | return list; |
| | | } |
| | | |
| | |
| | | return null; |
| | | } |
| | | |
| | | /** |
| | | * 是否需要区分村落/社区 |
| | | * */ |
| | | private Integer isVilliage(String name){ |
| | | if ("fangyipingtai".equals(name)){ |
| | | return 3; |
| | | }else if ("pandashujuzhongxin".equals(name)){ |
| | | return 1; |
| | | }else if ("pannongyenongcunju".equals(name)){ |
| | | return 2; |
| | | } |
| | | return 3; |
| | | } |
| | | |
| | | /** |
| | | * 是否为市级账号 |
| | | * */ |
| | | private Boolean isCityAccount(String name){ |
| | | if(("fangyipingtai").equals(name) || ("pandashujuzhongxin").equals(name) || ("pannongyenongcunju").equals(name)){ |
| | | return true; |
| | | } |
| | | return false; |
| | | } |
| | | |
| | | /** |
| | | * 是否为区级账号 |
| | | * */ |
| | | private Boolean isAreaAccount(String name){ |
| | | Boolean flag=false; |
| | | switch (name){ |
| | | case "dongqu": |
| | | case "xiqu": |
| | | case "renhequ": |
| | | case "miyixian": |
| | | case "yanbianxian": |
| | | flag=true; |
| | | break; |
| | | } |
| | | return flag; |
| | | } |
| | | |
| | | /** |
| | | * account转区areaCode |
| | | * */ |
| | | private Integer accountToCode(String code){ |
| | | String name="100000"; |
| | | switch (code){ |
| | | case "xiqu" : |
| | | name= "510423"; |
| | | break; |
| | | case "dongqu": |
| | | name="510402"; |
| | | break; |
| | | case "renhequ": |
| | | name="510411"; |
| | | break; |
| | | case "miyixian": |
| | | name="510421"; |
| | | break; |
| | | case "yanbianxian": |
| | | name="510422"; |
| | | break; |
| | | case "fantaixinqu": |
| | | name="510424"; |
| | | break; |
| | | } |
| | | return Integer.parseInt(name); |
| | | } |
| | | |
| | | } |