Sfoglia il codice sorgente

Merge remote-tracking branch 'origin/master'

syh 4 anni fa
parent
commit
9a4effeb78

+ 119 - 64
jeecg-boot-module-system/src/main/java/org/jeecg/modules/ctop/controller/CallbackController.java

@@ -272,6 +272,7 @@ public class CallbackController {
             String advertiserId = json.getString("advertiserId");
             // 媒体类型: 1 头条 2 快手
             String mediaId = json.getString("mediaId");
+
             // 广告主名称
             String advertiserName = json.getString("advertiser_name");
             //创建人
@@ -282,12 +283,16 @@ public class CallbackController {
             String projectName = json.getString("projectName");
             BigDecimal warningProportion = json.getBigDecimal("WarningProportion");
             BigDecimal warningAmount = json.getBigDecimal("WarningAmount");
+
             JSONObject data = resultObject.getJSONObject("data");
+
             if (Check.isNull(data)) {
                 returnMap.put("code", -1);
                 returnMap.put("desc", "返回信息为空");
                 return returnMap;
+
             }
+
             data.remove("advertiser_id");
             JSONArray advertiser_ids = data.getJSONArray("advertiser_ids");
             if (Check.isNull(advertiser_ids)) {
@@ -297,76 +302,126 @@ public class CallbackController {
 
             }
             data.remove("advertiser_ids");
-
-            String access_token = data.getString("access_token");
-            String refresh_token = data.getString("refresh_token");
-
             StringBuilder text = new StringBuilder();
             for (int i = 0; i < advertiser_ids.size(); i++) {
-                String advertiser_id = advertiser_ids.get(i)+"";
-                data.put("advertiser_id", advertiser_id);
-                CtopOauthToken token = new CtopOauthToken(advertiser_id, data);
-                ctopOauthTokenService.saveOrUpdate(token);
-                //获取广告主信息
-                Map<String, Object> advertiserDataMap = advertiserDataService.getAdvertiserInfo(advertiser_id + "", data.getString("access_token"));
-                Boolean getSuccess = (Boolean) advertiserDataMap.get("success");
-                if (null == getSuccess || !getSuccess) {
-                    log.info("获取广告主信息失败,accountId:{},message:{}", token.getAccountId(), (String) advertiserDataMap.get("message"));
-                    text.append("账户id:" + advertiser_id + ",暂未获取数据权限,请检查账户")
-                            .append("<br/>");
-                    continue;
-                }
-                Long accountId = token.getAccountId();
-                QueryWrapper<UserAllocation> userAllocationQueryWrapper = new QueryWrapper<>();
-                userAllocationQueryWrapper.eq("account_id", accountId);
-                userAllocationQueryWrapper.eq("media_id", 1);
-                userAllocationQueryWrapper.orderByDesc("create_time");
-                userAllocationQueryWrapper.last("limit 1");
-                UserAllocation checkUserAllocation = allocationMapper.selectOne(userAllocationQueryWrapper);
-                if (!Check.isNull(checkUserAllocation)) {
-                    text.append("账户id:" + accountId + ",授权名称为:" + (String) advertiserDataMap.get("name") + ",绑定失败,失败原因:已被" + checkUserAllocation.getUserName() + "绑定。")
-                            .append("<br/>");
-                    continue;
-                }
-                text.append("账户id:" + accountId + ",授权名称为:" + (String) advertiserDataMap.get("name") + ",绑定成功。").append("<br/>");
-                String systemType = json.getString("systemType");
-                UserAllocation userAllocation = new UserAllocation();
-                userAllocation.setUserId(userId);
-                userAllocation.setUserName(userName);
-                userAllocation.setAccountId(token.getAccountId());
-                userAllocation.setAdvertiserName(advertiserName);
-                userAllocation.setMediaId(mediaId);
-                userAllocation.setProjectId(projectId);
-                userAllocation.setProjectName(projectName);
-                userAllocation.setSystemType(systemType);
-                userAllocation.setAuthName((String) advertiserDataMap.get("name"));
-                userAllocation.setAdvertiserId(advertiserId);
-                userAllocation.setWarningProportion(warningProportion);
-                userAllocation.setWarningAmount(warningAmount);
-                userAllocation.setCreateTime(new Date());
-                userAllocation.setUpdateTime(new Date());
-                int g = allocationMapper.insert(userAllocation);
-                if (g > 0) {
-                    log.info("同步分配用户表完成,task_id:{},accountId:{}", state, token.getAccountId());
-                }
-                //账号绑定
-                bindAccountAuthService.addBindAccount(token.getAccountId(), KuaishouInterfaceConstant.LOGIN_TYPE_BYTEDANCE, advertiserId);
-                new Thread(() -> reportService.loadBytedanceHistoryData(token)).start();
-            }
-            JSONArray jsonArray = advertiserDataService.advertiserList(access_token);
-            if (!Check.isNull(jsonArray)) {
-                for (int i = 0; i < jsonArray.size(); i++) {
-                    JSONObject dataJson = jsonArray.getJSONObject(i);
-                    if (!Check.isNull(dataJson)) {
-                        CtopOauthToken token = new CtopOauthToken();
-                        token.setAccessToken(access_token);
-                        token.setRefreshToken(refresh_token);
-                        token.setId(dataJson.getString("advertiser_id"));
-                        ctopOauthTokenService.updateById(token);
+                Long advertiser_id = advertiser_ids.getLong(i);
+                JSONObject adJson = advertiserDataService.getAdvertiserList(data.getString("access_token"), advertiser_id);
+                Integer returnCode = adJson.getInteger("code");
+                if (returnCode == 0) {
+                    JSONArray dataArr = adJson.getJSONArray("data");
+                    if (!Check.isNull(dataArr)) {
+                        for (int j = 0; j < dataArr.size(); j++) {
+                            JSONObject dataJson = dataArr.getJSONObject(j);
+                            Long advertiser_id1 = dataJson.getLong("advertiser_id");
+                            data.put("advertiser_id", advertiser_id1);
+                            CtopOauthToken token = new CtopOauthToken(advertiserId, data);
+                            ctopOauthTokenService.saveOrUpdate(token);
+                            //获取广告主信息
+                            Map<String, Object> advertiserDataMap = advertiserDataService.getAdvertiserInfo(advertiser_id1 + "", data.getString("access_token"));
+                            Boolean getSuccess = (Boolean) advertiserDataMap.get("success");
+                            if (null == getSuccess || !getSuccess) {
+                                log.info("获取广告主信息失败,accountId:{},message:{}", token.getAccountId(), (String) advertiserDataMap.get("message"));
+                                text.append("账户id:" + advertiser_id + ",暂未获取数据权限,请检查账户")
+                                        .append("<br/>");
+                                continue;
+                            }
+
+                            Long accountId = token.getAccountId();
+                            QueryWrapper<UserAllocation> userAllocationQueryWrapper = new QueryWrapper<>();
+                            userAllocationQueryWrapper.eq("account_id", accountId);
+                            userAllocationQueryWrapper.eq("media_id", 1);
+                            userAllocationQueryWrapper.orderByDesc("create_time");
+                            userAllocationQueryWrapper.last("limit 1");
+                            UserAllocation checkUserAllocation = allocationMapper.selectOne(userAllocationQueryWrapper);
+                            if (!Check.isNull(checkUserAllocation)) {
+                                text.append("账户id:" + accountId + ",授权名称为:" + (String) advertiserDataMap.get("name") + ",绑定失败,失败原因:已被" + checkUserAllocation.getUserName() + "绑定。")
+                                        .append("<br/>");
+                                continue;
+                            }
+                            text.append("账户id:" + accountId + ",授权名称为:" + (String) advertiserDataMap.get("name") + ",绑定成功。").append("<br/>");
+                            String systemType = json.getString("systemType");
+                            UserAllocation userAllocation = new UserAllocation();
+                            userAllocation.setUserId(userId);
+                            userAllocation.setUserName(userName);
+                            userAllocation.setAccountId(token.getAccountId());
+                            userAllocation.setAdvertiserName(advertiserName);
+                            userAllocation.setMediaId(mediaId);
+                            userAllocation.setProjectId(projectId);
+                            userAllocation.setProjectName(projectName);
+                            userAllocation.setSystemType(systemType);
+                            userAllocation.setAuthName((String) advertiserDataMap.get("name"));
+                            userAllocation.setAdvertiserId(advertiserId);
+                            userAllocation.setWarningProportion(warningProportion);
+                            userAllocation.setWarningAmount(warningAmount);
+                            userAllocation.setCreateTime(new Date());
+                            userAllocation.setUpdateTime(new Date());
+                            int g = allocationMapper.insert(userAllocation);
+                            if (g > 0) {
+                                log.info("同步分配用户表完成,task_id:{},accountId:{}", state, token.getAccountId());
+                            }
+                            //账号绑定
+                            bindAccountAuthService.addBindAccount(token.getAccountId(), KuaishouInterfaceConstant.LOGIN_TYPE_BYTEDANCE, advertiserId);
+                            new Thread(() -> reportService.loadBytedanceHistoryData(token)).start();
+                        }
+
+                    }
+
+                } else {
+                    data.put("advertiser_id", advertiser_id);
+                    CtopOauthToken token = new CtopOauthToken(advertiserId, data);
+                    ctopOauthTokenService.saveOrUpdate(token);
+                    //获取广告主信息
+                    Map<String, Object> advertiserDataMap = advertiserDataService.getAdvertiserInfo(advertiser_id + "", data.getString("access_token"));
+                    Boolean getSuccess = (Boolean) advertiserDataMap.get("success");
+                    if (null == getSuccess || !getSuccess) {
+                        log.info("获取广告主信息失败,accountId:{},message:{}", token.getAccountId(), (String) advertiserDataMap.get("message"));
+                        text.append("账户id:" + advertiser_id + ",暂未获取数据权限,请检查账户")
+                                .append("<br/>");
+                        continue;
                     }
+
+                    Long accountId = token.getAccountId();
+                    QueryWrapper<UserAllocation> userAllocationQueryWrapper = new QueryWrapper<>();
+                    userAllocationQueryWrapper.eq("account_id", accountId);
+                    userAllocationQueryWrapper.eq("media_id", 1);
+                    userAllocationQueryWrapper.orderByDesc("create_time");
+                    userAllocationQueryWrapper.last("limit 1");
+                    UserAllocation checkUserAllocation = allocationMapper.selectOne(userAllocationQueryWrapper);
+                    if (!Check.isNull(checkUserAllocation)) {
+                        text.append("账户id:" + accountId + ",授权名称为:" + (String) advertiserDataMap.get("name") + ",绑定失败,失败原因:已被" + checkUserAllocation.getUserName() + "绑定。")
+                                .append("<br/>");
+                        continue;
+                    }
+                    text.append("账户id:" + accountId + ",授权名称为:" + (String) advertiserDataMap.get("name") + ",绑定成功。").append("<br/>");
+                    String systemType = json.getString("systemType");
+                    UserAllocation userAllocation = new UserAllocation();
+                    userAllocation.setUserId(userId);
+                    userAllocation.setUserName(userName);
+                    userAllocation.setAccountId(token.getAccountId());
+                    userAllocation.setAdvertiserName(advertiserName);
+                    userAllocation.setMediaId(mediaId);
+                    userAllocation.setProjectId(projectId);
+                    userAllocation.setProjectName(projectName);
+                    userAllocation.setSystemType(systemType);
+                    userAllocation.setAuthName((String) advertiserDataMap.get("name"));
+                    userAllocation.setAdvertiserId(advertiserId);
+                    userAllocation.setWarningProportion(warningProportion);
+                    userAllocation.setWarningAmount(warningAmount);
+                    userAllocation.setCreateTime(new Date());
+                    userAllocation.setUpdateTime(new Date());
+                    int g = allocationMapper.insert(userAllocation);
+                    if (g > 0) {
+                        log.info("同步分配用户表完成,task_id:{},accountId:{}", state, token.getAccountId());
+                    }
+                    //账号绑定
+                    bindAccountAuthService.addBindAccount(token.getAccountId(), KuaishouInterfaceConstant.LOGIN_TYPE_BYTEDANCE, advertiserId);
+                    new Thread(() -> reportService.loadBytedanceHistoryData(token)).start();
                 }
+
+
             }
 
+
             returnMap.put("code", 0);
             returnMap.put("desc", text.toString());
 

+ 40 - 6
jeecg-boot-module-system/src/main/java/org/jeecg/modules/system/controller/SysUserController.java

@@ -18,6 +18,8 @@ import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
 import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper;
 import com.baomidou.mybatisplus.core.metadata.IPage;
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.github.pagehelper.PageHelper;
+import com.github.pagehelper.PageInfo;
 import lombok.extern.slf4j.Slf4j;
 import org.apache.commons.lang.StringUtils;
 import org.apache.shiro.SecurityUtils;
@@ -149,7 +151,7 @@ public class SysUserController {
     }
 
     @RequestMapping(value = "/getAllUserListByCompany", method = RequestMethod.GET)
-    public Result<List<SysUserVo>> getAllUserListByCompany() {
+    public Result<List<SysUserVo>> getAllUserListByCompany(String userName) {
         Result<List<SysUserVo>> result = new Result<>();
         try {
             LoginUser user = (LoginUser) SecurityUtils.getSubject().getPrincipal();
@@ -161,9 +163,9 @@ public class SysUserController {
             String companyId = userCompany.getCompanyId();
             List<SysUserVo> userList;
             if ("4b10089775c040119e139087517aed88".equals(companyId) || "6608ed13c0dd42de93c790dbdf124234".equals(companyId) || "d57fecdcf7a94d009736d9c850731582".equals(companyId)) {
-                userList = sysUserService.getAllUser();
+                userList = sysUserService.getAllUser(userName);
             } else {
-                userList = sysUserService.getUserListByCompany(companyId);
+                userList = sysUserService.getUserListByCompany(companyId, userName);
             }
 
 
@@ -180,7 +182,38 @@ public class SysUserController {
     }
 
     @RequestMapping(value = "/getAllUserList", method = RequestMethod.GET)
-    public Result<List<SysUserVo>> getAllList() {
+    public Result<PageInfo<SysUserVo>> getAllList(String userName, int pageNo, int pageSize) {
+        Result<PageInfo<SysUserVo>> result = new Result<>();
+        try {
+            LoginUser user = (LoginUser) SecurityUtils.getSubject().getPrincipal();
+            QueryWrapper<UserCompany> userCompanyQueryWrapper = new QueryWrapper<>();
+            userCompanyQueryWrapper.eq("user_id", user.getId());
+            userCompanyQueryWrapper.orderByDesc("create_time");
+            userCompanyQueryWrapper.last("limit 1");
+            UserCompany userCompany = userCompanyMapper.selectOne(userCompanyQueryWrapper);
+            String companyId = userCompany.getCompanyId();
+            List<SysUserVo> userList;
+
+            PageHelper.startPage(pageNo, pageSize);
+            if ("4b10089775c040119e139087517aed88".equals(companyId) || "6608ed13c0dd42de93c790dbdf124234".equals(companyId) || "d57fecdcf7a94d009736d9c850731582".equals(companyId)) {
+                userList = sysUserService.getAllUser(userName);
+            } else {
+                userList = sysUserService.getUserListByCompany(companyId, userName);
+            }
+            PageInfo<SysUserVo> pageInfo = new PageInfo<>(userList);
+            result.setSuccess(true);
+            result.setResult(pageInfo);
+        } catch (Exception e) {
+            e.printStackTrace();
+            result.setSuccess(false);
+            result.setMessage("请求失败");
+        }
+        return result;
+    }
+
+
+    @RequestMapping(value = "/getAllUserListV1", method = RequestMethod.GET)
+    public Result<List<SysUserVo>> getAllList(String userName) {
         Result<List<SysUserVo>> result = new Result<>();
         try {
             LoginUser user = (LoginUser) SecurityUtils.getSubject().getPrincipal();
@@ -192,9 +225,9 @@ public class SysUserController {
             String companyId = userCompany.getCompanyId();
             List<SysUserVo> userList;
             if ("4b10089775c040119e139087517aed88".equals(companyId) || "6608ed13c0dd42de93c790dbdf124234".equals(companyId) || "d57fecdcf7a94d009736d9c850731582".equals(companyId)) {
-                userList = sysUserService.getAllUser();
+                userList = sysUserService.getAllUser(userName);
             } else {
-                userList = sysUserService.getUserListByCompany(companyId);
+                userList = sysUserService.getUserListByCompany(companyId, userName);
             }
             result.setSuccess(true);
             result.setResult(userList);
@@ -206,6 +239,7 @@ public class SysUserController {
         return result;
     }
 
+
     @RequestMapping(value = "/getAllSaleList", method = RequestMethod.GET)
     public Result<List<SysUserVo>> getSaleList() {
         Result<List<SysUserVo>> result = new Result<>();

+ 214 - 195
jeecg-boot-module-system/src/main/java/org/jeecg/modules/system/service/ISysUserService.java

@@ -25,97 +25,107 @@ import java.util.Set;
  * @since 2018-12-20
  */
 public interface ISysUserService extends IService<SysUser> {
-	List<SysUserVo> getUserListByCompany(String companyId);
-
-	List<SysUser> getUserListByRoleId(String roleId);
-
-	List<SysUserVo> getAllSales();
-
-	List<SysUserVo> getAllSalesByCompanyId(String companyId);
-	/**
-	 * 重置密码
-	 *
-	 * @param username
-	 * @param oldpassword
-	 * @param newpassword
-	 * @param confirmpassword
-	 * @return
-	 */
-	public Result<?> resetPassword(String username, String oldpassword, String newpassword, String confirmpassword);
-
-	/**
-	 * 修改密码
-	 *
-	 * @param sysUser
-	 * @return
-	 */
-	public Result<?> changePassword(SysUser sysUser);
-
-	/**
-	 * 删除用户
-	 * @param userId
-	 * @return
-	 */
-	public boolean deleteUser(String userId);
-
-	/**
-	 * 批量删除用户
-	 * @param userIds
-	 * @return
-	 */
-	public boolean deleteBatchUsers(String userIds);
-
-	public SysUser getUserByName(String username);
-
-	/**
-	 * 添加用户和用户角色关系
-	 * @param user
-	 * @param roles
-	 */
-	public void addUserWithRole(SysUser user,String roles);
-
-
-	/**
-	 * 修改用户和用户角色关系
-	 * @param user
-	 * @param roles
-	 */
-	public void editUserWithRole(SysUser user,String roles);
-
-	/**
-	 * 获取用户的授权角色
-	 * @param username
-	 * @return
-	 */
-	public List<String> getRole(String username);
-
-	/**
-	  * 查询用户信息包括 部门信息
-	 * @param username
-	 * @return
-	 */
-	public SysUserCacheInfo getCacheUser(String username);
-
-	/**
-	 * 根据部门Id查询
-	 * @param
-	 * @return
-	 */
-	public IPage<SysUser> getUserByDepId(Page<SysUser> page, String departId, String username);
-
-	/**
-	 * 根据部门Ids查询
-	 * @param
-	 * @return
-	 */
-	public IPage<SysUser> getUserByDepIds(Page<SysUser> page, List<String> departIds, String username);
-
-	/**
-	 * 根据 userIds查询,查询用户所属部门的名称(多个部门名逗号隔开)
-	 * @param
-	 * @return
-	 */
-	public Map<String,String> getDepNamesByUserIds(List<String> userIds);
+    List<SysUserVo> getUserListByCompany(String companyId,String userName);
+
+    List<SysUser> getUserListByRoleId(String roleId);
+
+    List<SysUserVo> getAllSales();
+
+    List<SysUserVo> getAllSalesByCompanyId(String companyId);
+
+    /**
+     * 重置密码
+     *
+     * @param username
+     * @param oldpassword
+     * @param newpassword
+     * @param confirmpassword
+     * @return
+     */
+    public Result<?> resetPassword(String username, String oldpassword, String newpassword, String confirmpassword);
+
+    /**
+     * 修改密码
+     *
+     * @param sysUser
+     * @return
+     */
+    public Result<?> changePassword(SysUser sysUser);
+
+    /**
+     * 删除用户
+     *
+     * @param userId
+     * @return
+     */
+    public boolean deleteUser(String userId);
+
+    /**
+     * 批量删除用户
+     *
+     * @param userIds
+     * @return
+     */
+    public boolean deleteBatchUsers(String userIds);
+
+    public SysUser getUserByName(String username);
+
+    /**
+     * 添加用户和用户角色关系
+     *
+     * @param user
+     * @param roles
+     */
+    public void addUserWithRole(SysUser user, String roles);
+
+
+    /**
+     * 修改用户和用户角色关系
+     *
+     * @param user
+     * @param roles
+     */
+    public void editUserWithRole(SysUser user, String roles);
+
+    /**
+     * 获取用户的授权角色
+     *
+     * @param username
+     * @return
+     */
+    public List<String> getRole(String username);
+
+    /**
+     * 查询用户信息包括 部门信息
+     *
+     * @param username
+     * @return
+     */
+    public SysUserCacheInfo getCacheUser(String username);
+
+    /**
+     * 根据部门Id查询
+     *
+     * @param
+     * @return
+     */
+    public IPage<SysUser> getUserByDepId(Page<SysUser> page, String departId, String username);
+
+    /**
+     * 根据部门Ids查询
+     *
+     * @param
+     * @return
+     */
+    public IPage<SysUser> getUserByDepIds(Page<SysUser> page, List<String> departIds, String username);
+
+    /**
+     * 根据 userIds查询,查询用户所属部门的名称(多个部门名逗号隔开)
+     *
+     * @param
+     * @return
+     */
+    public Map<String, String> getDepNamesByUserIds(List<String> userIds);
 
     /**
      * 根据部门 Id 和 QueryWrapper 查询
@@ -127,98 +137,105 @@ public interface ISysUserService extends IService<SysUser> {
      */
     public IPage<SysUser> getUserByDepartIdAndQueryWrapper(Page<SysUser> page, String departId, QueryWrapper<SysUser> queryWrapper);
 
-	/**
-	 * 根据 orgCode 查询用户,包括子部门下的用户
-	 *
-	 * @param orgCode
-	 * @param userParams 用户查询条件,可为空
-	 * @param page 分页参数
-	 * @return
-	 */
-	IPage<SysUserSysDepartModel> queryUserByOrgCode(String orgCode, SysUser userParams, IPage page);
-	Map<String, Object> queryRoleCode(String userId);
-	/**
-	 * 根据角色Id查询
-	 * @param
-	 * @return
-	 */
-	public IPage<SysUser> getUserByRoleId(Page<SysUser> page,String roleId, String username);
-
-	/**
-	 * 通过用户名获取用户角色集合
-	 *
-	 * @param username 用户名
-	 * @return 角色集合
-	 */
-	Set<String> getUserRolesSet(String username);
-
-	/**
-	 * 通过用户名获取用户权限集合
-	 *
-	 * @param username 用户名
-	 * @return 权限集合
-	 */
-	Set<String> getUserPermissionsSet(String username);
-
-	/**
-	 * 根据用户名设置部门ID
-	 * @param username
-	 * @param orgCode
-	 */
-	void updateUserDepart(String username,String orgCode);
-
-	/**
-	 * 根据手机号获取用户名和密码
-	 */
-	public SysUser getUserByPhone(String phone);
-
-
-	/**
-	 * 根据邮箱获取用户
-	 */
-	public SysUser getUserByEmail(String email);
-
-
-	/**
-	 * 添加用户和用户部门关系
-	 * @param user
-	 * @param selectedParts
-	 */
-	void addUserWithDepart(SysUser user, String selectedParts);
-
-	/**
-	 * 编辑用户和用户部门关系
-	 * @param user
-	 * @param departs
-	 */
-	void editUserWithDepart(SysUser user, String departs);
-
-	/**
-	   * 校验用户是否有效
-	 * @param sysUser
-	 * @return
-	 */
-	Result checkUserIsEffective(SysUser sysUser);
-
-	/**
-	 * 查询被逻辑删除的用户
-	 */
-	List<SysUser> queryLogicDeleted();
-
-	/**
-	 * 查询被逻辑删除的用户(可拼装查询条件)
-	 */
-	List<SysUser> queryLogicDeleted(LambdaQueryWrapper<SysUser> wrapper);
-
-	/**
-	 * 还原被逻辑删除的用户
-	 */
-	boolean revertLogicDeleted(List<String> userIds, SysUser updateEntity);
-
-	/**
-	 * 彻底删除被逻辑删除的用户
-	 */
-	boolean removeLogicDeleted(List<String> userIds);
+    /**
+     * 根据 orgCode 查询用户,包括子部门下的用户
+     *
+     * @param orgCode
+     * @param userParams 用户查询条件,可为空
+     * @param page       分页参数
+     * @return
+     */
+    IPage<SysUserSysDepartModel> queryUserByOrgCode(String orgCode, SysUser userParams, IPage page);
+
+    Map<String, Object> queryRoleCode(String userId);
+
+    /**
+     * 根据角色Id查询
+     *
+     * @param
+     * @return
+     */
+    public IPage<SysUser> getUserByRoleId(Page<SysUser> page, String roleId, String username);
+
+    /**
+     * 通过用户名获取用户角色集合
+     *
+     * @param username 用户名
+     * @return 角色集合
+     */
+    Set<String> getUserRolesSet(String username);
+
+    /**
+     * 通过用户名获取用户权限集合
+     *
+     * @param username 用户名
+     * @return 权限集合
+     */
+    Set<String> getUserPermissionsSet(String username);
+
+    /**
+     * 根据用户名设置部门ID
+     *
+     * @param username
+     * @param orgCode
+     */
+    void updateUserDepart(String username, String orgCode);
+
+    /**
+     * 根据手机号获取用户名和密码
+     */
+    public SysUser getUserByPhone(String phone);
+
+
+    /**
+     * 根据邮箱获取用户
+     */
+    public SysUser getUserByEmail(String email);
+
+
+    /**
+     * 添加用户和用户部门关系
+     *
+     * @param user
+     * @param selectedParts
+     */
+    void addUserWithDepart(SysUser user, String selectedParts);
+
+    /**
+     * 编辑用户和用户部门关系
+     *
+     * @param user
+     * @param departs
+     */
+    void editUserWithDepart(SysUser user, String departs);
+
+    /**
+     * 校验用户是否有效
+     *
+     * @param sysUser
+     * @return
+     */
+    Result checkUserIsEffective(SysUser sysUser);
+
+    /**
+     * 查询被逻辑删除的用户
+     */
+    List<SysUser> queryLogicDeleted();
+
+    /**
+     * 查询被逻辑删除的用户(可拼装查询条件)
+     */
+    List<SysUser> queryLogicDeleted(LambdaQueryWrapper<SysUser> wrapper);
+
+    /**
+     * 还原被逻辑删除的用户
+     */
+    boolean revertLogicDeleted(List<String> userIds, SysUser updateEntity);
+
+    /**
+     * 彻底删除被逻辑删除的用户
+     */
+    boolean removeLogicDeleted(List<String> userIds);
 
     /**
      * 更新手机号、邮箱空字符串为 null
@@ -226,18 +243,20 @@ public interface ISysUserService extends IService<SysUser> {
     @Transactional(rollbackFor = Exception.class)
     boolean updateNullPhoneEmail();
 
-	/**
-	 * 保存第三方用户信息
-	 * @param sysUser
-	 */
-	void saveThirdUser(SysUser sysUser);
+    /**
+     * 保存第三方用户信息
+     *
+     * @param sysUser
+     */
+    void saveThirdUser(SysUser sysUser);
 
-	/**
-	 * 根据部门Ids查询
-	 * @param
-	 * @return
-	 */
-	List<SysUser> queryByDepIds(List<String> departIds, String username);
+    /**
+     * 根据部门Ids查询
+     *
+     * @param
+     * @return
+     */
+    List<SysUser> queryByDepIds(List<String> departIds, String username);
 
-	List<SysUserVo> getAllUser();
+    List<SysUserVo> getAllUser(String userName);
 }

+ 361 - 356
jeecg-boot-module-system/src/main/java/org/jeecg/modules/system/service/impl/SysUserServiceImpl.java

@@ -44,51 +44,54 @@ import java.util.stream.Collectors;
 @Slf4j
 public class SysUserServiceImpl extends ServiceImpl<SysUserMapper, SysUser> implements ISysUserService {
 
-	@Autowired
-	private SysUserMapper userMapper;
-	@Autowired
-	private SysPermissionMapper sysPermissionMapper;
-	@Autowired
-	private SysUserRoleMapper sysUserRoleMapper;
-	@Autowired
-	private SysUserDepartMapper sysUserDepartMapper;
-	@Autowired
-	private ISysBaseApi sysBaseAPI;
-	@Autowired
-	private SysDepartMapper sysDepartMapper;
-	@Autowired
-	private SysRoleMapper sysRoleMapper;
-	@Autowired
-	private SysDepartRoleUserMapper departRoleUserMapper;
-	@Autowired
-	private SysDepartRoleMapper sysDepartRoleMapper;
-	@Override
-	public Map<String, Object> queryRoleCode(String userId) {
-		return userMapper.queryRoleCode(userId);
-	}
-	@Override
-	public List<SysUserVo> getUserListByCompany(String companyId) {
-		return userMapper.getUserListByCompany(companyId);
-	}
-
-	@Override
-	public List<SysUser> getUserListByRoleId(String roleId) {
-		Page<SysUser> page = new Page<>();
-		page.setSize(10000);
-		IPage<SysUser> userPage = this.getUserByRoleId(page, roleId, null);
-		return userPage.getRecords();
-	}
-
-	@Override
-	public List<SysUserVo> getAllSales() {
-		return userMapper.getAllSale();
-	}
-
-	@Override
-	public List<SysUserVo> getAllSalesByCompanyId(String companyId) {
-		return userMapper.getAllSalesByCompanyId(companyId);
-
-	}
+    @Autowired
+    private SysUserMapper userMapper;
+    @Autowired
+    private SysPermissionMapper sysPermissionMapper;
+    @Autowired
+    private SysUserRoleMapper sysUserRoleMapper;
+    @Autowired
+    private SysUserDepartMapper sysUserDepartMapper;
+    @Autowired
+    private ISysBaseApi sysBaseAPI;
+    @Autowired
+    private SysDepartMapper sysDepartMapper;
+    @Autowired
+    private SysRoleMapper sysRoleMapper;
+    @Autowired
+    private SysDepartRoleUserMapper departRoleUserMapper;
+    @Autowired
+    private SysDepartRoleMapper sysDepartRoleMapper;
+
+    @Override
+    public Map<String, Object> queryRoleCode(String userId) {
+        return userMapper.queryRoleCode(userId);
+    }
+
+    @Override
+    public List<SysUserVo> getUserListByCompany(String companyId, String userName) {
+        return userMapper.getUserListByCompany(companyId, userName);
+    }
+
+    @Override
+    public List<SysUser> getUserListByRoleId(String roleId) {
+        Page<SysUser> page = new Page<>();
+        page.setSize(10000);
+        IPage<SysUser> userPage = this.getUserByRoleId(page, roleId, null);
+        return userPage.getRecords();
+    }
+
+    @Override
+    public List<SysUserVo> getAllSales() {
+        return userMapper.getAllSale();
+    }
+
+    @Override
+    public List<SysUserVo> getAllSalesByCompanyId(String companyId) {
+        return userMapper.getAllSalesByCompanyId(companyId);
+
+    }
+
     @Override
     @CacheEvict(value = {CacheConstant.SYS_USERS_CACHE}, allEntries = true)
     public Result<?> resetPassword(String username, String oldpassword, String newpassword, String confirmpassword) {
@@ -121,323 +124,325 @@ public class SysUserServiceImpl extends ServiceImpl<SysUserMapper, SysUser> impl
     }
 
     @Override
-    @CacheEvict(value={CacheConstant.SYS_USERS_CACHE}, allEntries=true)
-	@Transactional(rollbackFor = Exception.class)
-	public boolean deleteUser(String userId) {
-		//1.删除用户
-		this.removeById(userId);
-		return false;
-	}
-
-	@Override
-    @CacheEvict(value={CacheConstant.SYS_USERS_CACHE}, allEntries=true)
-	@Transactional(rollbackFor = Exception.class)
-	public boolean deleteBatchUsers(String userIds) {
-		//1.删除用户
-		this.removeByIds(Arrays.asList(userIds.split(",")));
-		return false;
-	}
-
-	@Override
-	public SysUser getUserByName(String username) {
-		return userMapper.getUserByName(username);
-	}
-
-
-	@Override
-	@Transactional
-	public void addUserWithRole(SysUser user, String roles) {
-		this.save(user);
-		if(oConvertUtils.isNotEmpty(roles)) {
-			String[] arr = roles.split(",");
-			for (String roleId : arr) {
-				SysUserRole userRole = new SysUserRole(user.getId(), roleId);
-				sysUserRoleMapper.insert(userRole);
-			}
-		}
-	}
-
-	@Override
-	@CacheEvict(value= {CacheConstant.SYS_USERS_CACHE}, allEntries=true)
-	@Transactional
-	public void editUserWithRole(SysUser user, String roles) {
-		this.updateById(user);
-		//先删后加
-		sysUserRoleMapper.delete(new QueryWrapper<SysUserRole>().lambda().eq(SysUserRole::getUserId, user.getId()));
-		if(oConvertUtils.isNotEmpty(roles)) {
-			String[] arr = roles.split(",");
-			for (String roleId : arr) {
-				SysUserRole userRole = new SysUserRole(user.getId(), roleId);
-				sysUserRoleMapper.insert(userRole);
-			}
-		}
-	}
-
-
-	@Override
-	public List<String> getRole(String username) {
-		return sysUserRoleMapper.getRoleByUserName(username);
-	}
-
-	/**
-	 * 通过用户名获取用户角色集合
-	 * @param username 用户名
+    @CacheEvict(value = {CacheConstant.SYS_USERS_CACHE}, allEntries = true)
+    @Transactional(rollbackFor = Exception.class)
+    public boolean deleteUser(String userId) {
+        //1.删除用户
+        this.removeById(userId);
+        return false;
+    }
+
+    @Override
+    @CacheEvict(value = {CacheConstant.SYS_USERS_CACHE}, allEntries = true)
+    @Transactional(rollbackFor = Exception.class)
+    public boolean deleteBatchUsers(String userIds) {
+        //1.删除用户
+        this.removeByIds(Arrays.asList(userIds.split(",")));
+        return false;
+    }
+
+    @Override
+    public SysUser getUserByName(String username) {
+        return userMapper.getUserByName(username);
+    }
+
+
+    @Override
+    @Transactional
+    public void addUserWithRole(SysUser user, String roles) {
+        this.save(user);
+        if (oConvertUtils.isNotEmpty(roles)) {
+            String[] arr = roles.split(",");
+            for (String roleId : arr) {
+                SysUserRole userRole = new SysUserRole(user.getId(), roleId);
+                sysUserRoleMapper.insert(userRole);
+            }
+        }
+    }
+
+    @Override
+    @CacheEvict(value = {CacheConstant.SYS_USERS_CACHE}, allEntries = true)
+    @Transactional
+    public void editUserWithRole(SysUser user, String roles) {
+        this.updateById(user);
+        //先删后加
+        sysUserRoleMapper.delete(new QueryWrapper<SysUserRole>().lambda().eq(SysUserRole::getUserId, user.getId()));
+        if (oConvertUtils.isNotEmpty(roles)) {
+            String[] arr = roles.split(",");
+            for (String roleId : arr) {
+                SysUserRole userRole = new SysUserRole(user.getId(), roleId);
+                sysUserRoleMapper.insert(userRole);
+            }
+        }
+    }
+
+
+    @Override
+    public List<String> getRole(String username) {
+        return sysUserRoleMapper.getRoleByUserName(username);
+    }
+
+    /**
+     * 通过用户名获取用户角色集合
+     *
+     * @param username 用户名
      * @return 角色集合
-	 */
-	@Override
-	public Set<String> getUserRolesSet(String username) {
-		// 查询用户拥有的角色集合
-		List<String> roles = sysUserRoleMapper.getRoleByUserName(username);
-		log.info("-------通过数据库读取用户拥有的角色Rules------username: " + username + ",Roles size: " + (roles == null ? 0 : roles.size()));
-		return new HashSet<>(roles);
-	}
-
-	/**
-	 * 通过用户名获取用户权限集合
-	 *
-	 * @param username 用户名
-	 * @return 权限集合
-	 */
-	@Override
-	public Set<String> getUserPermissionsSet(String username) {
-		Set<String> permissionSet = new HashSet<>();
-		List<SysPermission> permissionList = sysPermissionMapper.queryByUser(username);
-		for (SysPermission po : permissionList) {
+     */
+    @Override
+    public Set<String> getUserRolesSet(String username) {
+        // 查询用户拥有的角色集合
+        List<String> roles = sysUserRoleMapper.getRoleByUserName(username);
+        log.info("-------通过数据库读取用户拥有的角色Rules------username: " + username + ",Roles size: " + (roles == null ? 0 : roles.size()));
+        return new HashSet<>(roles);
+    }
+
+    /**
+     * 通过用户名获取用户权限集合
+     *
+     * @param username 用户名
+     * @return 权限集合
+     */
+    @Override
+    public Set<String> getUserPermissionsSet(String username) {
+        Set<String> permissionSet = new HashSet<>();
+        List<SysPermission> permissionList = sysPermissionMapper.queryByUser(username);
+        for (SysPermission po : permissionList) {
 //			// TODO URL规则有问题?
 //			if (oConvertUtils.isNotEmpty(po.getUrl())) {
 //				permissionSet.add(po.getUrl());
 //			}
-			if (oConvertUtils.isNotEmpty(po.getPerms())) {
-				permissionSet.add(po.getPerms());
-			}
-		}
-		log.info("-------通过数据库读取用户拥有的权限Perms------username: "+ username+",Perms size: "+ (permissionSet==null?0:permissionSet.size()) );
-		return permissionSet;
-	}
-
-	@Override
-	public SysUserCacheInfo getCacheUser(String username) {
-		SysUserCacheInfo info = new SysUserCacheInfo();
-		info.setOneDepart(true);
+            if (oConvertUtils.isNotEmpty(po.getPerms())) {
+                permissionSet.add(po.getPerms());
+            }
+        }
+        log.info("-------通过数据库读取用户拥有的权限Perms------username: " + username + ",Perms size: " + (permissionSet == null ? 0 : permissionSet.size()));
+        return permissionSet;
+    }
+
+    @Override
+    public SysUserCacheInfo getCacheUser(String username) {
+        SysUserCacheInfo info = new SysUserCacheInfo();
+        info.setOneDepart(true);
 //		SysUser user = userMapper.getUserByName(username);
 //		info.setSysUserCode(user.getUsername());
 //		info.setSysUserName(user.getRealname());
 
 
-		LoginUser user = sysBaseAPI.getUserByName(username);
-		if(user!=null) {
-			info.setSysUserCode(user.getUsername());
-			info.setSysUserName(user.getRealname());
-			info.setSysOrgCode(user.getOrgCode());
-		}
-
-		//多部门支持in查询
-		List<SysDepart> list = sysDepartMapper.queryUserDeparts(user.getId());
-		List<String> sysMultiOrgCode = new ArrayList<String>();
-		if(list==null || list.size()==0) {
-			//当前用户无部门
-			//sysMultiOrgCode.add("0");
-		}else if(list.size()==1) {
-			sysMultiOrgCode.add(list.get(0).getOrgCode());
-		}else {
-			info.setOneDepart(false);
-			for (SysDepart dpt : list) {
-				sysMultiOrgCode.add(dpt.getOrgCode());
-			}
-		}
-		info.setSysMultiOrgCode(sysMultiOrgCode);
-
-		return info;
-	}
-
-	// 根据部门Id查询
-	@Override
-	public IPage<SysUser> getUserByDepId(Page<SysUser> page, String departId,String username) {
-		return userMapper.getUserByDepId(page, departId,username);
-	}
-
-	@Override
-	public IPage<SysUser> getUserByDepIds(Page<SysUser> page, List<String> departIds, String username) {
-		return userMapper.getUserByDepIds(page, departIds,username);
-	}
-
-	@Override
-	public List<SysUserVo> getAllUser() {
-		return userMapper.getAllUser();
-	}
-
-	@Override
-	public Map<String, String> getDepNamesByUserIds(List<String> userIds) {
-		List<SysUserDepVo> list = this.baseMapper.getDepNamesByUserIds(userIds);
-		Map<String, String> res = new HashMap<String, String>();
-		list.forEach(item -> {
-					if (res.get(item.getUserId()) == null) {
-						res.put(item.getUserId(), item.getDepartName());
-					} else {
-						res.put(item.getUserId(), res.get(item.getUserId()) + "," + item.getDepartName());
-					}
-				}
-		);
-		return res;
-	}
-
-	@Override
-	public IPage<SysUser> getUserByDepartIdAndQueryWrapper(Page<SysUser> page, String departId, QueryWrapper<SysUser> queryWrapper) {
-		LambdaQueryWrapper<SysUser> lambdaQueryWrapper = queryWrapper.lambda();
-
-		lambdaQueryWrapper.eq(SysUser::getDelFlag, "0");
+        LoginUser user = sysBaseAPI.getUserByName(username);
+        if (user != null) {
+            info.setSysUserCode(user.getUsername());
+            info.setSysUserName(user.getRealname());
+            info.setSysOrgCode(user.getOrgCode());
+        }
+
+        //多部门支持in查询
+        List<SysDepart> list = sysDepartMapper.queryUserDeparts(user.getId());
+        List<String> sysMultiOrgCode = new ArrayList<String>();
+        if (list == null || list.size() == 0) {
+            //当前用户无部门
+            //sysMultiOrgCode.add("0");
+        } else if (list.size() == 1) {
+            sysMultiOrgCode.add(list.get(0).getOrgCode());
+        } else {
+            info.setOneDepart(false);
+            for (SysDepart dpt : list) {
+                sysMultiOrgCode.add(dpt.getOrgCode());
+            }
+        }
+        info.setSysMultiOrgCode(sysMultiOrgCode);
+
+        return info;
+    }
+
+    // 根据部门Id查询
+    @Override
+    public IPage<SysUser> getUserByDepId(Page<SysUser> page, String departId, String username) {
+        return userMapper.getUserByDepId(page, departId, username);
+    }
+
+    @Override
+    public IPage<SysUser> getUserByDepIds(Page<SysUser> page, List<String> departIds, String username) {
+        return userMapper.getUserByDepIds(page, departIds, username);
+    }
+
+    @Override
+    public List<SysUserVo> getAllUser(String userName) {
+        return userMapper.getAllUser(userName);
+    }
+
+    @Override
+    public Map<String, String> getDepNamesByUserIds(List<String> userIds) {
+        List<SysUserDepVo> list = this.baseMapper.getDepNamesByUserIds(userIds);
+        Map<String, String> res = new HashMap<String, String>();
+        list.forEach(item -> {
+                    if (res.get(item.getUserId()) == null) {
+                        res.put(item.getUserId(), item.getDepartName());
+                    } else {
+                        res.put(item.getUserId(), res.get(item.getUserId()) + "," + item.getDepartName());
+                    }
+                }
+        );
+        return res;
+    }
+
+    @Override
+    public IPage<SysUser> getUserByDepartIdAndQueryWrapper(Page<SysUser> page, String departId, QueryWrapper<SysUser> queryWrapper) {
+        LambdaQueryWrapper<SysUser> lambdaQueryWrapper = queryWrapper.lambda();
+
+        lambdaQueryWrapper.eq(SysUser::getDelFlag, "0");
         lambdaQueryWrapper.inSql(SysUser::getId, "SELECT user_id FROM sys_user_depart WHERE dep_id = '" + departId + "'");
 
         return userMapper.selectPage(page, lambdaQueryWrapper);
-	}
+    }
 
-	@Override
-	public IPage<SysUserSysDepartModel> queryUserByOrgCode(String orgCode, SysUser userParams, IPage page) {
-		List<SysUserSysDepartModel> list = baseMapper.getUserByOrgCode(page, orgCode, userParams);
-		Integer total = baseMapper.getUserByOrgCodeTotal(orgCode, userParams);
+    @Override
+    public IPage<SysUserSysDepartModel> queryUserByOrgCode(String orgCode, SysUser userParams, IPage page) {
+        List<SysUserSysDepartModel> list = baseMapper.getUserByOrgCode(page, orgCode, userParams);
+        Integer total = baseMapper.getUserByOrgCodeTotal(orgCode, userParams);
 
-		IPage<SysUserSysDepartModel> result = new Page<>(page.getCurrent(), page.getSize(), total);
-		result.setRecords(list);
+        IPage<SysUserSysDepartModel> result = new Page<>(page.getCurrent(), page.getSize(), total);
+        result.setRecords(list);
 
-		return result;
-	}
+        return result;
+    }
 
-	// 根据角色Id查询
-	@Override
-	public IPage<SysUser> getUserByRoleId(Page<SysUser> page, String roleId, String username) {
-		return userMapper.getUserByRoleId(page,roleId,username);
-	}
+    // 根据角色Id查询
+    @Override
+    public IPage<SysUser> getUserByRoleId(Page<SysUser> page, String roleId, String username) {
+        return userMapper.getUserByRoleId(page, roleId, username);
+    }
 
 
-	@Override
-	@CacheEvict(value= {CacheConstant.SYS_USERS_CACHE}, key="#username")
-	public void updateUserDepart(String username,String orgCode) {
-		baseMapper.updateUserDepart(username, orgCode);
-	}
+    @Override
+    @CacheEvict(value = {CacheConstant.SYS_USERS_CACHE}, key = "#username")
+    public void updateUserDepart(String username, String orgCode) {
+        baseMapper.updateUserDepart(username, orgCode);
+    }
 
 
-	@Override
-	public SysUser getUserByPhone(String phone) {
-		return userMapper.getUserByPhone(phone);
-	}
+    @Override
+    public SysUser getUserByPhone(String phone) {
+        return userMapper.getUserByPhone(phone);
+    }
 
 
-	@Override
-	public SysUser getUserByEmail(String email) {
-		return userMapper.getUserByEmail(email);
-	}
+    @Override
+    public SysUser getUserByEmail(String email) {
+        return userMapper.getUserByEmail(email);
+    }
 
-	@Override
-	@Transactional
-	public void addUserWithDepart(SysUser user, String selectedParts) {
+    @Override
+    @Transactional
+    public void addUserWithDepart(SysUser user, String selectedParts) {
 //		this.save(user);  //保存角色的时候已经添加过一次了
-		if(oConvertUtils.isNotEmpty(selectedParts)) {
-			String[] arr = selectedParts.split(",");
-			for (String deaprtId : arr) {
-				SysUserDepart userDeaprt = new SysUserDepart(user.getId(), deaprtId);
-				sysUserDepartMapper.insert(userDeaprt);
-			}
-		}
-	}
-
-
-	@Override
-	@Transactional(rollbackFor = Exception.class)
-	@CacheEvict(value={CacheConstant.SYS_USERS_CACHE}, allEntries=true)
-	public void editUserWithDepart(SysUser user, String departs) {
-		this.updateById(user);  //更新角色的时候已经更新了一次了,可以再跟新一次
-		String[] arr = {};
-		if(oConvertUtils.isNotEmpty(departs)){
-			arr = departs.split(",");
-		}
-		//查询已关联部门
-		List<SysUserDepart> userDepartList = sysUserDepartMapper.selectList(new QueryWrapper<SysUserDepart>().lambda().eq(SysUserDepart::getUserId, user.getId()));
-		if(userDepartList != null && userDepartList.size()>0){
-			for(SysUserDepart depart : userDepartList ){
-				//修改已关联部门删除部门用户角色关系
-				if(!Arrays.asList(arr).contains(depart.getDepId())){
-					List<SysDepartRole> sysDepartRoleList = sysDepartRoleMapper.selectList(
-							new QueryWrapper<SysDepartRole>().lambda().eq(SysDepartRole::getDepartId,depart.getDepId()));
-					List<String> roleIds = sysDepartRoleList.stream().map(SysDepartRole::getId).collect(Collectors.toList());
-					if(roleIds != null && roleIds.size()>0){
-						departRoleUserMapper.delete(new QueryWrapper<SysDepartRoleUser>().lambda().eq(SysDepartRoleUser::getUserId, user.getId())
-								.in(SysDepartRoleUser::getDroleId,roleIds));
-					}
-				}
-			}
-		}
-		//先删后加
-		sysUserDepartMapper.delete(new QueryWrapper<SysUserDepart>().lambda().eq(SysUserDepart::getUserId, user.getId()));
-		if(oConvertUtils.isNotEmpty(departs)) {
-			for (String departId : arr) {
-				SysUserDepart userDepart = new SysUserDepart(user.getId(), departId);
-				sysUserDepartMapper.insert(userDepart);
-			}
-		}
-	}
-
-
-	/**
-	   * 校验用户是否有效
-	 * @param sysUser
-	 * @return
-	 */
-	@Override
-	public Result<?> checkUserIsEffective(SysUser sysUser) {
-		Result<?> result = new Result<Object>();
-		//情况1:根据用户信息查询,该用户不存在
-		if (sysUser == null) {
-			result.error500("该用户不存在,请注册");
-			sysBaseAPI.addLog("用户登录失败,用户不存在!", CommonConstant.LOG_TYPE_1, null);
-			return result;
-		}
-		//情况2:根据用户信息查询,该用户已注销
-		if (CommonConstant.DEL_FLAG_1.toString().equals(sysUser.getDelFlag())) {
-			sysBaseAPI.addLog("用户登录失败,用户名:" + sysUser.getUsername() + "已注销!", CommonConstant.LOG_TYPE_1, null);
-			result.error500("该用户已注销");
-			return result;
-		}
-		//情况3:根据用户信息查询,该用户已冻结
-		if (CommonConstant.USER_FREEZE.equals(sysUser.getStatus())) {
-			sysBaseAPI.addLog("用户登录失败,用户名:" + sysUser.getUsername() + "已冻结!", CommonConstant.LOG_TYPE_1, null);
-			result.error500("该用户已冻结");
-			return result;
-		}
-		return result;
-	}
-
-	@Override
-	public List<SysUser> queryLogicDeleted() {
-		return this.queryLogicDeleted(null);
-	}
-
-	@Override
-	public List<SysUser> queryLogicDeleted(LambdaQueryWrapper<SysUser> wrapper) {
-		if (wrapper == null) {
-			wrapper = new LambdaQueryWrapper<>();
-		}
-		wrapper.eq(SysUser::getDelFlag, "1");
-		return userMapper.selectLogicDeleted(wrapper);
-	}
-
-	@Override
-	public boolean revertLogicDeleted(List<String> userIds, SysUser updateEntity) {
-		String ids = String.format("'%s'", String.join("','", userIds));
-		return userMapper.revertLogicDeleted(ids, updateEntity) > 0;
-	}
-
-	@Override
-	@Transactional(rollbackFor = Exception.class)
-	public boolean removeLogicDeleted(List<String> userIds) {
-		String ids = String.format("'%s'", String.join("','", userIds));
-		// 1. 删除用户
-		int line = userMapper.deleteLogicDeleted(ids);
-		// 2. 删除用户部门关系
-		line += sysUserDepartMapper.delete(new LambdaQueryWrapper<SysUserDepart>().in(SysUserDepart::getUserId, userIds));
-		//3. 删除用户角色关系
-		line += sysUserRoleMapper.delete(new LambdaQueryWrapper<SysUserRole>().in(SysUserRole::getUserId, userIds));
-		return line != 0;
-	}
+        if (oConvertUtils.isNotEmpty(selectedParts)) {
+            String[] arr = selectedParts.split(",");
+            for (String deaprtId : arr) {
+                SysUserDepart userDeaprt = new SysUserDepart(user.getId(), deaprtId);
+                sysUserDepartMapper.insert(userDeaprt);
+            }
+        }
+    }
+
+
+    @Override
+    @Transactional(rollbackFor = Exception.class)
+    @CacheEvict(value = {CacheConstant.SYS_USERS_CACHE}, allEntries = true)
+    public void editUserWithDepart(SysUser user, String departs) {
+        this.updateById(user);  //更新角色的时候已经更新了一次了,可以再跟新一次
+        String[] arr = {};
+        if (oConvertUtils.isNotEmpty(departs)) {
+            arr = departs.split(",");
+        }
+        //查询已关联部门
+        List<SysUserDepart> userDepartList = sysUserDepartMapper.selectList(new QueryWrapper<SysUserDepart>().lambda().eq(SysUserDepart::getUserId, user.getId()));
+        if (userDepartList != null && userDepartList.size() > 0) {
+            for (SysUserDepart depart : userDepartList) {
+                //修改已关联部门删除部门用户角色关系
+                if (!Arrays.asList(arr).contains(depart.getDepId())) {
+                    List<SysDepartRole> sysDepartRoleList = sysDepartRoleMapper.selectList(
+                            new QueryWrapper<SysDepartRole>().lambda().eq(SysDepartRole::getDepartId, depart.getDepId()));
+                    List<String> roleIds = sysDepartRoleList.stream().map(SysDepartRole::getId).collect(Collectors.toList());
+                    if (roleIds != null && roleIds.size() > 0) {
+                        departRoleUserMapper.delete(new QueryWrapper<SysDepartRoleUser>().lambda().eq(SysDepartRoleUser::getUserId, user.getId())
+                                .in(SysDepartRoleUser::getDroleId, roleIds));
+                    }
+                }
+            }
+        }
+        //先删后加
+        sysUserDepartMapper.delete(new QueryWrapper<SysUserDepart>().lambda().eq(SysUserDepart::getUserId, user.getId()));
+        if (oConvertUtils.isNotEmpty(departs)) {
+            for (String departId : arr) {
+                SysUserDepart userDepart = new SysUserDepart(user.getId(), departId);
+                sysUserDepartMapper.insert(userDepart);
+            }
+        }
+    }
+
+
+    /**
+     * 校验用户是否有效
+     *
+     * @param sysUser
+     * @return
+     */
+    @Override
+    public Result<?> checkUserIsEffective(SysUser sysUser) {
+        Result<?> result = new Result<Object>();
+        //情况1:根据用户信息查询,该用户不存在
+        if (sysUser == null) {
+            result.error500("该用户不存在,请注册");
+            sysBaseAPI.addLog("用户登录失败,用户不存在!", CommonConstant.LOG_TYPE_1, null);
+            return result;
+        }
+        //情况2:根据用户信息查询,该用户已注销
+        if (CommonConstant.DEL_FLAG_1.toString().equals(sysUser.getDelFlag())) {
+            sysBaseAPI.addLog("用户登录失败,用户名:" + sysUser.getUsername() + "已注销!", CommonConstant.LOG_TYPE_1, null);
+            result.error500("该用户已注销");
+            return result;
+        }
+        //情况3:根据用户信息查询,该用户已冻结
+        if (CommonConstant.USER_FREEZE.equals(sysUser.getStatus())) {
+            sysBaseAPI.addLog("用户登录失败,用户名:" + sysUser.getUsername() + "已冻结!", CommonConstant.LOG_TYPE_1, null);
+            result.error500("该用户已冻结");
+            return result;
+        }
+        return result;
+    }
+
+    @Override
+    public List<SysUser> queryLogicDeleted() {
+        return this.queryLogicDeleted(null);
+    }
+
+    @Override
+    public List<SysUser> queryLogicDeleted(LambdaQueryWrapper<SysUser> wrapper) {
+        if (wrapper == null) {
+            wrapper = new LambdaQueryWrapper<>();
+        }
+        wrapper.eq(SysUser::getDelFlag, "1");
+        return userMapper.selectLogicDeleted(wrapper);
+    }
+
+    @Override
+    public boolean revertLogicDeleted(List<String> userIds, SysUser updateEntity) {
+        String ids = String.format("'%s'", String.join("','", userIds));
+        return userMapper.revertLogicDeleted(ids, updateEntity) > 0;
+    }
+
+    @Override
+    @Transactional(rollbackFor = Exception.class)
+    public boolean removeLogicDeleted(List<String> userIds) {
+        String ids = String.format("'%s'", String.join("','", userIds));
+        // 1. 删除用户
+        int line = userMapper.deleteLogicDeleted(ids);
+        // 2. 删除用户部门关系
+        line += sysUserDepartMapper.delete(new LambdaQueryWrapper<SysUserDepart>().in(SysUserDepart::getUserId, userIds));
+        //3. 删除用户角色关系
+        line += sysUserRoleMapper.delete(new LambdaQueryWrapper<SysUserRole>().in(SysUserRole::getUserId, userIds));
+        return line != 0;
+    }
 
     @Override
     @Transactional(rollbackFor = Exception.class)
@@ -447,24 +452,24 @@ public class SysUserServiceImpl extends ServiceImpl<SysUserMapper, SysUser> impl
         return true;
     }
 
-	@Override
-	public void saveThirdUser(SysUser sysUser) {
-		//保存用户
-		String userid = UUIDGenerator.generate();
-		sysUser.setId(userid);
-		baseMapper.insert(sysUser);
-		//获取第三方角色
-		SysRole sysRole = sysRoleMapper.selectOne(new LambdaQueryWrapper<SysRole>().eq(SysRole::getRoleCode, "third_role"));
-		//保存用户角色
-		SysUserRole userRole = new SysUserRole();
-		userRole.setRoleId(sysRole.getId());
-		userRole.setUserId(userid);
-		sysUserRoleMapper.insert(userRole);
-	}
-
-	@Override
-	public List<SysUser> queryByDepIds(List<String> departIds, String username) {
-		return userMapper.queryByDepIds(departIds,username);
-	}
+    @Override
+    public void saveThirdUser(SysUser sysUser) {
+        //保存用户
+        String userid = UUIDGenerator.generate();
+        sysUser.setId(userid);
+        baseMapper.insert(sysUser);
+        //获取第三方角色
+        SysRole sysRole = sysRoleMapper.selectOne(new LambdaQueryWrapper<SysRole>().eq(SysRole::getRoleCode, "third_role"));
+        //保存用户角色
+        SysUserRole userRole = new SysUserRole();
+        userRole.setRoleId(sysRole.getId());
+        userRole.setUserId(userid);
+        sysUserRoleMapper.insert(userRole);
+    }
+
+    @Override
+    public List<SysUser> queryByDepIds(List<String> departIds, String username) {
+        return userMapper.queryByDepIds(departIds, username);
+    }
 
 }

+ 3 - 3
module-common/src/main/java/cn/com/ctop/common/module/mapper/SysUserMapper.java

@@ -29,7 +29,7 @@ public interface SysUserMapper extends BaseMapper<SysUser> {
 	 * @param username
 	 * @return
 	 */
-	public SysUser getUserByName(@Param("username") String username);
+	 SysUser getUserByName(@Param("username") String username);
 
 	/**
 	 *  根据部门Id查询用户信息
@@ -144,9 +144,9 @@ public interface SysUserMapper extends BaseMapper<SysUser> {
 	List<SysUser> queryByDepIds(@Param("departIds") List<String> departIds, @Param("username") String username);
 	Map<String, Object> queryRoleCode(@Param("userId") String userId);
 
-	List<SysUserVo> getAllUser();
+	List<SysUserVo> getAllUser(@Param("userName") String userName);
 
-	List<SysUserVo> getUserListByCompany(@Param("companyId") String companyId);
+	List<SysUserVo> getUserListByCompany(@Param("companyId") String companyId,@Param("userName") String userName);
 
 	List<SysUserVo> getAllSale();
 

+ 150 - 144
module-common/src/main/java/cn/com/ctop/common/module/mapper/xml/SysUserMapper.xml

@@ -2,69 +2,70 @@
 <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
 <mapper namespace="cn.com.ctop.common.module.mapper.SysUserMapper">
 
-	<select id="selectAllUser" resultType="cn.com.ctop.common.module.entity.SysUser">
+    <select id="selectAllUser" resultType="cn.com.ctop.common.module.entity.SysUser">
 		select * from  sys_user
 	</select>
 
-	<!-- 根据用户名查询 -->
-	<select id="getUserByName" resultType="cn.com.ctop.common.module.entity.SysUser">
+    <!-- 根据用户名查询 -->
+    <select id="getUserByName" resultType="cn.com.ctop.common.module.entity.SysUser">
 		select * from  sys_user  where username = #{username} and del_flag = 0
 	</select>
 
-	<!-- 根据部门Id查询 -->
-	<select id="getUserByDepId" resultType="cn.com.ctop.common.module.entity.SysUser">
-		select * from sys_user where del_flag = 0 and id in (select user_id from sys_user_depart where dep_id=#{departId})
-		<if test="username!=null and username!=''">
-			and username = #{username}
-		</if>
-	</select>
+    <!-- 根据部门Id查询 -->
+    <select id="getUserByDepId" resultType="cn.com.ctop.common.module.entity.SysUser">
+        select * from sys_user where del_flag = 0 and id in (select user_id from sys_user_depart where
+        dep_id=#{departId})
+        <if test="username!=null and username!=''">
+            and username = #{username}
+        </if>
+    </select>
 
-	<!-- 查询用户的所属部门名称信息 -->
-	<select id="getDepNamesByUserIds" resultType="cn.com.ctop.common.module.vo.SysUserDepVo">
-		select d.depart_name,ud.user_id from sys_user_depart ud,sys_depart d where d.id = ud.dep_id and ud.user_id in
-		<foreach collection="userIds" index="index" item="id" open="(" separator="," close=")">
-			#{id}
-		</foreach>
-	</select>
+    <!-- 查询用户的所属部门名称信息 -->
+    <select id="getDepNamesByUserIds" resultType="cn.com.ctop.common.module.vo.SysUserDepVo">
+        select d.depart_name,ud.user_id from sys_user_depart ud,sys_depart d where d.id = ud.dep_id and ud.user_id in
+        <foreach collection="userIds" index="index" item="id" open="(" separator="," close=")">
+            #{id}
+        </foreach>
+    </select>
 
-	<!-- 通过多个部门IDS,查询部门下的用户信息 -->
-	<select id="getUserByDepIds" resultType="cn.com.ctop.common.module.entity.SysUser">
-		select * from sys_user where del_flag = 0
-		<if test="departIds!=null  and departIds.size()>0">
-			and id in (select user_id from sys_user_depart where dep_id in
-			<foreach collection="departIds" index="index" item="id" open="(" separator="," close=")">
-				#{id}
-			</foreach>
-			)
-		</if>
-		<if test="username!=null and username!=''">
-			and username = #{username}
-		</if>
-	</select>
+    <!-- 通过多个部门IDS,查询部门下的用户信息 -->
+    <select id="getUserByDepIds" resultType="cn.com.ctop.common.module.entity.SysUser">
+        select * from sys_user where del_flag = 0
+        <if test="departIds!=null  and departIds.size()>0">
+            and id in (select user_id from sys_user_depart where dep_id in
+            <foreach collection="departIds" index="index" item="id" open="(" separator="," close=")">
+                #{id}
+            </foreach>
+            )
+        </if>
+        <if test="username!=null and username!=''">
+            and username = #{username}
+        </if>
+    </select>
 
-	<!-- 根据角色Id查询 -->
-	<select id="getUserByRoleId" resultType="cn.com.ctop.common.module.entity.SysUser">
-		select * from sys_user where del_flag = 0 and id in (select user_id from sys_user_role where role_id=#{roleId})
-		<if test="username!=null and username!=''">
-			and username = #{username}
-		</if>
-	</select>
+    <!-- 根据角色Id查询 -->
+    <select id="getUserByRoleId" resultType="cn.com.ctop.common.module.entity.SysUser">
+        select * from sys_user where del_flag = 0 and id in (select user_id from sys_user_role where role_id=#{roleId})
+        <if test="username!=null and username!=''">
+            and username = #{username}
+        </if>
+    </select>
 
-	<!--  修改用户部门code -->
-	<update id="updateUserDepart">
+    <!--  修改用户部门code -->
+    <update id="updateUserDepart">
 		UPDATE sys_user SET org_code = #{orgCode} where username = #{username}
 	</update>
 
-	<!-- 根据手机号查询 -->
-	<select id="getUserByPhone"  resultType="cn.com.ctop.common.module.entity.SysUser">
+    <!-- 根据手机号查询 -->
+    <select id="getUserByPhone" resultType="cn.com.ctop.common.module.entity.SysUser">
 		select * from  sys_user  where phone = #{phone} and del_flag = 0
 	</select>
 
-	<!-- 根据邮箱查询用户信息 -->
-	<select id="getUserByEmail" resultType="cn.com.ctop.common.module.entity.SysUser">
+    <!-- 根据邮箱查询用户信息 -->
+    <select id="getUserByEmail" resultType="cn.com.ctop.common.module.entity.SysUser">
 	select * from  sys_user  where email = #{email} and del_flag = 0
 	</select>
-	<select id="queryRoleCode" parameterType="Object" resultType="java.util.Map">
+    <select id="queryRoleCode" parameterType="Object" resultType="java.util.Map">
 SELECT
    role_code roleCode,
    role_name roleName,
@@ -82,47 +83,54 @@ SELECT
    t1.id = #{userId,jdbcType=VARCHAR}
    )
 </select>
-	<select id="getAllUser" resultType="cn.com.ctop.common.module.vo.SysUserVo">
-      SELECT
-      t1.id userId,
-      t1.username userName,
-      t1.realname realName,
-      (SELECT role_name FROM sys_role WHERE id = t2.role_id ) roleName
-    FROM sys_user t1
-    LEFT JOIN sys_user_role t2 on t1.id = t2.user_id;
-	</select>
-	<!-- SQL片段:getUserByOrgCode 的 FROM 和 WHERE 部分 -->
-	<sql id="getUserByOrgCodeFromSql">
-		FROM
-		sys_depart
-		INNER JOIN sys_user_depart ON sys_user_depart.dep_id = sys_depart.id
-		INNER JOIN sys_user ON sys_user.id = sys_user_depart.user_id
-		WHERE
-		sys_user.del_flag = 0 AND sys_depart.org_code LIKE '${orgCode}%'
-
-		<if test="userParams != null">
-			<if test="userParams.realname != null and userParams.realname != ''">
-				AND sys_user.realname LIKE concat(concat('%',#{userParams.realname}),'%')
-			</if>
-			<if test="userParams.workNo != null and userParams.workNo != ''">
-				AND sys_user.work_no LIKE concat(concat('%',#{userParams.workNo}),'%')
-			</if>
-		</if>
-	</sql>
-	<select id="getUserListByCompany" resultType="cn.com.ctop.common.module.vo.SysUserVo">
-   SELECT
-      t2.id userId,
-      t2.username userName,
-      t2.realname realName,
- (SELECT role_name FROM sys_role WHERE id = t3.role_id ) roleName
-    FROM user_company t1 LEFT JOIN
-    sys_user t2 ON
-    t1.user_id = t2.id
-    LEFT JOIN sys_user_role t3 on t1.user_id = t3.user_id
-    WHERE t1.company_id = #{companyId}
+    <select id="getAllUser" resultType="cn.com.ctop.common.module.vo.SysUserVo">
+        SELECT
+        t1.id userId,
+        t1.username userName,
+        t1.realname realName,
+        (SELECT role_name FROM sys_role WHERE id = t2.role_id ) roleName
+        FROM sys_user t1
+        LEFT JOIN sys_user_role t2 on t1.id = t2.user_id
+        where 1 = 1
+        <if test="userName != null and userName != ''">
+            and t1.realname like concat(concat('%',#{userName}),'%')
+        </if>
     </select>
+    <!-- SQL片段:getUserByOrgCode 的 FROM 和 WHERE 部分 -->
+    <sql id="getUserByOrgCodeFromSql">
+        FROM
+        sys_depart
+        INNER JOIN sys_user_depart ON sys_user_depart.dep_id = sys_depart.id
+        INNER JOIN sys_user ON sys_user.id = sys_user_depart.user_id
+        WHERE
+        sys_user.del_flag = 0 AND sys_depart.org_code LIKE '${orgCode}%'
+
+        <if test="userParams != null">
+            <if test="userParams.realname != null and userParams.realname != ''">
+                AND sys_user.realname LIKE concat(concat('%',#{userParams.realname}),'%')
+            </if>
+            <if test="userParams.workNo != null and userParams.workNo != ''">
+                AND sys_user.work_no LIKE concat(concat('%',#{userParams.workNo}),'%')
+            </if>
+        </if>
+    </sql>
+    <select id="getUserListByCompany" resultType="cn.com.ctop.common.module.vo.SysUserVo">
+        SELECT
+        t2.id userId,
+        t2.username userName,
+        t2.realname realName,
+        (SELECT role_name FROM sys_role WHERE id = t3.role_id ) roleName
+        FROM user_company t1 LEFT JOIN
+        sys_user t2 ON
+        t1.user_id = t2.id
+        LEFT JOIN sys_user_role t3 on t1.user_id = t3.user_id
+        WHERE t1.company_id = #{companyId}
+        <if test="userName != null and userName != ''">
+            and t2.realname like concat(concat('%',#{userName}),'%')
+        </if>
 
-	<select id="getAllSale" resultType="cn.com.ctop.common.module.vo.SysUserVo">
+    </select>
+    <select id="getAllSale" resultType="cn.com.ctop.common.module.vo.SysUserVo">
        SELECT
 	t2.id userId,
 	t2.username userName,
@@ -138,7 +146,7 @@ SELECT
     </select>
 
 
-	<select id="getAllSalesByCompanyId" resultType="cn.com.ctop.common.module.vo.SysUserVo">
+    <select id="getAllSalesByCompanyId" resultType="cn.com.ctop.common.module.vo.SysUserVo">
        SELECT
 	t2.id userId,
 	t2.username userName,
@@ -152,54 +160,53 @@ SELECT
     WHERE t1.company_id = #{companyId}
 	and t4.role_name LIKE '%销售%';
     </select>
+    <!-- 根据 orgCode 查询用户,包括子部门下的用户 -->
+    <select id="getUserByOrgCode" resultType="cn.com.ctop.common.module.model.SysUserSysDepartModel">
+        SELECT
+        sys_user.id AS id,
+        sys_user.realname AS realname,
+        sys_user.work_no AS workNo,
+        sys_user.post AS post,
+        sys_user.telephone AS telephone,
+        sys_user.email AS email,
+        sys_user.phone AS phone,
+        sys_depart.id AS departId,
+        sys_depart.depart_name AS departName
+        <include refid="getUserByOrgCodeFromSql"/>
+        ORDER BY
+        sys_depart.org_code ASC
+    </select>
 
-	<!-- 根据 orgCode 查询用户,包括子部门下的用户 -->
-	<select id="getUserByOrgCode" resultType="cn.com.ctop.common.module.model.SysUserSysDepartModel">
-		SELECT
-			sys_user.id AS id,
-			sys_user.realname AS realname,
-			sys_user.work_no AS workNo,
-			sys_user.post AS post,
-			sys_user.telephone AS telephone,
-			sys_user.email AS email,
-			sys_user.phone AS phone,
-			sys_depart.id AS departId,
-			sys_depart.depart_name AS departName
-		<include refid="getUserByOrgCodeFromSql"/>
-		ORDER BY
-			sys_depart.org_code ASC
-	</select>
-
-	<!-- 查询 getUserByOrgCode 的总数-->
-	<select id="getUserByOrgCodeTotal" resultType="java.lang.Integer">
-		SELECT COUNT(1) <include refid="getUserByOrgCodeFromSql"/>
-	</select>
-
-	<!-- 批量删除角色的与用户关系-->
-	<update id="deleteBathRoleUserRelation">
-		delete from sys_user_role
-		where role_id in
-		<foreach item="id" collection="roleIdArray" open="(" separator="," close=")">
-			#{id}
-		</foreach>
-	</update>
+    <!-- 查询 getUserByOrgCode 的总数-->
+    <select id="getUserByOrgCodeTotal" resultType="java.lang.Integer">
+        SELECT COUNT(1)
+        <include refid="getUserByOrgCodeFromSql"/>
+    </select>
 
-	<!-- 批量删除角色的与权限关系-->
-	<update id="deleteBathRolePermissionRelation">
-		delete from sys_role_permission
-		where role_id in
-		<foreach item="id" collection="roleIdArray" open="(" separator="," close=")">
-			#{id}
-		</foreach>
-	</update>
+    <!-- 批量删除角色的与用户关系-->
+    <update id="deleteBathRoleUserRelation">
+        delete from sys_user_role
+        where role_id in
+        <foreach item="id" collection="roleIdArray" open="(" separator="," close=")">
+            #{id}
+        </foreach>
+    </update>
+    <!-- 批量删除角色的与权限关系-->
+    <update id="deleteBathRolePermissionRelation">
+        delete from sys_role_permission
+        where role_id in
+        <foreach item="id" collection="roleIdArray" open="(" separator="," close=")">
+            #{id}
+        </foreach>
+    </update>
 
-	<!-- 查询被逻辑删除的用户 -->
-	<select id="selectLogicDeleted" resultType="cn.com.ctop.common.module.entity.SysUser">
+    <!-- 查询被逻辑删除的用户 -->
+    <select id="selectLogicDeleted" resultType="cn.com.ctop.common.module.entity.SysUser">
 		SELECT * FROM sys_user ${ew.customSqlSegment}
 	</select>
 
-	<!-- 更新被逻辑删除的用户 -->
-	<update id="revertLogicDeleted">
+    <!-- 更新被逻辑删除的用户 -->
+    <update id="revertLogicDeleted">
 		UPDATE
 			sys_user
 		SET
@@ -211,8 +218,8 @@ SELECT
 			AND id IN (${userIds})
 	</update>
 
-	<!-- 彻底删除被逻辑删除的用户 -->
-	<delete id="deleteLogicDeleted">
+    <!-- 彻底删除被逻辑删除的用户 -->
+    <delete id="deleteLogicDeleted">
 		DELETE FROM sys_user WHERE del_flag = 1 AND id IN (${userIds})
 	</delete>
 
@@ -221,19 +228,18 @@ SELECT
         UPDATE sys_user SET ${fieldName} = NULL WHERE ${fieldName} = ''
     </update>
 
-	<!-- 通过多个部门IDS,查询部门下的用户信息 -->
-	<select id="queryByDepIds" resultType="cn.com.ctop.common.module.entity.SysUser">
-		select * from sys_user where del_flag = 0
-		<if test="departIds!=null  and departIds.size()>0">
-			and id in (select user_id from sys_user_depart where dep_id in
-			<foreach collection="departIds" index="index" item="id" open="(" separator="," close=")">
-				#{id}
-			</foreach>
-			)
-		</if>
-		<if test="username!=null and username!=''">
-			and username != #{username}
-		</if>
-	</select>
-
+    <!-- 通过多个部门IDS,查询部门下的用户信息 -->
+    <select id="queryByDepIds" resultType="cn.com.ctop.common.module.entity.SysUser">
+        select * from sys_user where del_flag = 0
+        <if test="departIds!=null  and departIds.size()>0">
+            and id in (select user_id from sys_user_depart where dep_id in
+            <foreach collection="departIds" index="index" item="id" open="(" separator="," close=")">
+                #{id}
+            </foreach>
+            )
+        </if>
+        <if test="username!=null and username!=''">
+            and username != #{username}
+        </if>
+    </select>
 </mapper>

+ 1 - 3
module-kuaishou/src/main/java/cn/com/ctop/kuaishou/modules/report/mapper/xml/KuaiShouYiCheReportMapper.xml

@@ -18,7 +18,6 @@
         t1.system_type systemType,
         t1.auth_name authName,
         ROUND(sum(t2.charge) / #{disCount},3) charge,
-        sum(t2.charge) charge,
         sum(t2.activation) activation,
         (
         case
@@ -68,7 +67,6 @@
         t1.system_type systemType,
         #{dateDesc} authName,
         ROUND(sum(t2.charge) / #{disCount},3) charge,
-        sum(t2.charge) charge,
         sum(t2.activation) activation,
         (
         case
@@ -84,7 +82,7 @@
         case
         when t1.system_type = 'android'
         then 16
-        when t1.system_type = 'IOS'
+        when t1.system_type = 'ios'
         then 23
         else 0
         end