Browse Source

修改bug

master
djz236@163.com 2 years ago
parent
commit
6a64f3bb53
  1. 8
      warehousing-system/project/wh-manage/src/main/java/com/wh/controller/api/output/OutStorehouseMainController.java
  2. 10
      warehousing-system/project/wh-manage/src/main/java/com/wh/controller/initial/SupplierController.java
  3. 9
      warehousing-system/project/wh-manage/src/main/java/com/wh/controller/purchasenew/PurchasenewController.java
  4. 198
      warehousing-system/project/wh-manage/src/main/java/com/wh/controller/sysuser/SysUserRest.java
  5. 4
      warehousing-system/project/wh-manage/src/main/java/com/wh/mapper/api/outstorehouse/OutStorehouseMainMapper.java
  6. 5
      warehousing-system/project/wh-manage/src/main/java/com/wh/mapper/initial/SupplierMapper.java
  7. 4
      warehousing-system/project/wh-manage/src/main/java/com/wh/mapper/purchasenew/PurchasenewMapper.java
  8. 157
      warehousing-system/project/wh-manage/src/main/java/com/wh/mapper/sysuser/SysUserMapper.java
  9. 3
      warehousing-system/project/wh-manage/src/main/java/com/wh/service/api/instorehouse/InStorehouseMainService.java
  10. 8
      warehousing-system/project/wh-manage/src/main/java/com/wh/service/api/outstorehouse/OutStorehouseMainService.java
  11. 4
      warehousing-system/project/wh-manage/src/main/java/com/wh/service/initial/SupplierService.java
  12. 7
      warehousing-system/project/wh-manage/src/main/java/com/wh/service/initial/SupplierServiceImpl.java
  13. 5
      warehousing-system/project/wh-manage/src/main/java/com/wh/service/purchasenew/PurchasenewService.java
  14. 832
      warehousing-system/project/wh-manage/src/main/java/com/wh/service/sysuser/SysUserService.java
  15. 25
      warehousing-system/project/wh-manage/src/main/resources/application-test.yml
  16. 4
      warehousing-system/project/wh-manage/src/main/resources/application.yml
  17. 397
      warehousing-system/project/wh-manage/src/main/resources/mappers/SysUserMapper.xml

8
warehousing-system/project/wh-manage/src/main/java/com/wh/controller/api/output/OutStorehouseMainController.java

@ -6,6 +6,7 @@ import com.wh.pojo.purchasenew.Purchasenew;
import com.wh.service.api.outstorehouse.OutStorehouseListingService; import com.wh.service.api.outstorehouse.OutStorehouseListingService;
import com.wh.service.api.outstorehouse.OutStorehouseMainService; import com.wh.service.api.outstorehouse.OutStorehouseMainService;
import com.wh.vo.SysResult; import com.wh.vo.SysResult;
import com.yxt.common.base.utils.StringUtils;
import com.yxt.common.core.query.PagerQuery; import com.yxt.common.core.query.PagerQuery;
import com.yxt.common.core.result.ResultBean; import com.yxt.common.core.result.ResultBean;
import com.yxt.common.core.vo.PagerVo; import com.yxt.common.core.vo.PagerVo;
@ -49,9 +50,12 @@ public class OutStorehouseMainController {
return r.setData(pv); return r.setData(pv);
} }
@PostMapping("listAllForPicking") @PostMapping("listAllForPicking")
public ResultBean listAllForPicking(){ public ResultBean listAllForPicking(@RequestBody OutStorehouseMainQuery pq){
ResultBean r=ResultBean.fireFail(); ResultBean r=ResultBean.fireFail();
List<OutStorehouseMain> list= outStorehouseMainService.listAllForPicking(); if(StringUtils.isBlank(pq.getCusterSid())){
return r.setMsg("CusterSid不能为空");
}
List<OutStorehouseMain> list= outStorehouseMainService.listAllForPicking(pq);
return r.success().setData(list); return r.success().setData(list);
} }
@GetMapping("getOutStorehouse/{sid}") @GetMapping("getOutStorehouse/{sid}")

10
warehousing-system/project/wh-manage/src/main/java/com/wh/controller/initial/SupplierController.java

@ -13,6 +13,8 @@ import com.yxt.common.core.vo.PagerVo;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*; import org.springframework.web.bind.annotation.*;
import java.util.List;
@RestController @RestController
@CrossOrigin @CrossOrigin
@RequestMapping("/supplier/") @RequestMapping("/supplier/")
@ -29,6 +31,14 @@ public class SupplierController {
PagerVo<Supplier> pv = supplierService.getSupplierList(pq); PagerVo<Supplier> pv = supplierService.getSupplierList(pq);
return rb.success().setData(pv); return rb.success().setData(pv);
} }
@PostMapping("listAll")
public ResultBean listAll(@RequestBody PagerQuery<SupplierQuery> pq){
// pageResult = supplierService.getSupplierList(pageResult);
// return SysResult.success(pageResult);
ResultBean rb = ResultBean.fireFail();
List<Supplier> list=supplierService.listAll();
return rb.success().setData(list);
}
@PostMapping("addSupplier") @PostMapping("addSupplier")
public SysResult addSupplier(@RequestBody Supplier supplier){ public SysResult addSupplier(@RequestBody Supplier supplier){

9
warehousing-system/project/wh-manage/src/main/java/com/wh/controller/purchasenew/PurchasenewController.java

@ -7,6 +7,7 @@ import com.wh.feign.enterpriseinformation.WhEnterpriseInformationQuery;
import com.wh.feign.enterpriseinformation.WhEnterpriseInformationVo; import com.wh.feign.enterpriseinformation.WhEnterpriseInformationVo;
import com.wh.pojo.purchasenew.*; import com.wh.pojo.purchasenew.*;
import com.wh.service.purchasenew.PurchasenewService; import com.wh.service.purchasenew.PurchasenewService;
import com.yxt.common.base.utils.StringUtils;
import com.yxt.common.core.query.PagerQuery; import com.yxt.common.core.query.PagerQuery;
import com.yxt.common.core.result.ResultBean; import com.yxt.common.core.result.ResultBean;
import com.yxt.common.core.vo.PagerVo; import com.yxt.common.core.vo.PagerVo;
@ -36,9 +37,13 @@ public class PurchasenewController {
} }
@ApiOperation("获取所有的采购订单") @ApiOperation("获取所有的采购订单")
@PostMapping("/listAll") @PostMapping("/listAll")
public ResultBean<List<Purchasenew>> listAll(){ public ResultBean<List<Purchasenew>> listAll(@RequestBody PurchasenewQuery pq){
ResultBean rb = ResultBean.fireFail(); ResultBean rb = ResultBean.fireFail();
List<Purchasenew> list = purchasenewService.listForInput(); // String custId = pq.getCustId();
// if(StringUtils.isBlank(custId)){
// return rb.setMsg("企业id不能为空");
// }
List<Purchasenew> list = purchasenewService.listForInput(pq);
return rb.success().setData(list); return rb.success().setData(list);
} }

198
warehousing-system/project/wh-manage/src/main/java/com/wh/controller/sysuser/SysUserRest.java

@ -0,0 +1,198 @@
package com.wh.controller.sysuser;
import cn.hutool.core.bean.BeanUtil;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.github.xiaoymin.knife4j.annotations.ApiOperationSupport;
import com.wh.pojo.sysuser.*;
import com.wh.service.sysuser.SysUserService;
import com.yxt.common.base.config.RedisUtil;
import com.yxt.common.base.config.component.FileUploadComponent;
import com.yxt.common.base.utils.Encodes;
import com.yxt.common.core.query.PagerQuery;
import com.yxt.common.core.result.FileUploadResult;
import com.yxt.common.core.result.ResultBean;
import com.yxt.common.core.vo.PagerVo;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import org.apache.commons.lang3.StringUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;
import org.springframework.web.multipart.MultipartFile;
import javax.servlet.http.HttpServletRequest;
import java.util.List;
import java.util.Map;
import java.util.UUID;
/**
* Project: anrui_portal(门户建设) <br/>
* File: SysUserFeignFallback.java <br/>
* Class: SysUserRest <br/>
* Description: 用户表. <br/>
* Copyright: Copyright (c) 2011 <br/>
* Company: https://gitee.com/liuzp315 <br/>
* Makedate: 2021-08-03 00:24:30 <br/>
*
* @author liupopo
* @version 1.0
* @since 1.0
*/
@Api(tags = "用户表")
@RestController
@RequestMapping("v1/sysuser")
public class SysUserRest {
@Autowired
private RedisUtil redisUtil;
@Autowired
private SysUserService sysUserService;
@Autowired
private FileUploadComponent fileUploadComponent;
// 定义点选文字图片验证码允许的误差值
private static final int ERROR_AMOUNT = 50;// 定义允许的误差值,单位是px
@ApiOperation("根据条件分页查询数据的列表 ")
@PostMapping("/listPage")
public ResultBean<PagerVo<SysUserVo>> listPage(@RequestBody PagerQuery<SysUserQuery> pq) {
ResultBean rb = ResultBean.fireFail();//roleSid
PagerVo<SysUserVo> pv = sysUserService.listPageVo(pq);
return rb.success().setData(pv);
}
@ApiOperation("根据条件查询所有数据列表")
@PostMapping("/listAll")
public ResultBean<List<SysUserVo>> listAll(@RequestBody SysUserQuery query) {
ResultBean rb = ResultBean.fireFail();
List<SysUserVo> list = sysUserService.listAllVo(query);
return rb.success().setData(list);
}
@ApiOperation("所有数据列表")
@GetMapping("/list")
public ResultBean<List<SysUserVo>> list() {
ResultBean rb = ResultBean.fireFail();
List<SysUserVo> list = sysUserService.listVo();
return rb.success().setData(list);
}
@PostMapping("/saveOpenId")
public ResultBean saveOpenId(@RequestBody SysUserDto dto){
ResultBean rb=new ResultBean();
SysUser sysUser=sysUserService.getOne(new QueryWrapper<SysUser>().eq("sid",dto.getSid()));
sysUser.setOpenId(dto.getOpenid());
sysUserService.update(sysUser,new QueryWrapper<SysUser>().eq("sid",dto.getSid()));
return rb.success().setMsg("保存成功");
}
@PostMapping("/saveBank")
public ResultBean saveBank(@RequestBody SysUserDto dto) {
ResultBean rb = ResultBean.fireFail();
//手机号
String mobile = dto.getMobile();
//姓名
String name = dto.getName();
//用户类型
int userType = dto.getUserType();
//部门sid
if (StringUtils.isBlank(mobile)) {
return new ResultBean<SysUserVo>().fail().setMsg("手机号不能为空");
} else {
SysUser one = sysUserService.fetchByUserName(mobile);
if (null != one) {
return new ResultBean<SysUserVo>().fail().setMsg("手机号重复!`");
}
}
if (StringUtils.isBlank(name)) {
return new ResultBean<SysUserVo>().fail().setMsg("姓名不能为空");
}
if (userType == 0) {
return new ResultBean<SysUserVo>().fail().setMsg("用户类型不能为空");
}
String password = mobile.substring(5, 11);
String md5 = Encodes.md5(password);
SysUser su = new SysUser();
dto.fillEntity(su);
su.setSid(UUID.randomUUID().toString());
su.setStaffSid(dto.getBankMessageSid());
su.setUserName(mobile);
su.setPassword(md5);
sysUserService.save(su);
return rb.success();
}
@GetMapping("/getUserBySid")
public ResultBean<SysUser> getUserBySid(@RequestParam("sid")String sid) {
SysUser sysUser = sysUserService.getUserBySid(sid);
return new ResultBean().success().setData(sysUser);
}
@PostMapping("/login")
@ResponseBody
@ApiOperation(value = "3、登录")
@ApiOperationSupport(order = 30)
public ResultBean<SysUserVo> login(@RequestBody SysUserQuery userQuery) {
String userName = userQuery.getUserName();
String password = userQuery.getPassword();
// 遍历其中的map,取出每个属性值
if (StringUtils.isBlank(userName)) {
return new ResultBean<SysUserVo>().fail().setMsg("用户名不能为空");
}
if (StringUtils.isBlank(password)) {
return new ResultBean<SysUserVo>().fail().setMsg("密码不能为空");
}
SysUser user = null;
// 验证通过之后删除redis上的验证过的该条uuid
String md5 = Encodes.md5(password);
user = sysUserService.selectByUserNameAndPassword(userName,md5);
if (user == null) {
return new ResultBean<SysUserVo>().fail().setMsg("用户名或密码错误");
}
// 根据用户信息查询用户的角色信息
SysUserVo userInfoOneVo = new SysUserVo();//sysUserService.setUserRedisSessionToken(user);
BeanUtil.copyProperties(user,userInfoOneVo);
return new ResultBean<SysUserVo>().success().setData(userInfoOneVo);
}
/**
* 退出登录
*
* @return
*/
@PostMapping("/signOut")
@ResponseBody
@ApiOperation(value = "退出登录")
@ApiOperationSupport(order = 30)
public ResultBean signOut(HttpServletRequest httpServletRequest) {
String token = httpServletRequest.getHeader("token");
String redisToken = redisUtil.get(token);
if (StringUtils.isBlank(redisToken)) {
return ResultBean.fireSuccess().setMsg("您已退出,请刷新");
}
redisUtil.remove(token);
return ResultBean.fireSuccess().setMsg("退出成功");
}
@GetMapping("getUserByType")
public ResultBean getUserByType(@RequestParam("userType") String userType){
return sysUserService.getUserByType(userType);
}
@GetMapping("getUserOrgBySid")
public ResultBean getUserOrgBySid(@RequestParam("sid") String sid){
return sysUserService.getUserOrgBySid(sid);
}
@PostMapping("/uploadfile")
public ResultBean<FileUploadResult> uploadImage(@RequestParam(value = "file") MultipartFile file) {
ResultBean rb = ResultBean.fireFail();
if (file == null || file.isEmpty()) {
return rb.setMsg("文件为空");
}
rb = fileUploadComponent.uploadFile(file, null);
return rb;
}
@PostMapping("/uploadImage")
public ResultBean updateSysUserImage(@RequestBody Map<String, String> map){
return sysUserService.updateSysUserImage(map);
}
@PostMapping("/getUsersBySid")
public ResultBean<List<SysUser>> getUsersBySid(@RequestBody List<String> list){
return sysUserService.getUsersBySid(list);
}
}

4
warehousing-system/project/wh-manage/src/main/java/com/wh/mapper/api/outstorehouse/OutStorehouseMainMapper.java

@ -18,6 +18,6 @@ import java.util.List;
public interface OutStorehouseMainMapper extends BaseMapper<OutStorehouseMain> { public interface OutStorehouseMainMapper extends BaseMapper<OutStorehouseMain> {
IPage<OutStorehouseVo> selectPageVo(IPage<OutStorehouseVo> page, IPage<OutStorehouseVo> selectPageVo(IPage<OutStorehouseVo> page,
@Param(Constants.WRAPPER) Wrapper<OutStorehouseVo> qw); @Param(Constants.WRAPPER) Wrapper<OutStorehouseVo> qw);
@Select("select * from out_storehouse_main where state=1;") @Select("select * from out_storehouse_main where state=1 and custer_sid=#{custerSid};")
List<OutStorehouseMain> listAllForPicking(); List<OutStorehouseMain> listAllForPicking(@Param("custerSid")String custerSid);
} }

5
warehousing-system/project/wh-manage/src/main/java/com/wh/mapper/initial/SupplierMapper.java

@ -2,6 +2,11 @@ package com.wh.mapper.initial;
import com.baomidou.mybatisplus.core.mapper.BaseMapper; import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.wh.pojo.Supplier; import com.wh.pojo.Supplier;
import org.apache.ibatis.annotations.Select;
import java.util.List;
public interface SupplierMapper extends BaseMapper<Supplier> { public interface SupplierMapper extends BaseMapper<Supplier> {
@Select("select * from supplier")
List<Supplier> listAll();
} }

4
warehousing-system/project/wh-manage/src/main/java/com/wh/mapper/purchasenew/PurchasenewMapper.java

@ -71,6 +71,6 @@ public interface PurchasenewMapper extends BaseMapper<Purchasenew> {
*/ */
@Update("update purchasenew set status='2' where sid=#{sid}") @Update("update purchasenew set status='2' where sid=#{sid}")
int updatePutInStatus(@Param("sid") String sid); int updatePutInStatus(@Param("sid") String sid);
@Select("select * from purchasenew where state=1") @Select("select * from purchasenew where state=1 ")//and cust_id=#{custId}
List<Purchasenew> listForInput(); List<Purchasenew> listForInput( String custId);//@Param("custId")
} }

157
warehousing-system/project/wh-manage/src/main/java/com/wh/mapper/sysuser/SysUserMapper.java

@ -0,0 +1,157 @@
package com.wh.mapper.sysuser;
import com.baomidou.mybatisplus.core.conditions.Wrapper;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.core.toolkit.Constants;
import com.wh.pojo.sysuser.SysUser;
import com.wh.pojo.sysuser.SysUserInfoVo;
import com.wh.pojo.sysuser.SysUserVo;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;
import org.apache.ibatis.annotations.Select;
import org.apache.ibatis.annotations.Update;
import java.util.List;
import java.util.Map;
/**
* Project: anrui_portal(门户建设) <br/>
* File: SysUserMapper.java <br/>
* Class: SysUserMapper <br/>
* Description: 用户表. <br/>
* Copyright: Copyright (c) 2011 <br/>
* Company: https://gitee.com/liuzp315 <br/>
* Makedate: 2021-08-03 00:24:30 <br/>
*
* @author liupopo
* @version 1.0
* @since 1.0
*/
@Mapper
public interface SysUserMapper extends BaseMapper<SysUser> {
//@Update("update sys_user set name=#{msg} where id=#{id}")
//IPage<SysUserVo> voPage(IPage<SysUser> page, @Param(Constants.WRAPPER) QueryWrapper<SysUser> qw);
IPage<SysUserVo> selectPageVo(IPage<SysUser> page, @Param(Constants.WRAPPER) Wrapper<SysUser> ew, @Param("orgName") String orgName, @Param("userName") String userName);
List<SysUserVo> selectListAllVo(@Param(Constants.WRAPPER) Wrapper<SysUser> qw);
@Select("SELECT user.*,staff.name FROM sys_user user left join sys_staffinfo staff on user.staffSid=staff.sid where user.isDelete=0")
List<SysUserVo> selectListVo();
public int updatePassword(String sid, String password);
public int deleteBySid(String sid);
public int updatePasswordApp(String sid, String password);
SysUser selectByUserName(String userName);
SysUser selectByUserNameApp(String userName);
SysUser selectByAppId(String appId);
@Update("UPDATE sys_user SET appId=#{appId} WHERE sid=#{sid} and userType=1")
int updateAppId(@Param("sid") String sid, @Param("appId") String appId);
@Update("UPDATE sys_user SET token=#{token} WHERE sid=#{sid}")
int updateToken(@Param("sid") String sid, @Param("token") String token);
SysUser fetchByUserName(String userName);
void delBySid(String sid);
@Update("UPDATE sys_user SET headImage=#{headImage} WHERE sid=#{sid}")
int updateHeadImage(@Param("sid") String sid, @Param("headImage") String headImage);
/**
* @param mobile 手机号
* @param userType 用户类型
* @description: 根据手机号和用户类型查询客户是否存在
* @return:
* @Author: dimengzhe
* @Date: 2021/10/6 11:35
*/
SysUser selectByMobileAndType(@Param("mobile") String mobile, @Param("userType") int userType);
// @Select("SELECT * FROM sys_user WHERE staffSid=#{staffSid} and isDelete=0")
SysUserVo selectByStaffsid(@Param("staffSid") String staffSid);
@Update("update sys_user set isDelete=1 where isDelete=0 and userType=2 and userName=#{mobile}")
int delSysUserByMobile(@Param("mobile") String mobile);
@Select("select sid from sys_user")
List<String> selectAllUserSid();
/**
* 根据用户sid查询用户的组织信息
*
* @param userSid 用户的sid
* @return
*/
SysUserInfoVo selectUserInfoByUserSid(String userSid);
SysUserInfoVo selectUserInfoByUserSidOne(@Param("userSid") String userSid,@Param("orgSid") String orgSid);
/**
* 根据员工sid更新用户的工号以及手机号
*
* @param mobile 手机号
* @param sid 员工sid
* @return
*/
int updateByStaffSid( @Param("mobile") String mobile, @Param("sid") String sid);
/**
* 根据员工sid更新用户中的员工工号
*
* @param jobNumber 员工工号
* @param sid 员工sid
* @return
*/
int updateByStaSid(@Param("jobNumber") String jobNumber, @Param("sid") String sid);
/**
* 根据手机号查询用户是否存在
*
* @param mobile 手机号
* @return
*/
SysUser selectByMobile(String mobile);
int updateIsEnable(@Param("sid") String sid, @Param("isEnable") String isEnable);
List<SysUserVo> getUsersByRoleSid(@Param("roleSid") String roleSid);
List<SysUserVo> getUserByRole(@Param("roleSid") String roleSid, @Param("levelOrgSid") String levelOrgSid);
List<SysUserVo> getUserByRoleNoOrgPath(@Param("roleSid") String roleSid );
List<Map<String,String>> getUserByOrgSid(@Param("orgSid") String orgSid,@Param("userSid") String userSid);
List<SysUserVo> fetchBySids(@Param("sids")List<String> sids);
List<SysUserVo> getUserByRoleSid(String roleSid);
/**
* 根据手机号解绑用户绑定的设备
* @param mobile
* @return
*/
int updateAppIdByMobile(String mobile);
/**
* 解绑所有用户绑定的设备
* @return
*/
int updateAppIdAll();
String selectIdBySid(@Param("list") List<String> stringList);
List<SysUserVo> getUserMessageByRole(@Param("roleSid") String roleSid,@Param("levelOrgSid") String levelOrgSid, @Param("list") List<String> stringList);
String fetchByUserNameAndUserPhone(@Param("userName") String userName, @Param("userPhone") String userPhone);
List<SysUserVo> getUserByType(@Param("userType")String userType);
List<SysUserVo> getUserOrgBySid(@Param("sid")String sid);
@Select("select * from sys_user where userName=#{userName} and password=#{md5}")
SysUser selectByUserNameAndPassword(@Param("userName")String userName, @Param("md5")String md5);
}

3
warehousing-system/project/wh-manage/src/main/java/com/wh/service/api/instorehouse/InStorehouseMainService.java

@ -170,6 +170,9 @@ public class InStorehouseMainService extends MybatisBaseService<InStorehouseMai
if (StrUtil.isNotBlank(query.getCusterName())) { if (StrUtil.isNotBlank(query.getCusterName())) {
qw.like("custer_name", query.getCusterName()); qw.like("custer_name", query.getCusterName());
} }
if (StrUtil.isNotBlank(query.getCusterSid())) {
qw.eq("custer_sid", query.getCusterSid());
}
if (org.apache.commons.lang3.StringUtils.isNotBlank(query.getStoreHouseName())) { if (org.apache.commons.lang3.StringUtils.isNotBlank(query.getStoreHouseName())) {
qw.like("store_house_name", query.getStoreHouseName()); qw.like("store_house_name", query.getStoreHouseName());
} }

8
warehousing-system/project/wh-manage/src/main/java/com/wh/service/api/outstorehouse/OutStorehouseMainService.java

@ -245,6 +245,10 @@ public class OutStorehouseMainService extends MybatisBaseService<OutStorehouseMa
if (StrUtil.isNotBlank(query.getCusterName())) { if (StrUtil.isNotBlank(query.getCusterName())) {
qw.like("custer_name", query.getCusterName()); qw.like("custer_name", query.getCusterName());
} }
if (StrUtil.isNotBlank(query.getCusterSid())) {
qw.eq("custer_sid", query.getCusterSid());
}
if (StrUtil.isNotBlank(query.getState())) { if (StrUtil.isNotBlank(query.getState())) {
qw.like("state", query.getState()); qw.like("state", query.getState());
} }
@ -289,7 +293,7 @@ public class OutStorehouseMainService extends MybatisBaseService<OutStorehouseMa
return picking; return picking;
} }
public List<OutStorehouseMain> listAllForPicking() { public List<OutStorehouseMain> listAllForPicking(OutStorehouseMainQuery pq) {
return baseMapper.listAllForPicking(); return baseMapper.listAllForPicking(pq.getCusterSid());
} }
} }

4
warehousing-system/project/wh-manage/src/main/java/com/wh/service/initial/SupplierService.java

@ -7,6 +7,8 @@ import com.wh.vo.PageResult;
import com.yxt.common.core.query.PagerQuery; import com.yxt.common.core.query.PagerQuery;
import com.yxt.common.core.vo.PagerVo; import com.yxt.common.core.vo.PagerVo;
import java.util.List;
public interface SupplierService { public interface SupplierService {
PageResult getSupplierList(PageResult pageResult); PageResult getSupplierList(PageResult pageResult);
PagerVo<Supplier> getSupplierList(PagerQuery<SupplierQuery> pq); PagerVo<Supplier> getSupplierList(PagerQuery<SupplierQuery> pq);
@ -15,4 +17,6 @@ public interface SupplierService {
void updataSupplier(Supplier supplier); void updataSupplier(Supplier supplier);
void deleteSupplier(String name); void deleteSupplier(String name);
List<Supplier> listAll();
} }

7
warehousing-system/project/wh-manage/src/main/java/com/wh/service/initial/SupplierServiceImpl.java

@ -13,6 +13,8 @@ import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import org.springframework.util.StringUtils; import org.springframework.util.StringUtils;
import java.util.List;
@Service @Service
public class SupplierServiceImpl implements SupplierService{ public class SupplierServiceImpl implements SupplierService{
@ -68,4 +70,9 @@ public class SupplierServiceImpl implements SupplierService{
public void deleteSupplier(String name) { public void deleteSupplier(String name) {
supplierMapper.deleteById(name); supplierMapper.deleteById(name);
} }
@Override
public List<Supplier> listAll() {
return supplierMapper.listAll();
}
} }

5
warehousing-system/project/wh-manage/src/main/java/com/wh/service/purchasenew/PurchasenewService.java

@ -201,8 +201,9 @@ public class PurchasenewService extends MybatisBaseService<PurchasenewMapper, Pu
return rb.success(); return rb.success();
} }
public List<Purchasenew> listForInput() { public List<Purchasenew> listForInput(PurchasenewQuery pq) {
return baseMapper.listForInput(); String custId = pq.getCustId();
return baseMapper.listForInput(custId);
} }
public void updateStateToInputBySid(String purchaseSid) { public void updateStateToInputBySid(String purchaseSid) {

832
warehousing-system/project/wh-manage/src/main/java/com/wh/service/sysuser/SysUserService.java

@ -0,0 +1,832 @@
package com.wh.service.sysuser;
import cn.hutool.core.bean.BeanUtil;
import com.alibaba.fastjson.JSONObject;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.wh.feign.crm.ProjectInformationFeign;
import com.wh.mapper.sysuser.SysUserMapper;
import com.wh.pojo.sysuser.*;
import com.wh.pojo.sysuser.wx.*;
import com.yxt.common.base.config.RedisUtil;
import com.yxt.common.base.config.component.FileUploadComponent;
import com.yxt.common.base.config.component.ImageUploadUtil;
import com.yxt.common.base.service.MybatisBaseService;
import com.yxt.common.base.utils.*;
import com.yxt.common.core.query.PagerQuery;
import com.yxt.common.core.result.ResultBean;
import com.yxt.common.core.vo.PagerVo;
import org.apache.ibatis.annotations.Param;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.http.ResponseEntity;
import org.springframework.stereotype.Service;
import org.springframework.web.client.RestTemplate;
import java.util.*;
import java.util.concurrent.ScheduledExecutorService;
import java.util.concurrent.TimeUnit;
import java.util.stream.Collectors;
import static java.util.concurrent.Executors.newScheduledThreadPool;
/**
* Project: anrui_portal(门户建设) <br/>
* File: SysUserService.java <br/>
* Class: SysUserService <br/>
* Description: 用户表 业务逻辑. <br/>
* Copyright: Copyright (c) 2011 <br/>
* Company: https://gitee.com/liuzp315 <br/>
* Makedate: 2021-08-03 00:24:30 <br/>
*
* @author liupopo
* @version 1.0
* @since 1.0
*/
@Service
public class SysUserService extends MybatisBaseService<SysUserMapper, SysUser> {
/**
* 设置redis的过期时间为4小时
*/
public static final long USERS_REDIS_SESSION_TL_PC = 4 * 3600;
public static final long USERS_REDIS_SESSION_TL_App = 24 * 15 * 3600;
/**
* 验证码长度
*/
static final int LENGTH_OF_CODE = 4;
/**
* 调用发送短信接口返回值
*/
static final String RESULT_CODE = "1";
/**
* 手机短信登录验证码时效()
*/
static final long APP_LOGIN_CODE_TIME_LIMIT = 300L;
String APP_ID = "wx05604ce2a8bede05";
String SECRET = "3d36e8a61212cf773a2fa4e6c9a83334";
private static final String WX_URL_LOGIN = "https://api.weixin.qq.com/sns/jscode2session?appid=APPID&secret=SECRET&js_code=JSCODE&grant_type=authorization_code ";
private static final String WX_EMPOWER_URL_LOGIN = "https://api.weixin.qq.com/sns/jscode2session?appid=APPID&secret=SECRET&js_code=JSCODE&grant_type=authorization_code";
@Autowired
private RedisUtil redisUtil;
@Autowired
private FileUploadComponent fileUploadComponent;
@Autowired
private ImageUploadUtil imageUploadUtil;
@Autowired
private ProjectInformationFeign projectInformationFeign;
public PagerVo<SysUser> listPage(PagerQuery<SysUserQuery> pq) {
SysUserQuery query = pq.getParams();
QueryWrapper<SysUser> qw = createQueryWrapper(query);
IPage<SysUser> page = PagerUtil.queryToPage(pq);
IPage<SysUser> pagging = baseMapper.selectPage(page, qw);
PagerVo<SysUser> p = PagerUtil.pageToVo(pagging, null);
return p;
}
public List<SysUser> listAll(SysUserQuery query) {
QueryWrapper<SysUser> qw = createQueryWrapper(query);
return baseMapper.selectList(qw);
}
private QueryWrapper<SysUser> createQueryWrapper(SysUserQuery query) {
// todo: 这里根据具体业务调整查询条件
// 多字段Like示例:qw.and(wrapper -> wrapper.like("name", query.getName()).or().like("remark", query.getName()));
QueryWrapper<SysUser> qw = new QueryWrapper<>();
if (StringUtils.isNotBlank(query.getRoleSid())) {
qw.eq("role.sid", query.getRoleSid());
}
if (StringUtils.isNotBlank(query.getName())) {
qw.like("staff.name", query.getName());
}
// qw.ne("staff.personTypeKey","01");
return qw;
}
public PagerVo<SysUserVo> listPageVo(PagerQuery<SysUserQuery> pq) {
SysUserQuery query = pq.getParams();
QueryWrapper<SysUser> qw = createQueryWrapper(query);
IPage<SysUser> page = PagerUtil.queryToPage(pq);
String deptName = "";
String userName = "";
if (StringUtils.isNotBlank(query.getOrgName())) {
deptName = query.getOrgName().trim();
}
if (StringUtils.isNotBlank(query.getUserName())) {
userName = query.getUserName().trim();
}
IPage<SysUserVo> pagging = baseMapper.selectPageVo(page, qw, deptName, userName);
List<SysUserVo> records = pagging.getRecords();
for (SysUserVo record : records) {
String departmentSid = record.getDepartmentSid();
String orgName = "";
if (StringUtils.isNotBlank(departmentSid)) {
String[] split = departmentSid.split(",");
for (String s : split) {
}
orgName = orgName.substring(0, orgName.length() - 1);
record.setDepartmentName(orgName);
}
}
PagerVo<SysUserVo> p = PagerUtil.pageToVo(pagging, null);
return p;
}
public List<SysUserVo> listAllVo(SysUserQuery query) {
QueryWrapper<SysUser> qw = createQueryWrapper(query);
return baseMapper.selectListAllVo(qw);
}
public List<SysUserVo> listVo() {
return baseMapper.selectListVo();
}
public void saveOrUpdateDto(SysUserDto dto) {
SysUser entity = new SysUser();
dto.fillEntity(entity);
this.saveOrUpdate(entity);
}
public SysUserVo fetchByIdVo(String id) {
SysUser entity = this.fetchById(id);
SysUserVo vo = new SysUserVo();
BeanUtil.copyProperties(entity, vo);
return vo;
}
public SysUserVo fetchBySidVo(String sid) {
SysUser entity = this.fetchBySid(sid);
String staffSid = entity.getStaffSid();
SysUserVo vo = new SysUserVo();
BeanUtil.copyProperties(entity, vo);
return vo;
}
public SysUser getUserBySid(String sid) {
SysUser entity = this.fetchBySid(sid);
return entity;
}
/**
* 初始化密码,给用户发送手机短信
*
* @param sid 用户sid
* @return ResultBean
*/
public Boolean initPwd(String sid) {
SysUser user = this.fetchBySid(sid);
if (null == user) {
return false;
}
String mobile = user.getMobile();
String substring = mobile.substring(5, 11);
// 1.生成新密码
/*String newPwd = StringRandom.getRandomString(8);*/
// 2.加密密码,更新用户密码
if (0 == updatePassword(user.getSid(), Encodes.md5(substring))) {
return false;
}
redisUtil.remove(user.getUserName());
// 3.给用户发送手机短信
// MsgWs.SendWaitWorkMsg(mobile, user.getUserName() + SmsFeign.MSG_NEWPWD + substring);
return true;
}
public int updatePassword(String sid, String password) {
return baseMapper.updatePassword(sid, password);
}
public ResultBean<SysUserVo> updatePasswordApp(SysUser user, String oldPassword, String newPassword, String token) {
ResultBean<SysUserVo> rb = ResultBean.fireFail();
String oldPasswordMd5 = Encodes.md5(oldPassword);
if (!oldPasswordMd5.equals(user.getPassword())) {
return rb.setMsg("原始密码输入错误");
}
if (!newPassword.matches("^(?=.*[A-Z])(?=.*[a-z])(?=.*[0-9])[a-zA-Z0-9]{8,16}$")) {
return rb.setMsg("密码格式错误,必须为8至16位大小写字母和数字的组合");
}
int i = baseMapper.updatePasswordApp(user.getSid(), Encodes.md5(newPassword));
SysUserVo sysUserVo = selectUserOne(user);
if (sysUserVo == null) {
sysUserVo = new SysUserVo();
} else {
//查询是否需要更换密码
boolean isTrue = false;
String mobile = user.getMobile();
if (StringUtils.isNotBlank(mobile)) {
String password = mobile.substring(5, 11);
String md5 = Encodes.md5(password);
if (user.getPassword().equals(md5)) {
isTrue = true;
}
}
sysUserVo.setNeedResetPsd(isTrue);
}
if (i == 1) {
// redisUtil.remove(token);
return rb.success().setData(sysUserVo);
} else {
return rb.setMsg("修改失败");
}
}
public SysUser selectByUserName(String userName) {
return baseMapper.selectByUserName(userName);
}
public SysUser selectByUserNameApp(String userName) {
return baseMapper.selectByUserNameApp(userName);
}
public SysUser selectByAppId(String appId) {
return baseMapper.selectByAppId(appId);
}
public int updateAppId(String sid, String appId) {
return baseMapper.updateAppId(sid, appId);
}
public int updateToken(String sid, String token) {
return baseMapper.updateToken(sid, token);
}
public SysUserVo setUserRedisSessionToken(SysUser user) {
// 生成token
String uniqueToken = JWTUtil.create(user.getSid() + "");
// redis中缓存token
redisUtil.set(uniqueToken, user.getUserName(),
USERS_REDIS_SESSION_TL_PC);
SysUserVo userInfoOneVo = selectUserOne(user);
if (userInfoOneVo == null) {
return userInfoOneVo;
} else {
userInfoOneVo.setToken(uniqueToken);
return userInfoOneVo;
}
}
//公共的方法
public SysUserVo selectUserOne(SysUser user) {
// 根据用户信息查询用户的角色信息
SysUserVo userInfoOneVo = new SysUserVo();
userInfoOneVo.setToken(user.getToken());
userInfoOneVo.setId(user.getId());
userInfoOneVo.setSid(user.getSid());
userInfoOneVo.setUserName(user.getUserName());
userInfoOneVo.setIsAdmin(user.getIsAdmin());
return userInfoOneVo;
}
/**
* 手机端登录后设置token
*
* @param user
* @return
*/
public SysUserVo selectUser(SysUser user) {
String oldToken = user.getToken();
if (StringUtils.isNotBlank(oldToken)) {
redisUtil.remove(oldToken);
}
String uniqueToken = JWTUtil.create(user.getSid() + "");
String newToken = "App" + uniqueToken;
redisUtil.set(newToken, user.getUserName(), USERS_REDIS_SESSION_TL_App);
SysUserVo sysUserVo = selectUserOne(user);
if (sysUserVo == null) {
return null;
} else {
sysUserVo.setToken(newToken);
// 更新用户中的token
updateToken(user.getSid(), newToken);
//查询是否需要更换密码
boolean isTrue = false;
String mobile = user.getMobile();
if (StringUtils.isNotBlank(mobile)) {
String password = mobile.substring(5, 11);
String md5 = Encodes.md5(password);
if (user.getPassword().equals(md5)) {
isTrue = true;
}
}
sysUserVo.setNeedResetPsd(isTrue);
return sysUserVo;
}
}
/**
* 获取用户的角色s
*
* @return
*/
public List<String> getUserRoleSids(String userSid) {
return null;
}
public SysUser fetchByUserName(String mobile) {
SysUser sysUsers = baseMapper.fetchByUserName(mobile);
return sysUsers;
}
public void delBySid(String sid) {
baseMapper.delBySid(sid);
}
/**
* 发送短信验证码
*
* @param mobile 手机号
* @param verificationCode 验证码
* @return ResultBean
*/
public ResultBean getVerificationCode(String mobile, String verificationCode) {
for (int i = 0; i < LENGTH_OF_CODE; i++) {
// 定义随机类
Random random = new Random();
// 返回[0,10)集合中的整数,注意不包括10
int result = random.nextInt(10);
// +1后,[0,10)集合变为[1,11)集合,满足要求
int num = result;
verificationCode = verificationCode + num;
}
String verificationCode1 = "个人注册验证码:" + verificationCode + ",有效期5分钟,如非本人操作,请忽略该短信。";
try {
//============
//当前时间秒数
Long timemili = System.currentTimeMillis() / 1000;
System.out.println("当前的秒数" + timemili);
/*在这里写一个定时的for循环,用来取redis的手机号码信息,然后查询手机号码开始的时间,若是大于等于五分钟就给删除这个键值*/
//创建多线程定时任务,延迟1s启动,每隔1s执行一次,是前一个任务开始时就开始计算时间间隔,但是会等上一个任务结束在开始下一个
ScheduledExecutorService scheduledExecutorService = newScheduledThreadPool(10);
scheduledExecutorService.scheduleAtFixedRate(new Runnable() {
@Override
public void run() {
//判断这个键的值是不是超过五分钟,是的话就删除掉这个键
if (System.currentTimeMillis() / 1000 - Long.parseLong(redisUtil.get(mobile).substring(4)) > 300) {
redisUtil.remove(mobile);
}
}
}, 1, 2, TimeUnit.SECONDS);
//设置键值的时候先查询是否存在这个键值对,存在的话查看时长,不存在的话直接发送短信
boolean str = redisUtil.exists(mobile);
if (!str) {
redisUtil.set(mobile, (verificationCode + timemili));
String result = MsgWs.SendWaitWorkMsg(mobile, verificationCode1);
if (!RESULT_CODE.equals(result)) {
return ResultBean.fireFail().setMsg("发送短信验证码失败");
}
} else {
String strT = redisUtil.get(mobile);
//查看请求间隔,默认是一分钟,小于一分钟继续等待,超过一分钟发送短信
if (timemili - Long.parseLong(strT.substring(4)) < 60) {
return ResultBean.fireFail().setMsg("请等待一分钟后再次重试!");
} else {
//发送短信
redisUtil.set(mobile, (verificationCode + timemili));
String result = MsgWs.SendWaitWorkMsg(mobile, verificationCode1);
if (!RESULT_CODE.equals(result)) {
return ResultBean.fireFail().setMsg("发送短信验证码失败");
}
}
}
} catch (Exception e) {
return ResultBean.fireFail().setMsg("发送短信验证码失败");
}
//=============
return ResultBean.fireSuccess().setMsg("发送短信验证码成功");
}
/**
* 验证手机号和验证码是否正确及匹配
*
* @param mobile 手机号
* @param verificationCode 验证码
* @return map
*/
public Map<String, Object> mobileValidateRegister(String mobile, String verificationCode) {
String code = redisUtil.get(mobile).substring(0, 4);
// 判断验证码是否失效
if (StringUtils.isEmpty(code)) {
return Tools.setRetCode(Tools.CODE_FAIL, "验证码失效");
} else if (!"".equals(code) && !verificationCode.equals(code)) {
return Tools.setRetCode(Tools.CODE_FAIL, "验证码错误");
}
return Tools.setRetCode(Tools.CODE_SUCCESS, "");
}
/**
* @param mobile 手机号
* @param verificationCode 验证码
* @param type 验证码类型
* @description: 绑定微信验证验证码是否正确
* @return:
* @Author: dimengzhe
* @Date: 2021/10/6 11:02
*/
public Map<String, Object> mobileValidateWxRegister(String mobile, String verificationCode,String type) {
String key = "";
if (type.equals("1")) {
key = "loginCode"+ mobile;
} else if (type.equals("2")) {
key = "updatePwdCode"+mobile;
} else if (type.equals("3")) {
key = "resetPwdCode"+mobile;
}else if(type.equals("4")){
key = "binding"+mobile;
}
String code = redisUtil.get(key);
if (StringUtils.isNotBlank(code)) {
code = code.substring(0, 4);
}
// 判断验证码是否失效
if (StringUtils.isEmpty(code)) {
return Tools.setRetCode(Tools.CODE_FAIL, "验证码失效");
} else if (!"".equals(code) && !verificationCode.equals(code)) {
return Tools.setRetCode(Tools.CODE_FAIL, "验证码错误");
}
return Tools.setRetCode(Tools.CODE_SUCCESS, "");
}
/**
* @param userName 用户名
* @description: 根据用户名获取登录信息
* @return:
* @Author: dimengzhe
* @Date: 2021/10/6 15:09
*/
public WxSysUserVo selectByWxUserName(String userName, int userType) {
WxSysUserVo wxSysUserVo =new WxSysUserVo();// baseMapper.selectByWxUserName(userName, userType);
//根据客户sid查询姓名
String staffSid = wxSysUserVo.getStaffSid();
// 生成token
String uniqueToken = JWTUtil.create(wxSysUserVo.getUserSid() + "");
String token = "WX" + uniqueToken;
//查询是否有旧token,存在的话清除掉redis中的该token
if (StringUtils.isNotBlank(wxSysUserVo.getToken())) {
//查询是否过期
String values = redisUtil.get(wxSysUserVo.getToken());
if (StringUtils.isNotBlank(values)) {
redisUtil.remove(wxSysUserVo.getToken());
}
}
// redis中缓存token
redisUtil.set(token, wxSysUserVo.getUserName(),
USERS_REDIS_SESSION_TL_PC);
wxSysUserVo.setToken(token);
wxSysUserVo.setNum("1");
// 更新用户中的token
updateToken(wxSysUserVo.getUserSid(), token);
return wxSysUserVo;
}
public ResultBean resetPwdWx(String mobile, String newPwd) {
if (!newPwd.matches("^(?=.*[A-Z])(?=.*[a-z])(?=.*[0-9])[a-zA-Z0-9]{8,10}$")) {
return ResultBean.fireFail().setMsg("密码格式错误,必须为8至10位大小写字母和数字的组合");
}
SysUser user = baseMapper.selectByMobileAndType(mobile, 2);
if (null == user) {
return ResultBean.fireFail().setMsg("该手机号暂时还未注册,请先注册");
}
String newPwdMd5 = Encodes.md5(newPwd);
if (newPwdMd5.equals(user.getPassword())) {
return ResultBean.fireFail().setMsg("新密码不能与旧密码相同");
}
int i = baseMapper.updatePassword(user.getSid(), newPwdMd5);
if (i == 1) {
return ResultBean.fireSuccess().setMsg("修改成功");
} else {
return ResultBean.fireFail().setMsg("修改失败");
}
}
public SysUserVo selectByStaffsid(@Param("staffSid") String staffSid) {
return baseMapper.selectByStaffsid(staffSid);
}
public int delSysUserByMobile(String mobile) {
return baseMapper.delSysUserByMobile(mobile);
}
/**
* 查询所有用户的sid
*
* @return
*/
public List<String> selectAllUserSid() {
return baseMapper.selectAllUserSid();
}
/**
* 根据用户sid获取用户的组织信息
*
* @param userSid 用户的sid
* @return
*/
public SysUserInfoVo selectUserInfoByUserSid(String userSid) {
return baseMapper.selectUserInfoByUserSid(userSid);
}
/**
* 根据用户sid获取用户的组织信息
*
* @param userSid 用户的sid
* @return
*/
public SysUserInfoVo selectUserInfoByUserSid(String userSid, String orgSid) {
return baseMapper.selectUserInfoByUserSidOne(userSid, orgSid);
}
/**
* 根据员工sid更新用户信息
*
* @param mobile 手机号
* @param sid 员工sid
* @return
*/
// public int updateByStaffSid(String jobNumber, String mobile, String sid) {
// return baseMapper.updateByStaffSid(jobNumber, mobile, sid);
// }
public int updateByStaffSid(String mobile, String sid) {
return baseMapper.updateByStaffSid( mobile, sid);
}
/**
* 根据员工sid更新用户的员工编号
*
* @param jobNumber 员工编号
* @param sid 用户sid
* @return
*/
public int updateByStaSid(String jobNumber, String sid) {
return baseMapper.updateByStaSid(jobNumber, sid);
}
/**
* 根据手机号查询用户是否存在
*
* @param mobile
* @return
*/
public SysUser selectByMobile(String mobile) {
return baseMapper.selectByMobile(mobile);
}
public ResultBean reGetPwd(String userName, String userPhone,String verificationCode) {
ResultBean rb = ResultBean.fireFail();
String userSid = baseMapper.fetchByUserNameAndUserPhone(userName, userPhone);
if (StringUtils.isNotBlank(userSid)) {
Map<String, Object>vali=mobileValidateWxRegister(userPhone,verificationCode,"3");
if(!vali.get("code").equals("200")){
return rb.setMsg(vali.get("details").toString());
}
Boolean aBoolean = initPwd(userSid);
if (!aBoolean) {
return ResultBean.fireFail().setMsg("初始化密码失败");
}
return ResultBean.fireSuccess().setMsg("初始化密码成功");
}
return rb.setMsg("姓名或手机号填写不正确");
}
public int updateIsEnable(String sid, String isEnable) {
return baseMapper.updateIsEnable(sid, isEnable);
}
public ResultBean getUsersByRoleSid(String roleSid) {
List<SysUserVo> users = baseMapper.getUsersByRoleSid(roleSid);
List<String> l = new ArrayList<>();
for (SysUserVo s : users) {
l.add(s.getDepartmentName() == null ? "" : s.getDepartmentName());
}
HashSet set = new HashSet(l);
//把List集合所有元素清空
l.clear();
//把HashSet对象添加至List集合
l.addAll(set);
List<Map<String, Object>> r = new ArrayList<>();
// for (String s : l) {
// if (StringUtils.isNotBlank(s)) {
Map<String, Object> m = new HashMap<>();
List<SysUserVo> us = new ArrayList<>();
for (SysUserVo su : users) {
// if (s != null && s.equals(su.getDepartmentName())) {
us.add(su);
// }
}
// m.put("dept", s);
m.put("users", us);
r.add(m);
// }
// }
ResultBean<Object> objectResultBean = ResultBean.fireSuccess().setData(r);
return objectResultBean;
}
public ResultBean<List<SysUserVo>> getUserByRole(UserQuery query) {
ResultBean<List<SysUserVo>> rb = ResultBean.fireFail();
List<SysUserVo> sysUserVoList = new ArrayList<>();
if (StringUtils.isBlank(query.getRoleSid())) {
return rb.setMsg("角色sid不能为空");
}
if (StringUtils.isBlank(query.getOrgSidPath())) {
return rb.setMsg("机构全路径不能为空");
}
//根据角色sid获取角色的层级
String levelTypeKey ="1";// sysRoleService.getLevelType(query.getRoleSid());
if (StringUtils.isNotBlank(levelTypeKey)) {
if (query.getOrgSidPath().split("/").length >= Integer.parseInt(levelTypeKey) - 1) {
String levelOrgSid = query.getOrgSidPath().split("/")[Integer.parseInt(levelTypeKey) - 1];
sysUserVoList = baseMapper.getUserByRole(query.getRoleSid(), levelOrgSid);
if(sysUserVoList.size()>1){
List<String> stringList = sysUserVoList.stream().map(v->v.getSid()).collect(Collectors.toList());
List<SysUserVo> sysUserVoList1 = baseMapper.getUserMessageByRole(query.getRoleSid(), levelOrgSid,stringList);
sysUserVoList1.removeAll(Collections.singleton(null));
if(sysUserVoList1.size()>0){
sysUserVoList = sysUserVoList1;
}
}
}
sysUserVoList.removeAll(Collections.singleton(null));
sysUserVoList.forEach(t -> {
t.setOrgSidPath(query.getOrgSidPath());
});
} else {
return rb.setMsg("该角色层级未设置");
}
return rb.success().setData(sysUserVoList);
}
public ResultBean<List<Map<String, String>>> getUserByOrgSid(String orgSid, String userSid) {
ResultBean rb = ResultBean.fireFail();
List<Map<String, String>> user = baseMapper.getUserByOrgSid(orgSid, userSid);
for (Map<String, String> map : user) {
StringBuilder namePath = new StringBuilder();
String name = map.get("name");
String orgName = map.get("orgName");
String postName = map.get("postName");
namePath.append(name).append("(").append(orgName).append(" ").append(postName).append(")");
map.put("namePath", namePath.toString());
}
/*List<Map<String, String>> user = new ArrayList<>();
for (Map<String, String> map : userByOrgSid) {
String s = map.get("sid");
ResultBean<String> pathSidByUserSid = sysStaffOrgService.getPathSidByUserSid(s);
String data = pathSidByUserSid.getData();
if (data.equals(orgSid)){
user.add(map);
}
}*/
return rb.success().setData(user);
}
public List<SysUserVo> fetchBySidSVo(String sids) {
List<String> list = Arrays.asList(sids.split(","));
List<SysUserVo> entity = baseMapper.fetchBySids(list);
return entity;
}
public ResultBean updateAppIdByMobile(String mobile) {
ResultBean rb = ResultBean.fireFail();
if (StringUtils.isNotBlank(mobile)) {
baseMapper.updateAppIdByMobile(mobile);
} else {
baseMapper.updateAppIdAll();
}
return rb.success().setMsg("解绑成功");
}
public ResultBean<String> selectIdBySid(List<String> stringList) {
ResultBean<String> rb = ResultBean.fireFail();
String ids = baseMapper.selectIdBySid(stringList);
return rb.success().setData(ids);
}
public ResultBean<List<SysUserVo>> getUserByOrgRole(UserRoleQuery query) {
ResultBean<List<SysUserVo>> rb = ResultBean.fireFail();
List<SysUserVo> sysUserVoList = new ArrayList<>();
//根据当前用户角色查询该角色的上一级角色
String userRoleSid = query.getRoleSid();
if (StringUtils.isBlank(userRoleSid)) {
return rb.setMsg("角色不能为空");
}
if (StringUtils.isBlank(query.getOrgSid())) {
return rb.setMsg("部门sid不能为空");
}
String upRoleSid ="";// sysRoleService.selectRoleSid(userRoleSid);
sysUserVoList = baseMapper.getUserByRole(upRoleSid, query.getOrgSid());
return rb.success().setData(sysUserVoList);
}
public ResultBean<List<SysUserVo>> getOtherOrgRoleUser(UserRoleQuery query) {
ResultBean<List<SysUserVo>> rb = ResultBean.fireFail();
List<SysUserVo> sysUserVoList = new ArrayList<>();
String roleSid = query.getRoleSid();
if (StringUtils.isBlank(roleSid)) {
return rb.setMsg("角色不能为空");
}
if (StringUtils.isNotBlank(query.getOrgSid())) {
sysUserVoList = baseMapper.getUserByRole(roleSid, query.getOrgSid());
} else {
sysUserVoList = baseMapper.getUserByRoleSid(query.getRoleSid());
}
return rb.success().setData(sysUserVoList);
}
public ResultBean<List<SysUserListVo>> selectSysUserList(String userSid) {
ResultBean<List<SysUserListVo>> rb = ResultBean.fireFail();
return rb.success().setData(new ArrayList<>());
}
public ResultBean<Boolean> selectPasswordByUserSid(String userSid) {
ResultBean<Boolean> rb = ResultBean.fireFail();
boolean isTrue = false;
//查询手机号
SysUser sysUser = fetchBySid(userSid);
if (sysUser != null) {
String mobile = sysUser.getMobile();
if (StringUtils.isNotBlank(mobile)) {
String password = mobile.substring(5, 11);
String md5 = Encodes.md5(password);
if (sysUser.getPassword().equals(md5)) {
isTrue = true;
}
}
}
return rb.success().setData(isTrue);
}
public ResultBean<JSONObject> wxLogin( String jsCode,String appid, String secret) {
ResultBean rb=new ResultBean();
String url = WX_URL_LOGIN.replace("APPID", appid).replace("SECRET", secret).replace("JSCODE",jsCode).replace("authorization_code","authorization_code");
RestTemplate restTemplate = new RestTemplate();
ResponseEntity<String> forEntity = restTemplate.getForEntity(url,String.class);
JSONObject jsonObject = JSONObject.parseObject(forEntity.getBody());
System.out.println(jsonObject);
return rb.success().setData(jsonObject);
}
public ResultBean<JSONObject> wxAuthLogin( String code,String appid, String secret) {
ResultBean rb=new ResultBean();
String url = WX_EMPOWER_URL_LOGIN.replace("APPID", appid).replace("SECRET", secret).replace("CODE",code).replace("authorization_code","authorization_code");
RestTemplate restTemplate = new RestTemplate();
ResponseEntity<String> forEntity = restTemplate.getForEntity(url,String.class);
JSONObject jsonObject = JSONObject.parseObject(forEntity.getBody());
System.out.println(jsonObject);
return rb.success().setData(jsonObject);
}
public ResultBean getUserByType(String userType){
ResultBean rb=new ResultBean();
List<SysUserVo> list=baseMapper.getUserByType(userType);
return rb.success().setData(list);
}
public ResultBean getUserOrgBySid(String sid){
ResultBean rb=new ResultBean();
List<SysUserVo> list=baseMapper.getUserOrgBySid(sid);
return rb.success().setData(list);
}
public ResultBean updateSysUserImage(Map<String, String> map){
String userSid = map.get("userSid");
String headImage = map.get("headImage");
ResultBean rb = ResultBean.fireFail();
SysUser sysUser = fetchBySid(userSid);
sysUser.setHeadImage(headImage);
int sid = baseMapper.update(sysUser, new QueryWrapper<SysUser>().eq("sid", sysUser.getSid()));
return rb.success().setMsg("上传成功");
}
public ResultBean<List<SysUser>> getUsersBySid(List<String> list){
ResultBean rb = ResultBean.fireFail();
List<SysUser>users=baseMapper.selectList(new QueryWrapper<SysUser>().in("sid",list));
return rb.success().setData(users);
}
public ResultBean<List<SysUserVo>> getUserByRoleNoOrgPath(UserQuery query) {
ResultBean<List<SysUserVo>> rb = ResultBean.fireFail();
List<SysUserVo> sysUserVoList = new ArrayList<>();
if (StringUtils.isBlank(query.getRoleSid())) {
return rb.setMsg("角色sid不能为空");
}
//根据角色sid获取角色的层级
sysUserVoList = baseMapper.getUserByRoleNoOrgPath(query.getRoleSid());
return rb.success().setData(sysUserVoList);
}
public SysUser selectByUserNameAndPassword(String userName, String md5) {
return baseMapper.selectByUserNameAndPassword(userName,md5);
}
}

25
warehousing-system/project/wh-manage/src/main/resources/application-test.yml

@ -0,0 +1,25 @@
spring:
resources:
static-locations: file:D://supervise
cloud:
nacos:
discovery:
server-addr: 39.104.100.138:884
datasource:
url: jdbc:mysql://39.104.100.138:3306/warehouse2?serverTimezone=GMT%2B8&useUnicode=true&characterEncoding=utf8&autoReconnect=true&allowMultiQueries=true
username: root
password: yxt_mysql_138
#password: root
redis:
database: 3 # Redis数据库索引(默认为0)
host: 39.104.100.138
jedis:
pool:
max-active: -1 #连接池最大连接数(使用负值表示没有限制)
max-idle: 8 #连接池中的最大空闲连接
max-wait: -1 # 连接池最大阻塞等待时间(使用负值表示没有限制)
min-idle: 0 # 连接池中的最小空闲连接
password:
port: 6379
timeout: 0 # 连接超时时间(毫秒)

4
warehousing-system/project/wh-manage/src/main/resources/application.yml

@ -10,8 +10,8 @@ spring:
application: application:
name: supervise-wm name: supervise-wm
profiles: profiles:
#active: devv active: test
active: pro #active: pro
messages: messages:
basename: i18n/messages basename: i18n/messages

397
warehousing-system/project/wh-manage/src/main/resources/mappers/SysUserMapper.xml

@ -0,0 +1,397 @@
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.wh.mapper.sysuser.SysUserMapper">
<!-- <where> ${ew.sqlSegment} </where>-->
<!-- ${ew.customSqlSegment} -->
<select id="selectPageVo" resultType="com.wh.pojo.sysuser.SysUserVo">
SELECT DISTINCT user.staffSid,
user.isEnable,
(
SELECT GROUP_CONCAT(org.name)
FROM sys_staff_org staffOrg
LEFT JOIN sys_organization org ON org.sid = staffOrg.orgSid
WHERE staffOrg.staffSid = user.staffSid
) departmentName,
(
SELECT GROUP_CONCAT(org.sid)
FROM sys_staff_org staffOrg
LEFT JOIN sys_organization org ON org.sid = staffOrg.orgSid
WHERE staffOrg.staffSid = user.staffSid
) departmentSid,
(
SELECT GROUP_CONCAT(post.name)
FROM sys_staff_post staffPost
LEFT JOIN sys_post post ON post.sid = staffPost.postSid
WHERE staffPost.staffSid = user.staffSid
) postName,
(
SELECT GROUP_CONCAT(post.sid)
FROM sys_staff_post staffPost
LEFT JOIN sys_post post ON post.sid = staffPost.postSid
WHERE staffPost.staffSid = user.staffSid
) postSid,
user.userName,
user.sid sid,
staff.name,
(
SELECT GROUP_CONCAT(role.name)
FROM sys_user_role user_role
LEFT JOIN sys_role role ON role.sid = user_role.roleSid
WHERE user_role.userSid = USER.sid
) roleName,
dict.dictValue userType,
user.mobile as mobile,
user.openid as openid,
case user.userType
when 1 then "监管人员"
when 2 then "企业人员"
when 3 then "银行人员"
end as userTypeKey
FROM sys_user USER
LEFT JOIN sys_user_role user_role ON user_role.userSid = USER.sid
LEFT JOIN sys_role role ON role.sid = user_role.roleSid
LEFT JOIN dict_common dict ON dict.dictKey = user.userType AND dict.dictType = 'userType'
LEFT JOIN sys_staffinfo staff ON staff.sid = user.staffSid
<where>
${ew.sqlSegment}
<if test="orgName != null and orgName != ''">
AND (SELECT GROUP_CONCAT(org.name)
FROM sys_staff_org staffOrg
LEFT JOIN sys_organization org ON org.sid = staffOrg.orgSid
WHERE staffOrg.staffSid = user.staffSid)
LIKE concat('%',
#{orgName}
,
'%'
)
</if>
<if test="userName != null and userName != ''">
and
concat
(
IFNULL
(
USER
.
userName
,
''
)
,
ifnull
(
USER
.
mobile
,
''
)
,
ifnull
(
staff
.
name
,
''
)
)
LIKE
concat
(
'%'
,
#{userName}
,
'%'
)
</if>
</where>
</select>
<select id="selectListAllVo" resultType="com.wh.pojo.sysuser.SysUserVo">
SELECT *
FROM sys_user
<where>
${ew.sqlSegment}
</where>
</select>
<select id="selectByUserName" resultType="com.wh.pojo.sysuser.SysUser">
SELECT su.*
FROM sys_user su
where su.userName = #{param1}
and su.isDelete = 0
</select>
<!-- and su.userType = 1 and si.personTypeKey != '01'-->
<select id="selectByUserNameApp" resultType="com.wh.pojo.sysuser.SysUser">
SELECT su.*
FROM sys_user su
left join sys_staffinfo si on si.sid = su.staffSid
where su.userName = #{param1}
and su.isDelete = 0
and su.userType = 1
</select>
<select id="selectByAppId" resultType="com.wh.pojo.sysuser.SysUser">
SELECT *
FROM sys_user
where appId = #{appId}
and isDelete = 0
and userType = 1
</select>
<select id="fetchByUserName" resultType="com.wh.pojo.sysuser.SysUser">
SELECT *
FROM sys_user
where userName = #{userName}
and isDelete = 0
</select>
<!--updatePassword-->
<update id="updatePassword">
update sys_user
set password=#{param2}
where sid = #{param1}
</update>
<delete id="deleteBySid">
delete from sys_user
where sid = #{sid}
</delete>
<update id="updatePasswordApp">
update sys_user
set password=#{param2}
where sid = #{param1}
and userType = 1
</update>
<delete id="delBySid">
delete
from sys_user
where sid = #{param1}
</delete>
<!--根据手机号用户名和用户类型查询是否存在该用户-->
<select id="selectByMobileAndType" resultType="com.wh.pojo.sysuser.SysUser">
SELECT *
FROM sys_user
WHERE isDelete = 0
AND userName = #{mobile}
AND userType = #{userType}
</select>
<!--客户端我的信息-->
<select id="selectMyInfo" resultType="com.wh.pojo.sysuser.wx.WxMySysUserInfoVo">
SELECT su.headImage
FROM sys_user su
WHERE su.sid = #{userSid}
AND su.isDelete = 0
</select>
<!--客户端根据用户名查询登录信息-->
<select id="selectByWxUserName" resultType="com.wh.pojo.sysuser.wx.WxSysUserVo">
SELECT su.mobile, su.userType, su.userName, su.sid userSid, su.staffSid, su.token
FROM sys_user su
WHERE su.userName = #{userName}
AND userType = #{userType}
AND su.isDelete = 0
</select>
<!--客户端查询首页信息-->
<select id="selectHomePage" resultType="com.wh.pojo.sysuser.wx.WxHomePageVo">
SELECT su.headImage, su.staffSid
FROM sys_user su
WHERE su.sid = #{userSid}
AND su.isDelete = 0
</select>
<select id="selectByStaffsid" resultType="com.wh.pojo.sysuser.SysUserVo">
SELECT *
FROM sys_user su
LEFT JOIN sys_staffinfo ss ON su.staffSid = ss.sid
WHERE su.staffSid = #{staffSid}
AND su.isDelete = 0
</select>
<!--根据用户sid获取员工sid-->
<select id="getUserOrgInfoByUserSid" resultType="com.wh.pojo.sysuser.app.AppUserOrgInfoVo">
SELECT su.staffSid, ss.name staffName, sso.orgSid, sso.orgName, sso.orgSidPath, so.orgCode
FROM sys_user su
LEFT JOIN sys_staffinfo ss ON su.staffSid = ss.sid
LEFT JOIN sys_staff_org sso ON su.staffSid = sso.staffSid
LEFT JOIN sys_organization so ON sso.orgSid = so.sid
WHERE su.sid = #{userSid}
ORDER BY sso.id
LIMIT 1
</select>
<!--根据用户的sid查询用户的组织信息:多个时取第一个-->
<select id="selectUserInfoByUserSid" resultType="com.wh.pojo.sysuser.SysUserInfoVo">
SELECT su.staffSid, si.name staffName, sso.orgSid, sso.orgName, so.orgCode
FROM sys_user su
LEFT JOIN sys_staffinfo si ON su.staffSid = si.sid
LEFT JOIN sys_staff_org sso ON su.staffSid = sso.staffSid
LEFT JOIN sys_organization so ON sso.orgSid = so.sid
WHERE su.sid = #{userSid}
ORDER BY sso.id
LIMIT 1
</select>
<select id="selectUserInfoByUserSidOne" resultType="com.wh.pojo.sysuser.SysUserInfoVo">
SELECT su.staffSid, si.name staffName, sso.orgSid, sso.orgName, so.orgCode
FROM sys_user su
LEFT JOIN sys_staffinfo si ON su.staffSid = si.sid
LEFT JOIN sys_staff_org sso ON su.staffSid = sso.staffSid
LEFT JOIN sys_organization so ON sso.orgSid = so.sid
WHERE su.sid = #{userSid}
and find_in_set(#{orgSid}, replace(sso.orgSidPath, '/', ','))
ORDER BY sso.id
LIMIT 1
</select>
<!--根据员工sid更新用户表的工号以及手机号-->
<update id="updateByStaffSid">
update sys_user
set mobile = #{mobile}
where staffSid = #{sid}
</update>
<!--根据员工sid更新员工的员工编号-->
<update id="updateByStaSid">
update sys_user
set userName = #{jobNumber}
where staffSid = #{sid}
</update>
<!-- <select id="selectByMobile" resultType="com.wh.pojo.sysuser.SysUser">-->
<!-- select su.*-->
<!-- from sys_user su-->
<!-- left join sys_staffinfo si on si.sid = su.staffSid-->
<!-- where su.mobile = #{mobile}-->
<!-- and su.isDelete = 0-->
<!-- and su.userType = 1-->
<!-- and si.personTypeKey != '01'-->
<!-- </select>-->
<select id="selectByMobile" resultType="com.wh.pojo.sysuser.SysUser">
select su.*
from sys_user su
left join sys_staffinfo si on si.sid = su.staffSid
where su.mobile = #{mobile}
and su.isDelete = 0
</select>
<update id="updateIsEnable">
UPDATE sys_user
SET isEnable = #{isEnable}
WHERE sid = #{sid}
</update>
<select id="getUsersByRoleSid" resultType="com.wh.pojo.sysuser.SysUserVo">
SELECT su.sid, ss.name, sso.orgNamePath departmentName
FROM `sys_user` su
LEFT JOIN `sys_staffinfo` ss ON su.staffSid = ss.sid
LEFT JOIN `sys_staff_org` sso ON sso.staffSid = ss.sid
LEFT JOIN `sys_user_role` sur ON sur.userSid = su.sid
LEFT JOIN `sys_role` sr ON sr.sid = sur.roleSid
WHERE sr.sid = #{roleSid}
</select>
<select id="getUserByRole" resultType="com.wh.pojo.sysuser.SysUserVo">
select distinct si.name, su.sid, su.staffSid<!--, so.orgSidPath-->
from sys_user_role sr
left join sys_user su on sr.userSid = su.sid
left join sys_staffinfo si on si.sid = su.staffSid
left join sys_staff_org so on so.staffSid = si.sid
where sr.roleSid = #{roleSid}
and find_in_set(#{levelOrgSid}, replace(so.orgSidPath, '/', ','))
and si.personTypeKey != '01'
</select>
<select id="getUserByRoleNoOrgPath" resultType="com.wh.pojo.sysuser.SysUserVo">
select distinct si.name, su.sid, su.staffSid<!--, so.orgSidPath-->
from sys_user_role sr
left join sys_user su on sr.userSid = su.sid
left join sys_staffinfo si on si.sid = su.staffSid
left join sys_staff_org so on so.staffSid = si.sid
where sr.roleSid = #{roleSid}
</select>
<select id="getUserByOrgSid" resultType="java.util.Map">
SELECT su.sid,
st.name,
sso.orgName,
sp.name as postName
FROM sys_user su
LEFT JOIN sys_staffinfo st
ON su.`staffSid` = st.`sid`
LEFT JOIN sys_staff_org sso
ON st.`sid` = sso.`staffSid`
LEFT JOIN sys_staff_post ssp
ON st.sid = ssp.`staffSid`
LEFT JOIN sys_post sp
ON ssp.`postSid` = sp.`sid`
WHERE su.sid != #{userSid}
AND sso.`orgSidPath` LIKE concat('%'
, #{orgSid}
, '%')
</select>
<select id="fetchBySids" resultType="com.wh.pojo.sysuser.SysUserVo">
select su.*, ss.name
from sys_user su
left join sys_staffinfo ss on su.staffSid = ss.sid
where su.sid in
<foreach collection="sids" index="index" item="item" open="(" separator="," close=")">
#{item}
</foreach>
</select>
<select id="getUserByRoleSid" resultType="com.wh.pojo.sysuser.SysUserVo">
select si.name, su.sid, su.staffSid
from sys_user_role sr
left join sys_user su on sr.userSid = su.sid
left join sys_staffinfo si on si.sid = su.staffSid
where sr.roleSid = #{roleSid}
and si.personTypeKey != '01'
</select>
<update id="updateAppIdByMobile">
update sys_user
set appId = NULL
where mobile = #{mobile}
</update>
<update id="updateAppIdAll">
update sys_user
set appId = NULL
</update>
<select id="selectIdBySid" resultType="java.lang.String">
select group_concat(id) as ids
from sys_user where sid in
<foreach collection="list" item="item" index="index" open="(" separator="," close=")">
#{item}
</foreach>
</select>
<select id="getUserMessageByRole" resultType="com.wh.pojo.sysuser.SysUserVo">
select distinct si.name, su.sid, su.staffSid,so.orgSidPath
from sys_user_role sr
left join sys_user su on sr.userSid = su.sid
left join sys_staffinfo si on si.sid = su.staffSid
left join sys_staff_org so on so.staffSid = si.sid
where sr.roleSid = #{roleSid}
and find_in_set(#{levelOrgSid}, replace(so.orgSidPath, '/', ','))
and si.personTypeKey != '01' AND so.`manageType`=3 and su.sid in
<foreach collection="list" item="item" index="index" open="(" separator="," close=")">
#{item}
</foreach>
</select>
<select id="getUserByType" resultType="com.wh.pojo.sysuser.SysUserVo">
<if test="userType==1">
select s.*,f.name as name from sys_user s left join sys_staffinfo f on f.sid=s.staffSid where s.userType=#{userType}
</if>
<if test="userType==3">
select * from sys_user s where s.userType=#{userType}
</if>
</select>
<select id="getUserOrgBySid" resultType="com.wh.pojo.sysuser.SysUserVo">
select s.*,f.name as name ,org.name as organizationName from sys_user s
left join sys_staffinfo f on f.sid=s.staffSid
left join sys_staff_org sta on sta.staffSid =f.sid
left join sys_organization org on org.sid =sta.orgSid
WHERE s.sid=#{sid}
</select>
<select id="fetchByUserNameAndUserPhone" resultType="java.lang.String">
SELECT su.`sid`
FROM sys_user su
LEFT JOIN sys_staffinfo ss
ON su.`staffSid` = ss.`sid`
WHERE ss.name = #{userName}
AND su.mobile = #{userPhone}
</select>
</mapper>
Loading…
Cancel
Save