| | |
| | | User byId1 = userMapper.selectById(byId.getStoreStaffId()); |
| | | model.addAttribute("city",byId1); |
| | | model.addAttribute("managerName", byId1 == null ? "" : byId1.getName()); |
| | | // 历史门店的手机号可能只保存在店长账号中,编辑页需与列表保持一致地回填可用手机号。 |
| | | model.addAttribute("managerPhone", resolveStoreManagerPhone(byId, byId1)); |
| | | model.addAttribute("type",1); |
| | | // 如果当前登陆人是运营商 |
| | | if (UserExt.getUser().getObjectType()==2){ |
| | |
| | | User byId1 = userMapper.selectById(byId.getStoreStaffId()); |
| | | model.addAttribute("city",byId1); |
| | | model.addAttribute("managerName", byId1 == null ? "" : byId1.getName()); |
| | | model.addAttribute("managerPhone", resolveStoreManagerPhone(byId, byId1)); |
| | | model.addAttribute("type",0); |
| | | |
| | | return PREFIX + "TShop_edit.html"; |
| | |
| | | @ResponseBody |
| | | public Object list(String provinceCode, String cityCode , String name, String phone,String shopName) { |
| | | Page<TStoreListVo> page = new PageFactory<TStoreListVo>().defaultPage(); |
| | | String roleid = UserExt.getUser().getRoleid(); |
| | | List<TStoreListVo> list =new ArrayList<>(); |
| | | if("3".equals(roleid)){ |
| | | Integer objectId = UserExt.getUser().getObjectId(); |
| | | list = storeService.listAllStore(page,provinceCode,cityCode,name,phone,shopName,objectId); |
| | | }else { |
| | | Integer objectType = UserExt.getUser().getObjectType(); |
| | | if (Integer.valueOf(3).equals(objectType)) { |
| | | // 门店员工按员工-门店中间表的数据范围查询;getStoreIdsByUserId 同时兼容 |
| | | // sys_user.objectId 和 t_store.storeStaffId 两种历史归属数据。 |
| | | List<Integer> storeIds = userMapper.getStoreIdsByUserId(UserExt.getUser().getId()); |
| | | if (!CollectionUtils.isEmpty(storeIds)) { |
| | | list = storeService.listAllStoresByIds(page, provinceCode, cityCode, name, phone, shopName, storeIds); |
| | | } |
| | | } else if (Integer.valueOf(2).equals(objectType)) { |
| | | Integer objectId = UserExt.getUser().getObjectId(); |
| | | list = storeService.listAll(page,provinceCode,cityCode,name,phone,shopName,objectId); |
| | | } else { |
| | | // 平台账号不带运营商条件,查询全部门店;数据范围由 objectType 决定, |
| | | // 不能用 roleid(菜单权限)判断,避免员工被授予角色 1 后被误当成运营商。 |
| | | list = storeService.listAll(page, provinceCode, cityCode, name, phone, shopName, null); |
| | | } |
| | | normalizePhoneFields(list); |
| | | page.setRecords(list); |
| | | return super.packForBT(page); |
| | | } |
| | | |
| | | /** |
| | | * 统一将列表 DTO 的底层字段写回非 null 值。 |
| | | * |
| | | * 部分运行环境使用字段序列化而非 JavaBean getter 序列化;仅在 getter 中做兜底时, |
| | | * 此类环境仍可能把原始 null 输出为 JSON null。这里在返回前固化字段值,保证三个 |
| | | * 数据范围的列表接口均稳定返回 phone、userPhone 两个字符串字段。 |
| | | */ |
| | | private void normalizePhoneFields(List<TStoreListVo> stores) { |
| | | for (TStoreListVo store : stores) { |
| | | store.setPhone(store.getPhone()); |
| | | store.setUserPhone(store.getUserPhone()); |
| | | } |
| | | } |
| | | |
| | | @RequestMapping(value = "/listOne") |
| | | @ResponseBody |
| | | public Object listOne(Integer id) { |
| | |
| | | @ResponseBody |
| | | public Object listTwo1(Integer id) { |
| | | Page<TStoreOtherConfigTrue> page = new PageFactory<TStoreOtherConfigTrue>().defaultPage(); |
| | | List<TStoreOtherConfigTrue> list = tStoreOtherConfigTrueService.page(page,new LambdaQueryWrapper<TStoreOtherConfigTrue>().eq(TStoreOtherConfigTrue::getPid, id).eq(TStoreOtherConfigTrue::getState,1)).getRecords(); |
| | | List<TStoreOtherConfigTrue> list = tStoreOtherConfigTrueService.page(page,new LambdaQueryWrapper<TStoreOtherConfigTrue>().eq(TStoreOtherConfigTrue::getPid, id).eq(TStoreOtherConfigTrue::getState,1).orderByDesc(TStoreOtherConfigTrue::getId)).getRecords(); |
| | | page.setRecords(list); |
| | | return super.packForBT(page); |
| | | } |
| | |
| | | } |
| | | } |
| | | }else { |
| | | TCity one = cityService.getOne(new LambdaQueryWrapper<TCity>().eq(TCity::getId, tStore.getProvinceCode())); |
| | | // 编辑页提交的是行政区划编码;按 id 查询会导致查不到省、市,随后访问名称时抛出 NPE。 |
| | | TCity one = cityService.getOne(new LambdaQueryWrapper<TCity>().eq(TCity::getCode, tStore.getProvinceCode())); |
| | | if (one == null) { |
| | | return ERROR; |
| | | } |
| | | tStore.setProvince(one.getName()); |
| | | tStore.setProvinceCode(one.getCode()); |
| | | TCity one1 = cityService.getOne(new LambdaQueryWrapper<TCity>().eq(TCity::getId, tStore.getCityCode())); |
| | | TCity one1 = cityService.getOne(new LambdaQueryWrapper<TCity>().eq(TCity::getCode, tStore.getCityCode())); |
| | | if (one1 == null) { |
| | | return ERROR; |
| | | } |
| | | tStore.setCity(one1.getName()); |
| | | tStore.setCityCode(one1.getCode()); |
| | | } |
| | |
| | | user.setCreatetime(new Date()); |
| | | return user; |
| | | } |
| | | |
| | | private String resolveStoreManagerPhone(TStore store, User storeManager) { |
| | | if (ToolUtil.isNotEmpty(store.getPhone())) { |
| | | return store.getPhone(); |
| | | } |
| | | return storeManager == null ? "" : storeManager.getPhone(); |
| | | } |
| | | @RequestMapping(value = "/onChange") |
| | | @ResponseBody |
| | | public Object onChange(Integer oneId) { |