CeDo
2021-05-31 db3376279794f2216be07cc2bb298c9a2faf33e6
Merge remote-tracking branch 'origin/test_future_wangge' into test_future_wangge
10个文件已修改
4个文件已添加
395 ■■■■■ 已修改文件
springcloud_k8s_panzhihuazhihuishequ/common/src/main/java/com/panzhihua/common/model/vos/EditUserInfoAppDTO.java 17 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
springcloud_k8s_panzhihuazhihuishequ/common/src/main/java/com/panzhihua/common/model/vos/EditUserInfoPassAppDTO.java 29 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
springcloud_k8s_panzhihuazhihuishequ/common/src/main/java/com/panzhihua/common/service/grid/GridService.java 7 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
springcloud_k8s_panzhihuazhihuishequ/common/src/main/java/com/panzhihua/common/service/user/UserService.java 13 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
springcloud_k8s_panzhihuazhihuishequ/grid_app/src/main/java/com/panzhihua/grid_app/api/CommonApi.java 105 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
springcloud_k8s_panzhihuazhihuishequ/grid_app/src/main/java/com/panzhihua/grid_app/api/UserApi.java 113 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
springcloud_k8s_panzhihuazhihuishequ/service_grid/src/main/java/com/panzhihua/service_grid/api/EventApplicationAppReleaseApi.java 19 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
springcloud_k8s_panzhihuazhihuishequ/service_grid/src/main/java/com/panzhihua/service_grid/dao/EventApplicationAppReleaseMapper.java 21 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
springcloud_k8s_panzhihuazhihuishequ/service_grid/src/main/java/com/panzhihua/service_grid/service/EventApplicationAppReleaseService.java 6 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
springcloud_k8s_panzhihuazhihuishequ/service_grid/src/main/java/com/panzhihua/service_grid/service/impl/EventApplicationAppReleaseServiceImpl.java 9 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
springcloud_k8s_panzhihuazhihuishequ/service_grid/src/main/resources/mapper/EventApplicationAppReleaseMapper.xml 7 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
springcloud_k8s_panzhihuazhihuishequ/service_user/src/main/java/com/panzhihua/service_user/api/UserApi.java 11 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
springcloud_k8s_panzhihuazhihuishequ/service_user/src/main/java/com/panzhihua/service_user/service/UserService.java 8 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
springcloud_k8s_panzhihuazhihuishequ/service_user/src/main/java/com/panzhihua/service_user/service/impl/UserServiceImpl.java 30 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
springcloud_k8s_panzhihuazhihuishequ/common/src/main/java/com/panzhihua/common/model/vos/EditUserInfoAppDTO.java
New file
@@ -0,0 +1,17 @@
package com.panzhihua.common.model.vos;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
@Data
@ApiModel(value = "用户修改信息")
public class EditUserInfoAppDTO {
    @ApiModelProperty("用户昵称")
    private String nickName;
    @ApiModelProperty("用户头像url")
    private String imagesUrl;
}
springcloud_k8s_panzhihuazhihuishequ/common/src/main/java/com/panzhihua/common/model/vos/EditUserInfoPassAppDTO.java
New file
@@ -0,0 +1,29 @@
package com.panzhihua.common.model.vos;
import com.panzhihua.common.validated.PutGroup;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import javax.validation.constraints.NotBlank;
@Data
@ApiModel(value = "用户修改信息")
public class EditUserInfoPassAppDTO {
    @ApiModelProperty("原密码")
    @NotBlank(groups = {PutGroup.class}, message = "原密码不能为空")
    private String oldPassword;
    @ApiModelProperty("新密码")
    @NotBlank(groups = {PutGroup.class}, message = "新密码不能为空")
    private String newPassword;
    @ApiModelProperty("确认密码")
    @NotBlank(groups = {PutGroup.class}, message = "确认密码不能为空")
    private String confirmPassword;
    @ApiModelProperty(value = "用户id",hidden = true)
    private Long userId;
}
springcloud_k8s_panzhihuazhihuishequ/common/src/main/java/com/panzhihua/common/service/grid/GridService.java
@@ -652,4 +652,11 @@
     */
    @PostMapping("/map/getMapGridListByApp")
    R getMapGridListByApp(@RequestParam("userId") Long userId);
    /**
     * 获取最新版本信息
     * @return  版本信息
     */
    @GetMapping("/eventapplicationapprelease/edition")
    R editionUpdate();
}
springcloud_k8s_panzhihuazhihuishequ/common/src/main/java/com/panzhihua/common/service/user/UserService.java
@@ -5,10 +5,7 @@
import com.panzhihua.common.model.dtos.community.ExportUserDTO;
import com.panzhihua.common.model.dtos.community.NoticeReadDTO;
import com.panzhihua.common.model.dtos.user.*;
import com.panzhihua.common.model.vos.LoginUserInfoVO;
import com.panzhihua.common.model.vos.MenuVO;
import com.panzhihua.common.model.vos.R;
import com.panzhihua.common.model.vos.SystemmanagementConfigVO;
import com.panzhihua.common.model.vos.*;
import com.panzhihua.common.model.vos.shop.ShopStoreVO;
import com.panzhihua.common.model.vos.user.*;
import org.springframework.cloud.openfeign.FeignClient;
@@ -703,4 +700,12 @@
     */
    @PostMapping("updateUserArchives")
    R updateUserArchives(@RequestBody UpdateUserArchivesVO userArchivesVO);
    /**
     * 修改app用户密码
     * @param userInfoAppDTO    请求参数
     * @return  修改结果
     */
    @PutMapping("updateUserPassByApp")
    R updateUserPassByApp(@RequestBody EditUserInfoPassAppDTO userInfoAppDTO);
}
springcloud_k8s_panzhihuazhihuishequ/grid_app/src/main/java/com/panzhihua/grid_app/api/CommonApi.java
New file
@@ -0,0 +1,105 @@
package com.panzhihua.grid_app.api;
import com.panzhihua.common.constants.FtpConstants;
import com.panzhihua.common.model.vos.R;
import com.panzhihua.common.utlis.SFTPUtil;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.data.redis.core.StringRedisTemplate;
import org.springframework.web.bind.annotation.*;
import org.springframework.web.multipart.MultipartFile;
import javax.annotation.Resource;
import javax.servlet.http.HttpServletRequest;
import java.io.File;
import java.io.IOException;
import java.io.InputStream;
import java.util.Arrays;
import java.util.Base64;
import java.util.List;
import java.util.UUID;
import java.util.concurrent.atomic.AtomicBoolean;
/**
 * @program: springcloud_k8s_panzhihuazhihuishequ
 * @description: 公共接口
 * @author: huang.hongfa weixin hhf9596 qq 959656820
 * @create: 2020-12-10 15:41
 **/
@Slf4j
@RestController
@RequestMapping("/common/")
@Api(tags = {"公共接口"})
public class CommonApi {
    // FTP 登录用户名
    @Value("${ftp.username}")
    private String userName;
    // FTP 登录密码
    @Value("${ftp.password}")
    private String password;
    // FTP 服务器地址IP地址
    @Value("${ftp.host}")
    private String host;
    // FTP 端口
    @Value("${ftp.port}")
    private int port;
    @Value("${ftp.url}")
    private String url;
    /**
     * 允许的图片文件后缀
     */
    private static  List<String> fileExtensionAllow = Arrays.asList("gif", "jpg", "png", "jpeg");
    /**
     * 允许的视频文件后缀
     */
    private static  List<String> videoExtensionAllow = Arrays.asList("mp4", "mov");
    @ApiOperation(value = "上传照片/视频 (jpg/jpeg/png/mp4/mov)")
    @PostMapping(value = "uploadimage", consumes = "multipart/*", headers = "content-type=multipart/form-date")
    public R uploadImage(@RequestParam MultipartFile file, HttpServletRequest request) throws IOException {
//        微信图片内容校验
//        WxMaSecCheckService wxMaSecCheckService = wxMaConfiguration.getMaService().getSecCheckService();
        String property = System.getProperty("user.dir");
        String fileExtension = ".jpg";
        String originName = file.getOriginalFilename();
        AtomicBoolean isVideo = new AtomicBoolean(false);
        videoExtensionAllow.forEach(ext ->{
            String originNameLowerCase = originName.toLowerCase();
            if(originNameLowerCase.endsWith("." +ext)){
                isVideo.set(true);
            }
        });
        if(isVideo.get()){
            fileExtension = ".mp4";
        }
        String fileName = property + File.separator + UUID.randomUUID().toString().replace("-", "") + fileExtension;
        File file1 = new File(fileName);
        String name = file.getOriginalFilename();
        name = UUID.randomUUID().toString().replaceAll("-", "") + fileExtension;
        try {
            SFTPUtil sftp = new SFTPUtil(userName, password, host, port);
            sftp.login();
            InputStream is = file.getInputStream();
            file.transferTo(file1);
            boolean delete = file1.delete();
            log.info("临时文件删除【{}】", delete);
            sftp.uploadMore(FtpConstants.FTPFILEPATH_IDCARD, name, is);
            sftp.logout();
            return R.ok(url + "/idcard/" + name);
        } catch (Exception e) {
            log.error("上传照片失败【{}】", e.getMessage());
            return R.fail();
        }
    }
}
springcloud_k8s_panzhihuazhihuishequ/grid_app/src/main/java/com/panzhihua/grid_app/api/UserApi.java
New file
@@ -0,0 +1,113 @@
package com.panzhihua.grid_app.api;
import com.alibaba.fastjson.JSONObject;
import com.panzhihua.common.controller.BaseController;
import com.panzhihua.common.model.vos.EditUserInfoAppDTO;
import com.panzhihua.common.model.vos.EditUserInfoPassAppDTO;
import com.panzhihua.common.model.vos.LoginUserInfoVO;
import com.panzhihua.common.model.vos.R;
import com.panzhihua.common.model.vos.community.ComActVO;
import com.panzhihua.common.service.auth.TokenService;
import com.panzhihua.common.service.community.CommunityService;
import com.panzhihua.common.service.grid.GridService;
import com.panzhihua.common.service.user.UserService;
import com.panzhihua.common.utlis.StringUtils;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiImplicitParam;
import io.swagger.annotations.ApiOperation;
import lombok.extern.slf4j.Slf4j;
import org.springframework.util.ObjectUtils;
import org.springframework.web.bind.annotation.*;
import javax.annotation.Resource;
/**
 * 我的模块
 * @author lyq
 */
@Slf4j
@RestController
@RequestMapping("/user/")
@Api(tags = {"我的模块"})
public class UserApi extends BaseController {
    @Resource
    private UserService userService;
    @Resource
    private CommunityService communityService;
    @Resource
    private TokenService tokenService;
    @Resource
    private GridService gridService;
    @ApiOperation(value = "当前登录用户信息-lyq", response = LoginUserInfoVO.class)
    @GetMapping("/info")
    public R getUserInfo() {
        LoginUserInfoVO loginUserInfo = this.getLoginUserInfo();
        Long communityId = loginUserInfo.getCommunityId();
        Long userId = loginUserInfo.getUserId();
        R<LoginUserInfoVO> r = userService.getUserInfoByUserId(userId + "");
        if (R.isOk(r)) {
            Object data = r.getData();
            if (!ObjectUtils.isEmpty(data)) {
                LoginUserInfoVO loginUserInfoVO = (LoginUserInfoVO) data;
                //查询社区信息
                if (null != communityId && 0 != communityId) {
                    R r1 = communityService.detailCommunity(communityId);
                    if (R.isOk(r1)) {
                        Object data1 = r1.getData();
                        if (!ObjectUtils.isEmpty(data1)) {
                            loginUserInfoVO.setComActVO(JSONObject.parseObject(JSONObject.toJSONString(data1), ComActVO.class));
                            r.setData(loginUserInfoVO);
                        }
                    }
                }
            }
        }
        return r;
    }
    @ApiOperation(value = "修改用户信息-lyq")
    @PostMapping("/user")
    public R putUser(@RequestBody EditUserInfoAppDTO userInfoAppDTO) {
        LoginUserInfoVO loginUserInfo = this.getLoginUserInfo();
        if(loginUserInfo == null){
            return R.fail("请先登录");
        }
        if(StringUtils.isNotEmpty(userInfoAppDTO.getImagesUrl())){
            loginUserInfo.setImageUrl(userInfoAppDTO.getImagesUrl());
        }
        if(StringUtils.isNotEmpty(userInfoAppDTO.getNickName())){
            loginUserInfo.setNickName(userInfoAppDTO.getNickName());
        }
        return userService.putUser(loginUserInfo);
    }
    @ApiOperation(value = "修改用户登录密码-lyq")
    @PutMapping("/edit/pass")
    public R updatePass(@RequestBody EditUserInfoPassAppDTO userInfoAppDTO){
        LoginUserInfoVO loginUserInfo = this.getLoginUserInfo();
        if(loginUserInfo == null){
            return R.fail("请先登录");
        }
        userInfoAppDTO.setUserId(loginUserInfo.getUserId());
        R updateUser = userService.updateUserPassByApp(userInfoAppDTO);
        if(R.isOk(updateUser)){
            String token = this.getToken();
            if(StringUtils.isNotEmpty(token)){
                tokenService.logout(token);
            }
            return R.ok();
        }else{
            return updateUser;
        }
    }
    @ApiOperation(value = "根据版本号获取最新版本信息-lyq")
    @GetMapping("/edition")
    public R editionUpdate(){
        return gridService.editionUpdate();
    }
}
springcloud_k8s_panzhihuazhihuishequ/service_grid/src/main/java/com/panzhihua/service_grid/api/EventApplicationAppReleaseApi.java
@@ -38,7 +38,7 @@
    @PostMapping("/add")
    R add(@RequestBody EventApplicationAppReleaseAddDTO eventApplicationAppReleaseAddDTO){
        return eventApplicationAppReleaseService.add(eventApplicationAppReleaseAddDTO);
    };
    }
    /**
     * 修改APP应用版本信息
@@ -48,7 +48,7 @@
    @PostMapping("/edit")
    R edit(@RequestBody EventApplicationAppReleaseEditDTO eventApplicationAppReleaseEditDTO){
        return eventApplicationAppReleaseService.edit(eventApplicationAppReleaseEditDTO);
    };
    }
    /**
     * 分页查找APP应用版本信息
@@ -58,7 +58,7 @@
    @PostMapping("/page")
    R<IPage<EventApplicationAppReleaseVO>> query(@RequestBody PageEventApplicationAppReleaseDTO pageEventApplicationAppReleaseDTO){
        return eventApplicationAppReleaseService.query(pageEventApplicationAppReleaseDTO);
    };
    }
    /**
     * 删除APP应用版本信息
@@ -68,7 +68,7 @@
    @PostMapping("/delete")
    R delete(@RequestBody EventApplicationAppReleaseDeleteDTO EventApplicationAppReleaseDeleteDTO){
        return eventApplicationAppReleaseService.delete(EventApplicationAppReleaseDeleteDTO);
    };
    }
    /**
     * 查询APP应用版本信息详细信息
@@ -78,6 +78,15 @@
    @PostMapping("/{id}")
    R<EventApplicationAppReleaseDetailsVO> eventApplicationAppReleaseDetails(@PathVariable("id") Long id){
        return eventApplicationAppReleaseService.eventApplicationAppReleaseDetails(id);
    };
    }
    /**
     * 获取最新版本信息
     * @return  版本信息
     */
    @GetMapping("/edition")
    public R editionUpdate(){
        return eventApplicationAppReleaseService.editionUpdate();
    }
}
springcloud_k8s_panzhihuazhihuishequ/service_grid/src/main/java/com/panzhihua/service_grid/dao/EventApplicationAppReleaseMapper.java
@@ -1,11 +1,11 @@
package com.panzhihua.service_grid.dao;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.panzhihua.common.model.dtos.grid.PageEventApplicationAppReleaseDTO;
import com.panzhihua.common.model.vos.grid.EventApplicationAppReleaseDetailsVO;
import com.panzhihua.service_grid.model.dos.EventApplicationAppReleaseDO;
import com.panzhihua.common.model.vos.grid.EventApplicationAppReleaseVO;
import org.apache.ibatis.annotations.Mapper;
@@ -16,17 +16,20 @@
 *
 * @author cedoo email:cedoo(a)qq.com
 * @version 1.0
 * @since 1.0
 * @date 2021-05-26
 * */
 * @since 1.0
 */
@Mapper
public interface EventApplicationAppReleaseMapper extends BaseMapper<EventApplicationAppReleaseDO> {
        /**
         * 分页查询
         * @param pageEventApplicationAppReleaseDTO
         * @return
         */
        IPage<EventApplicationAppReleaseVO> findByPage(Page page, @Param("pageEventApplicationAppReleaseDTO")PageEventApplicationAppReleaseDTO pageEventApplicationAppReleaseDTO);
    /**
     * 分页查询
     *
     * @param pageEventApplicationAppReleaseDTO
     * @return
     */
    IPage<EventApplicationAppReleaseVO> findByPage(Page page, @Param("pageEventApplicationAppReleaseDTO") PageEventApplicationAppReleaseDTO pageEventApplicationAppReleaseDTO);
    EventApplicationAppReleaseDetailsVO editionUpdate();
}
springcloud_k8s_panzhihuazhihuishequ/service_grid/src/main/java/com/panzhihua/service_grid/service/EventApplicationAppReleaseService.java
@@ -56,5 +56,11 @@
     */
    R<EventApplicationAppReleaseDetailsVO> eventApplicationAppReleaseDetails(Long id);
    /**
     * 获取最新版本信息
     * @return  版本信息
     */
    R editionUpdate();
}
springcloud_k8s_panzhihuazhihuishequ/service_grid/src/main/java/com/panzhihua/service_grid/service/impl/EventApplicationAppReleaseServiceImpl.java
@@ -101,4 +101,13 @@
        return R.fail();
    }
    /**
     * 获取最新版本信息
     * @return  版本信息
     */
    @Override
    public R editionUpdate(){
        return R.ok(this.baseMapper.editionUpdate());
    }
}
springcloud_k8s_panzhihuazhihuishequ/service_grid/src/main/resources/mapper/EventApplicationAppReleaseMapper.xml
@@ -60,4 +60,11 @@
        </if>
    </select>
    <select id="editionUpdate" resultType="com.panzhihua.common.model.vos.grid.EventApplicationAppReleaseDetailsVO">
        SELECT <include refid="columns" />
        FROM event_application_app_release
        order by create_at desc
        limit 1
    </select>
</mapper>
springcloud_k8s_panzhihuazhihuishequ/service_user/src/main/java/com/panzhihua/service_user/api/UserApi.java
@@ -5,6 +5,7 @@
import com.panzhihua.common.model.dtos.community.ExportUserDTO;
import com.panzhihua.common.model.dtos.community.NoticeReadDTO;
import com.panzhihua.common.model.dtos.user.*;
import com.panzhihua.common.model.vos.EditUserInfoPassAppDTO;
import com.panzhihua.common.model.vos.LoginUserInfoVO;
import com.panzhihua.common.model.vos.R;
import com.panzhihua.common.model.vos.SystemmanagementConfigVO;
@@ -892,4 +893,14 @@
    public R updateUserArchives(@RequestBody UpdateUserArchivesVO userArchivesVO) {
        return userService.updateUserArchives(userArchivesVO);
    }
    /**
     * 修改app用户密码
     * @param userInfoAppDTO    请求参数
     * @return  修改结果
     */
    @PutMapping("updateUserPassByApp")
    public R updateUserPassByApp(@RequestBody EditUserInfoPassAppDTO userInfoAppDTO){
        return userService.updateUserPassByApp(userInfoAppDTO);
    }
}
springcloud_k8s_panzhihuazhihuishequ/service_user/src/main/java/com/panzhihua/service_user/service/UserService.java
@@ -7,6 +7,7 @@
import com.panzhihua.common.model.dtos.user.PageUserAppletsBackstageDTO;
import com.panzhihua.common.model.dtos.user.SysUserEditTipsDTO;
import com.panzhihua.common.model.dtos.user.SysUserFeedbackDTO;
import com.panzhihua.common.model.vos.EditUserInfoPassAppDTO;
import com.panzhihua.common.model.vos.LoginUserInfoVO;
import com.panzhihua.common.model.vos.R;
import com.panzhihua.common.model.vos.SystemmanagementConfigVO;
@@ -414,4 +415,11 @@
     * @return
     */
    R updateUserArchives(UpdateUserArchivesVO userArchivesVO);
    /**
     * 修改app用户密码
     * @param userInfoAppDTO    请求参数
     * @return  修改结果
     */
    R updateUserPassByApp(EditUserInfoPassAppDTO userInfoAppDTO);
}
springcloud_k8s_panzhihuazhihuishequ/service_user/src/main/java/com/panzhihua/service_user/service/impl/UserServiceImpl.java
@@ -1825,4 +1825,34 @@
        userDao.updateUserArchives(userArchivesVO);
        return R.ok();
    }
    /**
     * 修改app用户密码
     * @param userInfoAppDTO    请求参数
     * @return  修改结果
     */
    @Override
    public R updateUserPassByApp(EditUserInfoPassAppDTO userInfoAppDTO){
        if(userInfoAppDTO.getOldPassword().equals(userInfoAppDTO.getNewPassword())){
            return R.fail("新密码不可与原密码相同");
        }
        //查询用户信息
        SysUserDO userDO = userDao.selectById(userInfoAppDTO.getUserId());
        if (userDO == null) {
            return R.fail("未查询到用户信息");
        }
        BCryptPasswordEncoder passwordEncoder = new BCryptPasswordEncoder();
        if (!passwordEncoder.matches(userInfoAppDTO.getOldPassword(),userDO.getPassword())) {
            return R.fail("原密码错误");
        }
        if(!userInfoAppDTO.getNewPassword().equals(userInfoAppDTO.getConfirmPassword())){
            return R.fail("两次输入的新密码不一致");
        }
        userDO.setPassword(passwordEncoder.encode(userInfoAppDTO.getNewPassword()));
        if (userDao.updateById(userDO) > 0) {
            return R.ok();
        } else {
            return R.fail();
        }
    }
}