瀏覽代碼

移动端相关代码调整

wangqiang 1 年之前
父節點
當前提交
d48ed4c5b5

+ 14 - 0
jeeplus-api/jeeplus-system-api/src/main/java/com/jeeplus/sys/service/dto/UserDTO.java

@@ -277,6 +277,7 @@ public class UserDTO extends BaseDTO implements Serializable {
         return roleIdList;
     }
 
+
     /**
      * 设置角色
      *
@@ -332,6 +333,19 @@ public class UserDTO extends BaseDTO implements Serializable {
         }
     }
 
+    /**
+     * 用户拥有的岗位名称字符串, 多个角色名称用','分隔.
+     */
+    public String getPostNames() {
+        List <String> postNames = postDTOList.stream ( ).map ( postDTO -> postDTO.getName ( ) ).collect ( Collectors.toList ( ) );
+        return StrUtil.join ( ",", postNames );
+    }
+
+    public String getPostIds() {
+        List <String> postIds = roleDTOList.stream ( ).map ( postDTO -> postDTO.getId ( ) ).collect ( Collectors.toList ( ) );
+        return StrUtil.join ( ",", postIds );
+    }
+
 
 
     /**

+ 10 - 5
jeeplus-auth/src/main/java/com/jeeplus/auth/controller/LoginController.java

@@ -106,11 +106,16 @@ public class LoginController {
         AuthenticationManager authenticationManager = SpringUtil.getBean ( AuthenticationManager.class );
         SecurityUtils.login ( username, password, authenticationManager ); //登录操作
 
-        /**
-         * 单一登录判断
-         */
-        if ( !userApi.isEnableLogin ( tenantApi.getCurrentTenantId ( ), username ) ) {
-            throw new DisabledException ( ErrorConstants.LOGIN_ERROR_FORBID_LOGGED_IN_ELSEWHERE );
+        String domain = RequestUtils.getHeader ( "domain" );
+        if (domain.contains("ydddl")){
+
+        } else {
+            /**
+             * 单一登录判断
+             */
+            if ( !userApi.isEnableLogin ( tenantApi.getCurrentTenantId ( ), username ) ) {
+                throw new DisabledException ( ErrorConstants.LOGIN_ERROR_FORBID_LOGGED_IN_ELSEWHERE );
+            }
         }
 
         //登录成功,生成token

+ 7 - 0
jeeplus-modules/jeeplus-business/src/main/java/com/jeeplus/business/holiday/mapper/HolidayMapper.java

@@ -16,13 +16,20 @@ import java.util.List;
 @Mapper
 
 public interface HolidayMapper extends BaseMapper<Holiday> {
+
     IPage<HolidayDTO> findPageList(@Param(Constants.WRAPPER) QueryWrapper<HolidayDTO> queryWrapper, Page<HolidayDTO> page);
 
+    @InterceptorIgnore(tenantLine = "true")
     HolidayDTO findById(@Param("id") String id);
 
+    @InterceptorIgnore(tenantLine = "true")
     HolidayDTO findByUserId(@Param("id") String id);
 
     List<HolidayDTO> selectByUserId(@Param("id") String id);
 
+    @InterceptorIgnore(tenantLine = "true")
     void updateStatusById(@Param("status")String status, @Param("id")String id);
+
+    @InterceptorIgnore(tenantLine = "true")
+    void updateByIdForApp(@Param("holiday")Holiday holiday);
 }

+ 15 - 0
jeeplus-modules/jeeplus-business/src/main/java/com/jeeplus/business/holiday/mapper/xml/HolidayMapper.xml

@@ -93,5 +93,20 @@
     <update id="updateStatusById">
         update jy_holiday set status = #{status} where id =#{id}
     </update>
+    <update id="updateByIdForApp">
+        update jy_holiday
+        set
+        update_by_id = #{holiday.updateById},
+        update_time = #{holiday.updateTime},
+        start_day = #{holiday.startDay},
+        begin_time = #{holiday.beginTime},
+        end_day = #{holiday.endDay},
+        end_time = #{holiday.endTime},
+        days = #{holiday.days},
+        type = #{holiday.type},
+        reason = #{holiday.reason},
+        status = #{holiday.status}
+         WHERE id = #{holiday.id}
+    </update>
 
 </mapper>

+ 12 - 1
jeeplus-modules/jeeplus-business/src/main/java/com/jeeplus/business/holiday/service/HolidayService.java

@@ -191,7 +191,7 @@ public class HolidayService {
         holiday.setDays(holidayDTO.getDays());//请假时长
         holiday.setReason(holidayDTO.getReason());//请假原因
         holiday.setStatus(holidayDTO.getStatus());
-        holidayMapper.updateById(holiday);
+        holidayMapper.updateByIdForApp(holiday);
         //修改附件
         if (CollectionUtils.isNotEmpty(holidayDTO.getFiles())){
             List<WorkAttachmentInfo> files = holidayDTO.getFiles();
@@ -271,6 +271,17 @@ public class HolidayService {
         holiday.setDays(holidayDTO.getDays());//请假时长
         holiday.setReason(holidayDTO.getReason());//请假原因
         holiday.setStatus(holidayDTO.getStatus());
+
+        /**
+         * 移动端保存所需
+         */
+        if (StringUtils.isNotBlank(holidayDTO.getUserId())) {
+            holiday.setCreateById(holidayDTO.getUserId());
+            holiday.setUpdateById(holidayDTO.getUserId());
+            //根据用户id查询用户所属的租户id
+            UserDTO dto = SpringUtil.getBean(IUserApi.class).getById(holidayDTO.getUserId());
+            holiday.setTenantId(dto.getTenantDTO().getId());
+        }
         holidayMapper.insert(holiday);
         //保存附件
         List<WorkAttachmentInfo> files = holidayDTO.getFiles();

+ 12 - 0
jeeplus-modules/jeeplus-file/src/main/java/com/jeeplus/file/controller/FileController.java

@@ -65,6 +65,18 @@ public class FileController {
     }
 
     /**
+     * 获取文件网络地址
+     *
+     * @return
+     * @throws IOException
+     * @throws IllegalStateException
+     */
+    @GetMapping("downloadUrl")
+    public String downloadUrl(String uploadPath, String name, HttpServletRequest request, HttpServletResponse response) throws Exception {
+        return accessoryRepository.getURL(uploadPath, name, request, response);
+    }
+
+    /**
      * 上传文件
      *
      * @return

+ 2 - 0
jeeplus-modules/jeeplus-system/src/main/java/com/jeeplus/notify/mapper/NotifyMapper.java

@@ -3,6 +3,7 @@
  */
 package com.jeeplus.notify.mapper;
 
+import com.baomidou.mybatisplus.annotation.InterceptorIgnore;
 import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
 import com.baomidou.mybatisplus.core.mapper.BaseMapper;
 import com.baomidou.mybatisplus.core.metadata.IPage;
@@ -18,6 +19,7 @@ import org.apache.ibatis.annotations.Param;
  * @author jeeplus
  * @version 2021-05-16
  */
+@InterceptorIgnore(tenantLine = "true")
 public interface NotifyMapper extends BaseMapper <Notify> {
 
     /**

+ 2 - 0
jeeplus-modules/jeeplus-system/src/main/java/com/jeeplus/notify/mapper/NotifyRecordMapper.java

@@ -3,6 +3,7 @@
  */
 package com.jeeplus.notify.mapper;
 
+import com.baomidou.mybatisplus.annotation.InterceptorIgnore;
 import com.baomidou.mybatisplus.core.mapper.BaseMapper;
 import com.jeeplus.notify.domain.NotifyRecord;
 import com.jeeplus.notify.service.dto.NotifyRecordDTO;
@@ -16,6 +17,7 @@ import java.util.List;
  * @author jeeplus
  * @version 2021-05-16
  */
+@InterceptorIgnore(tenantLine = "true")
 public interface NotifyRecordMapper extends BaseMapper <NotifyRecord> {
 
     List <NotifyRecordDTO> findListByNotifyId(@Param("notifyId") String notifyId);

+ 26 - 0
jeeplus-modules/jeeplus-system/src/main/java/com/jeeplus/sys/controller/UserController.java

@@ -27,6 +27,7 @@ import com.jeeplus.core.query.QueryWrapperGenerator;
 import com.jeeplus.logging.annotation.ApiLog;
 import com.jeeplus.sys.domain.Office;
 import com.jeeplus.sys.domain.User;
+import com.jeeplus.sys.domain.vo.UserVO;
 import com.jeeplus.sys.feign.IUserApi;
 import com.jeeplus.sys.service.OfficeService;
 import com.jeeplus.sys.service.UserService;
@@ -679,6 +680,31 @@ public class UserController {
     }
 
     /**
+     * 手机端-修改密码
+     *
+     * @return
+     */
+    @DemoMode
+    @ApiLog("手机端-修改密码")
+    @PostMapping("/savePwdByPhone")
+    public ResponseEntity savePwdByPhone(@Valid @RequestBody UserVO userVO) {
+        UserDTO userDTO = userService.get(userVO.getUserId());
+        if ( StrUtil.isNotBlank ( userVO.getOldPassword() ) && StrUtil.isNotBlank ( userVO.getNewPassword() ) ) {
+            if ( SecurityUtils.validatePassword ( userVO.getOldPassword(), userDTO.getPassword ( ) ) ) {
+                User user = new User ( userDTO.getId ( ) );
+                user.setPassword ( SecurityUtils.encryptPassword ( userVO.getNewPassword() ) );
+                user.setUpPassword("1");
+                userService.updateById ( user );
+                UserUtils.deleteCache ( userDTO );
+                return ResponseEntity.ok ( "修改密码成功!" );
+            } else {
+                return ResponseEntity.badRequest ( ).body ( "修改密码失败,旧密码错误!" );
+            }
+        }
+        return ResponseEntity.badRequest ( ).body ( "参数错误!" );
+    }
+
+    /**
      * 获取菜单
      *
      * @return

+ 15 - 0
jeeplus-modules/jeeplus-system/src/main/java/com/jeeplus/sys/domain/vo/UserVO.java

@@ -0,0 +1,15 @@
+package com.jeeplus.sys.domain.vo;
+
+import lombok.Data;
+
+/**
+ * @author 王强
+ * @version 1.0
+ * @date 2023-12-05 15:23
+ */
+@Data
+public class UserVO {
+    private String oldPassword;
+    private String newPassword;
+    private String userId;
+}

+ 11 - 1
jeeplus-modules/jeeplus-system/src/main/java/com/jeeplus/sys/service/UserService.java

@@ -17,6 +17,7 @@ import com.jeeplus.common.TokenProvider;
 import com.jeeplus.common.constant.CacheNames;
 import com.jeeplus.common.constant.CommonConstants;
 import com.jeeplus.common.redis.RedisUtils;
+import com.jeeplus.common.utils.RequestUtils;
 import com.jeeplus.sys.domain.Cert;
 import com.jeeplus.sys.domain.Office;
 import com.jeeplus.sys.domain.SysConfig;
@@ -195,7 +196,16 @@ public class UserService extends ServiceImpl <UserMapper, User> {
             }
 
             queryWrapper.eq ( "a.del_flag", CommonConstants.NOT_DELETED );
-            queryWrapper.eq ( "a.tenant_id", tenantId );
+
+            String domain = RequestUtils.getHeader ( "domain" );
+            if (domain.contains("ydddl")){
+                tenantId = "";
+            }
+
+            if (StringUtils.isNotBlank(tenantId)){
+                queryWrapper.eq ( "a.tenant_id", tenantId );
+            }
+
             userDTO = baseMapper.get ( queryWrapper );
             RedisUtils.getInstance ( ).set ( CacheNames.USER_CACHE_LOGIN_NAME, tenantId + ":" + loginName, userDTO );
         }