101captain
2022-07-21 3bca63567697b03bb9db67bb7209566932717bb4
bug修改
12个文件已修改
1个文件已添加
469 ■■■■■ 已修改文件
springcloud_k8s_panzhihuazhihuishequ/common/src/main/java/com/panzhihua/common/service/community/CommunityService.java 260 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
springcloud_k8s_panzhihuazhihuishequ/community_backstage/src/main/java/com/panzhihua/community_backstage/api/ComActSocialProjectApi.java 1 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
springcloud_k8s_panzhihuazhihuishequ/grid_backstage/pom.xml 5 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
springcloud_k8s_panzhihuazhihuishequ/grid_backstage/src/main/java/com/panzhihua/grid_backstage/api/CommonApi.java 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
springcloud_k8s_panzhihuazhihuishequ/grid_backstage/src/main/java/com/panzhihua/grid_backstage/api/EventVisitingTasksApi.java 5 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/service/impl/ComActEasyPhotoServiceImpl.java 42 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/service/impl/ComMngProvinceServiceImpl.java 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/service/impl/RentingHourseRegisterServiceImpl.java 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
springcloud_k8s_panzhihuazhihuishequ/shop_backstage/pom.xml 5 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
springcloud_k8s_panzhihuazhihuishequ/shop_backstage/src/main/java/com/panzhihua/shop_backstage/api/ConvenientApi.java 1 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
springcloud_k8s_panzhihuazhihuishequ/shop_backstage/src/main/java/com/panzhihua/shop_backstage/api/LoginApi.java 10 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
springcloud_k8s_panzhihuazhihuishequ/shop_backstage/src/main/java/com/panzhihua/shop_backstage/api/MicroCommercialStreetApi.java 80 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
springcloud_k8s_panzhihuazhihuishequ/shop_backstage/src/main/java/com/panzhihua/shop_backstage/config/MyAESUtil.java 52 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
springcloud_k8s_panzhihuazhihuishequ/common/src/main/java/com/panzhihua/common/service/community/CommunityService.java
@@ -9,7 +9,7 @@
import com.panzhihua.common.model.dtos.community.dpc.AddDpcDTO;
import com.panzhihua.common.model.dtos.community.dpc.EditDpcDTO;
import com.panzhihua.common.model.dtos.community.dpc.PageDpcDTO;
import com.panzhihua.common.model.dtos.community.enterprise.PageEnterpriseTypeDTO;
import com.panzhihua.common.model.dtos.community.enterprise.*;
import com.panzhihua.common.model.dtos.community.reserve.*;
import com.panzhihua.common.model.dtos.community.warehouse.ComActWarehouseApplyDTO;
import com.panzhihua.common.model.dtos.community.GetIdentityEidTokenDTO;
@@ -207,9 +207,6 @@
import com.panzhihua.common.model.dtos.community.elder.PageElderAuthStatisticDTO;
import com.panzhihua.common.model.dtos.community.elder.PagePensionAuthStatisticDTO;
import com.panzhihua.common.model.dtos.community.elder.SignElderAuthStatisticDTO;
import com.panzhihua.common.model.dtos.community.enterprise.AddEnterpriseDTO;
import com.panzhihua.common.model.dtos.community.enterprise.EditEnterpriseDTO;
import com.panzhihua.common.model.dtos.community.enterprise.PageEnterpriseDTO;
import com.panzhihua.common.model.dtos.community.fms.AddFmsClassroomAdminDTO;
import com.panzhihua.common.model.dtos.community.fms.AddFmsServiceAdminDTO;
import com.panzhihua.common.model.dtos.community.fms.AddTeamDTO;
@@ -9937,8 +9934,263 @@
                                       @RequestParam(value = "size",required = false) Integer size,
                                       @RequestParam(value = "belongTo",required = false) String  belongTo,
                                       @RequestParam(value = "unitId",required = false) Long unitId);
    /**
     * 批量删除活动
     * @param ids
     * @return
     */
    @PostMapping("batchDel")
    R deleteActivities(@RequestBody List<Long> ids);
    /**
     * 街道详情
     * @param id
     * @return
     */
    @GetMapping("detailStreet")
    R detailStreet(@RequestParam("id") Long id);
    /**
     * 分页查询项目报名列表
     * @param pageProjectSignListDTO
     * @return
     */
    @PostMapping("/comActSocialProject/signList")
    R pageProjectSignList(@RequestBody PageProjectSignListDTO pageProjectSignListDTO);
    /**
     * 分页查询孵化申请
     * @param pageHatchAuditDTO
     * @return
     */
    @PostMapping("/comActSocialOrgHatchAudit/page")
    R pageHatchAudit(@RequestBody PageSocialOrgHatchAuditDTO pageHatchAuditDTO);
    /**
     * 查看孵化申请详情
     * @param id
     * @return
     */
    @GetMapping("/comActSocialOrgHatchAudit/detail")
    R detailHatchAudit(@RequestParam("id") Long id);
    /**
     * 修改孵化申请
     * @param hatchAuditDTO
     * @return
     */
    @PostMapping("/comActSocialOrgHatchAudit/update")
    R updateHatchAudit(@RequestBody SocialOrgHatchAuditDTO hatchAuditDTO);
    /**
     * 分页查询孵化数据
     * @param pageHatchDTO
     * @return
     */
    @PostMapping("/comActSocialOrgHatch/page")
    R pageOrgHatch(@RequestBody PageSocialOrgHatchDTO pageHatchDTO);
    /**
     * 查看孵化数据详情
     * @param id
     * @return
     */
    @GetMapping("/comActSocialOrgHatch/detail")
    R detailOrgHatch(@RequestParam("id") Long id);
    /**
     * 修改孵化状态
     * @param id
     * @param status
     * @return
     */
    @PutMapping("/comActSocialOrgHatch/updateStatus")
    R updateOrgHatchStatus(@RequestParam("id") Long id, @RequestParam("status") Integer status);
    /**
     * 获取孵化流程配置
     * @return
     */
    @GetMapping("/comActSocialOrgHatchAudit/process")
    R getHatchAuditProcess();
    /**
     * 修改孵化流程配置
     * @param processDTO
     * @return
     */
    @PutMapping("/comActSocialOrgHatchAudit/process")
    R putHatchAuditProcess(@RequestBody HatchAuditProcessDTO processDTO);
    /**
     * 新增孵化申请
     * @param hatchAuditDTO
     * @return
     */
    @PostMapping("/comActSocialOrgHatchAudit/add")
    R addHatchAudit(@RequestBody SocialOrgHatchAuditDTO hatchAuditDTO);
    /**
     * 查看孵化申请审核进度
     * @param userId
     * @return
     */
    @GetMapping("/comActSocialOrgHatchAudit/schedule")
    R getHatchAuditSchedule(@RequestParam("userId") Long userId);
    /**
     * 项目公开报名
     * @param projectId
     * @param userId
     * @return
     */
    @GetMapping("/comActSocialProject/sign")
    R signProject(@RequestParam("projectId") Long projectId, @RequestParam("userId") Long userId);
    /**
     * 分页查询用户报名的项目
     * @param pageProjectDTO
     * @return
     */
    @PostMapping("/comActSocialProject/project")
    R pageProjectWhichIsSignedByUser(@RequestBody PageProjectDTO pageProjectDTO);
    /**
     * 删除孵化申请详情
     * @param id
     * @return
     */
    @GetMapping("/comActSocialOrgHatchAudit/delete")
    R deleteHatchAudit(@RequestParam("id") Long id);
    /**
     * 删除孵化数据
     * @param id
     * @return
     */
    @GetMapping("/comActSocialOrgHatch/delete")
    R deleteOrgHatch(@RequestParam("id") Long id);
    /**
     * 新增社区企业
     * @param addEnterpriseDTO
     * @return
     */
    @PostMapping("/enterprise/add")
    R addEnterprise(@RequestBody AddEnterpriseDTO addEnterpriseDTO);
    /**
     * 修改社区企业
     * @param editEnterpriseDTO
     * @return
     */
    @PostMapping("/enterprise/edit")
    R editEnterprise(@RequestBody EditEnterpriseDTO editEnterpriseDTO);
    /**
     * 删除社区企业
     * @param id
     * @return
     */
    @DeleteMapping("/enterprise/delete")
    R deleteEnterprise(@RequestParam("id") Long id);
    /**
     * 获取社区企业详情
     * @param id
     * @return
     */
    @GetMapping("/enterprise/detail")
    R detailEnterprise(@RequestParam("id") Long id);
    /**
     * 分页查询社区企业
     * @param pageEnterpriseDTO
     * @return
     */
    @PostMapping("/enterprise/page")
    R pageEnterprise(@RequestBody PageEnterpriseDTO pageEnterpriseDTO);
    /**
     * 孵化中心-基础数据
     * @param communityId
     * @return
     */
    @GetMapping("/screen/hatch/base")
    R getHatchBaseData(@RequestParam("communityId") Long communityId);
    /**
     * 孵化中心-孵化成果展示列表
     * @param pageBaseDTO
     * @return
     */
    @PostMapping("/screen/hatchResult/list")
    R pageHatchResult(@RequestBody PageBaseDTO pageBaseDTO);
    /**
     * 孵化中心-孵化进度展示列表
     * @param pageBaseDTO
     * @return
     */
    @PostMapping("/screen/hatchSchedule/list")
    R pageHatchSchedule(@RequestBody PageBaseDTO pageBaseDTO);
    /**
     * 五社联动基础数据
     * @param communityId
     * @return
     */
    @GetMapping("/screen/fiveAssociations/base")
    R getFiveAssociationsBaseData(@RequestParam("communityId") Long communityId);
    /**
     * 五社联动项目展示列表
     * @param pageBaseDTO
     * @return
     */
    @PostMapping("/screen/socialProject/list")
    R pageSocialProjectList(@RequestBody PageBaseDTO pageBaseDTO);
    /**
     * 五社联动社会组织展示列表
     * @param pageBaseDTO
     * @return
     */
    @PostMapping("/screen/socialOrg/list")
    R pageSocialOrgList(@RequestBody PageBaseDTO pageBaseDTO);
    /**
     * 新增服务分类
     * @param addEnterpriseTypeDTO
     * @return
     */
    @PostMapping("/enterpriseType/add")
    R addEnterpriseType(@RequestBody AddEnterpriseTypeDTO addEnterpriseTypeDTO);
    /**
     * 修改服务分类
     * @param enterpriseTypeDTO
     * @return
     */
    @PostMapping("/enterpriseType/edit")
    R editEnterpriseType(@RequestBody EditEnterpriseTypeDTO enterpriseTypeDTO);
    /**
     * 删除服务分类
     * @param id
     * @return
     */
    @DeleteMapping("/enterpriseType/delete")
    R deleteEnterpriseType(@RequestParam("id") Long id);
    /**
     * 获取服务分类详情
     * @param id
     * @return
     */
    @GetMapping("/enterpriseType/detail")
    R detailEnterpriseType(@RequestParam("id") Long id);
    /**
     * 分页查询服务分类
     * @param pageEnterpriseTypeDTO
     * @return
springcloud_k8s_panzhihuazhihuishequ/community_backstage/src/main/java/com/panzhihua/community_backstage/api/ComActSocialProjectApi.java
@@ -17,6 +17,7 @@
import org.springframework.web.bind.annotation.*;
import javax.annotation.Resource;
import javax.validation.Valid;
import java.util.Date;
/**
springcloud_k8s_panzhihuazhihuishequ/grid_backstage/pom.xml
@@ -64,6 +64,11 @@
            <artifactId>minio</artifactId>
            <version>6.0.8</version>
        </dependency>
        <dependency>
            <groupId>com.github.penggle</groupId>
            <artifactId>kaptcha</artifactId>
            <version>2.3.2</version>
        </dependency>
    </dependencies>
    <build>
springcloud_k8s_panzhihuazhihuishequ/grid_backstage/src/main/java/com/panzhihua/grid_backstage/api/CommonApi.java
@@ -11,6 +11,7 @@
import javax.annotation.Resource;
import javax.servlet.http.HttpServletRequest;
import com.panzhihua.common.utlis.MimeTypeUtils;
import com.panzhihua.grid_backstage.config.MinioUtil;
import org.apache.commons.io.FilenameUtils;
import org.springframework.beans.factory.annotation.Value;
@@ -27,6 +28,8 @@
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import lombok.extern.slf4j.Slf4j;
import static com.panzhihua.common.utlis.FileTypeUploadUtils.assertAllowed;
/**
 * @program: springcloud_k8s_panzhihuazhihuishequ
@@ -120,6 +123,7 @@
    @PostMapping(value = "/uploadimages", consumes = "multipart/*", headers = "content-type=multipart/form-date")
    public R uploadImages(@RequestParam MultipartFile file, HttpServletRequest request) {
        try {
            assertAllowed(file, MimeTypeUtils.DEFAULT_ALLOWED_EXTENSION);
            String extension = FilenameUtils.getExtension(file.getOriginalFilename());
            String name = UUID.randomUUID().toString().replaceAll("-", "") + "." + extension;
            String imageUrl = minioUtil.upload(file, name);
springcloud_k8s_panzhihuazhihuishequ/grid_backstage/src/main/java/com/panzhihua/grid_backstage/api/EventVisitingTasksApi.java
@@ -180,4 +180,9 @@
        return gridService.reset(idDTO);
    }
    @GetMapping("/test")
    public R test(){
        return gridService.timedTaskVisitingJobHandler();
    }
}
springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/service/impl/ComActEasyPhotoServiceImpl.java
@@ -8,6 +8,7 @@
import javax.annotation.Resource;
import com.panzhihua.common.model.dtos.common.PageComActEasyPhotoEvaluateDto;
import com.panzhihua.common.model.vos.common.ComActEasyPhotoHandlerVo;
import com.panzhihua.common.model.vos.community.easyPhoto.BannerVO;
import com.panzhihua.service_community.entity.ComActEasyPhotoEvaluate;
import com.panzhihua.service_community.entity.ComActEasyPhotoHandler;
@@ -880,4 +881,45 @@
        return R.ok(this.baseMapper.easyPhotoNoHandleIds(communityId));
    }
    /**
     * 获取人大代表反馈记录
     * @param id 随手拍id
     * @return
     */
    @Override
    public R getFeedbackList(Long id) {
        return R.ok(comActEasyPhotoFeedbackMapper.getPhotoFeedbackListForDpc(id));
    }
    /**
     * 人大代表反馈随手拍
     * @param comActEasyPhotoVO
     * @return
     */
    @Override
    public R addEasyPhotoFeedbackForDpc(ComActEasyPhotoVO comActEasyPhotoVO) {
        Date nowDate = new Date();
        // 操作类型 1审核通过 2驳回 3反馈 4完成随手拍
        ComActEasyPhotoDO cmActEasyPhotoDO = this.comActEasyPhotoDAO.selectById(comActEasyPhotoVO.getId());
        if (cmActEasyPhotoDO == null) {
            return R.fail("未查询到随手拍记录");
        }
        if (!cmActEasyPhotoDO.getStatus().equals(ComActEasyPhotoDO.status.dfk)) {
            return R.fail("该随手拍不是进行中状态,不可进行反馈");
        }
        // 给随手拍新增反馈信息
        ComActEasyPhotoFeedbackDO photoFeedbackDO = new ComActEasyPhotoFeedbackDO();
        photoFeedbackDO.setEasyId(comActEasyPhotoVO.getId());
        photoFeedbackDO.setFeedbackContent(comActEasyPhotoVO.getHandleResult());
        photoFeedbackDO.setFeedbackImg(comActEasyPhotoVO.getHandlePhotoList());
        photoFeedbackDO.setType(2);
        photoFeedbackDO.setCreateAt(nowDate);
        photoFeedbackDO.setCreateBy(comActEasyPhotoVO.getUserId());
        int result = comActEasyPhotoFeedbackMapper.insert(photoFeedbackDO);
        if (result > 0) {
            return R.ok();
        }
        return R.fail();
    }
}
springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/service/impl/ComMngProvinceServiceImpl.java
@@ -79,7 +79,7 @@
    }
    @Override
    public R getCityTreeByProvinceCode(Integer provinceAdcode) {
    public R getCityTreeByProvinceCode(Integer provinceAdcode,String areaCode) {
        List<ComMngProvinceDO> provinceDOS = comMngProvinceDAO.selectList(
            new QueryWrapper<ComMngProvinceDO>().lambda().eq(ComMngProvinceDO::getProvinceAdcode, provinceAdcode));
        List<ComMngCityDO> cityDOS = comMngCityDAO.selectList(new QueryWrapper<>());
springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/service/impl/RentingHourseRegisterServiceImpl.java
@@ -439,7 +439,7 @@
    }
    @Override
    public void updateAllHouseUnionAppCode() {
    public void updateAllHouseUnionAppCode(String areaCode) {
        List<RentingHourseRegister> list = this.baseMapper.selectList(null);
        if (!list.isEmpty()) {
            list.stream().forEach(houseRegister -> {
springcloud_k8s_panzhihuazhihuishequ/shop_backstage/pom.xml
@@ -61,6 +61,11 @@
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-actuator</artifactId>
        </dependency>
        <dependency>
            <groupId>com.github.penggle</groupId>
            <artifactId>kaptcha</artifactId>
            <version>2.3.2</version>
        </dependency>
    </dependencies>
    <build>
springcloud_k8s_panzhihuazhihuishequ/shop_backstage/src/main/java/com/panzhihua/shop_backstage/api/ConvenientApi.java
@@ -1,5 +1,6 @@
package com.panzhihua.shop_backstage.api;
import static com.panzhihua.common.utlis.FileTypeUploadUtils.assertAllowed;
import static org.apache.commons.lang3.StringUtils.isBlank;
import java.io.File;
springcloud_k8s_panzhihuazhihuishequ/shop_backstage/src/main/java/com/panzhihua/shop_backstage/api/LoginApi.java
@@ -19,11 +19,17 @@
import com.panzhihua.common.service.auth.TokenService;
import com.panzhihua.common.service.community.CommunityService;
import com.panzhihua.common.service.user.UserService;
import com.panzhihua.common.interfaces.ShopOperLog;
import com.panzhihua.shop_backstage.model.vos.LoginBody;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.BeanUtils;
import org.springframework.util.ObjectUtils;
import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.*;
import javax.annotation.Resource;
@Slf4j
@RestController
@@ -40,7 +46,7 @@
    @ApiOperation(value = "商家后台登录", response = LoginReturnVO.class)
    @ShopOperLog(operType = 1)
    @PostMapping("login")
    public R login(@RequestBody LoginBody loginBody) {
    public R login(@RequestBody LoginBody loginBody){
        String account = loginBody.getAccount();
        String password = loginBody.getPassword();
        boolean empty = ObjectUtils.isEmpty(account);
springcloud_k8s_panzhihuazhihuishequ/shop_backstage/src/main/java/com/panzhihua/shop_backstage/api/MicroCommercialStreetApi.java
@@ -22,49 +22,19 @@
import com.alibaba.fastjson.JSONObject;
import com.panzhihua.common.controller.BaseController;
import com.panzhihua.common.model.dtos.community.microCommercialStreet.BindUserPhoneDTO;
import com.panzhihua.common.model.dtos.community.microCommercialStreet.DeleteProductDTO;
import com.panzhihua.common.model.dtos.community.microCommercialStreet.LoginWithPhoneDTO;
import com.panzhihua.common.model.dtos.community.microCommercialStreet.McsEvaluateDTO;
import com.panzhihua.common.model.dtos.community.microCommercialStreet.McsGameDTO;
import com.panzhihua.common.model.dtos.community.microCommercialStreet.McsInfoDTO;
import com.panzhihua.common.model.dtos.community.microCommercialStreet.McsMerchantDTO;
import com.panzhihua.common.model.dtos.community.microCommercialStreet.McsProductDTO;
import com.panzhihua.common.model.dtos.community.microCommercialStreet.PageJoinGameListDTO;
import com.panzhihua.common.model.dtos.community.microCommercialStreet.PageMcsEvaluateDTO;
import com.panzhihua.common.model.dtos.community.microCommercialStreet.PageMcsGameDTO;
import com.panzhihua.common.model.dtos.community.microCommercialStreet.PageMcsInformationDTO;
import com.panzhihua.common.model.dtos.community.microCommercialStreet.PageMcsMerchantDTO;
import com.panzhihua.common.model.dtos.community.microCommercialStreet.PageMcsProductDTO;
import com.panzhihua.common.model.dtos.community.microCommercialStreet.PageVerifyRecordDTO;
import com.panzhihua.common.model.dtos.community.microCommercialStreet.PutUserInfoDTO;
import com.panzhihua.common.model.dtos.community.microCommercialStreet.SetShelfForGameDTO;
import com.panzhihua.common.model.dtos.community.microCommercialStreet.SetShelfForInfoDTO;
import com.panzhihua.common.model.dtos.community.microCommercialStreet.SetShelfForProductDTO;
import com.panzhihua.common.exceptions.ServiceException;
import com.panzhihua.common.model.dtos.community.microCommercialStreet.*;
import com.panzhihua.common.model.vos.LoginReturnVO;
import com.panzhihua.common.model.vos.LoginUserInfoVO;
import com.panzhihua.common.model.vos.R;
import com.panzhihua.common.model.vos.community.microCommercialStreet.GameStatisticsVO;
import com.panzhihua.common.model.vos.community.microCommercialStreet.IndexTopStatisticsVO;
import com.panzhihua.common.model.vos.community.microCommercialStreet.McsConfigVO;
import com.panzhihua.common.model.vos.community.microCommercialStreet.McsCouponVO;
import com.panzhihua.common.model.vos.community.microCommercialStreet.McsEvaluateVO;
import com.panzhihua.common.model.vos.community.microCommercialStreet.McsGameVO;
import com.panzhihua.common.model.vos.community.microCommercialStreet.McsInformationVO;
import com.panzhihua.common.model.vos.community.microCommercialStreet.McsLabelVO;
import com.panzhihua.common.model.vos.community.microCommercialStreet.McsLoginUserInfoVO;
import com.panzhihua.common.model.vos.community.microCommercialStreet.McsMerchantVO;
import com.panzhihua.common.model.vos.community.microCommercialStreet.McsProductVO;
import com.panzhihua.common.model.vos.community.microCommercialStreet.McsVerifyRecordVO;
import com.panzhihua.common.model.vos.community.microCommercialStreet.MyCouponVO;
import com.panzhihua.common.model.vos.community.microCommercialStreet.TopStatisticsVO;
import com.panzhihua.common.model.vos.community.microCommercialStreet.VerifiedReturnVO;
import com.panzhihua.common.model.vos.community.microCommercialStreet.*;
import com.panzhihua.common.service.auth.TokenService;
import com.panzhihua.common.service.community.CommunityService;
import com.panzhihua.common.service.user.UserService;
import com.panzhihua.common.validated.AddGroup;
import com.panzhihua.common.validated.PutGroup;
import com.panzhihua.shop_backstage.aop.CheckMcsMerchantExpiration;
import com.panzhihua.shop_backstage.config.MyAESUtil;
import com.panzhihua.shop_backstage.config.WxMaConfiguration;
import com.panzhihua.shop_backstage.model.request.LoginRequest;
import com.panzhihua.shop_backstage.model.vos.LoginBody;
@@ -74,6 +44,19 @@
import io.swagger.annotations.ApiImplicitParams;
import io.swagger.annotations.ApiOperation;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.BeanUtils;
import org.springframework.data.redis.core.RedisTemplate;
import org.springframework.util.ObjectUtils;
import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.*;
import javax.annotation.Resource;
import javax.validation.Valid;
import java.time.Duration;
import java.util.regex.Pattern;
import static java.util.Objects.isNull;
import static java.util.Objects.nonNull;
/**
 * @title: MicroCommercialStreetApi
@@ -88,6 +71,7 @@
@Slf4j
public class MicroCommercialStreetApi extends BaseController {
    private static String LOGIN_FAIL = "LOGIN_FAIL_";
    @Resource
    private CommunityService communityService;
    @Resource
@@ -96,6 +80,8 @@
    private UserService userService;
    @Resource
    private WxMaConfiguration wxMaConfiguration;
    @Resource
    private RedisTemplate redisTemplate;
    @ApiOperation(value = "H5授权登录", response = LoginReturnVO.class)
    @PostMapping("/auth/login")
@@ -159,7 +145,14 @@
    @PostMapping("/merchant/login")
    public R merchantLogin(@RequestBody @Valid LoginBody loginBody) {
        String account = loginBody.getAccount();
        String password = loginBody.getPassword();
        log.info("登录用户信息【{}】", loginBody);
        try {
            password = MyAESUtil.Decrypt(loginBody.getPassword(), "Ryo7M3n8loC5Abcd");
        } catch (Exception e) {
            return R.fail("账号或密码错误!");
        }
        boolean flag = redisTemplate.hasKey(LOGIN_FAIL + account);
        try {
            R r = communityService.getMcsMerchantByAccount(account);
            Boolean isValid = false;
@@ -167,7 +160,14 @@
                McsMerchantVO merchantVO = JSONObject.parseObject(JSONObject.toJSONString(r.getData()), McsMerchantVO.class);
                isValid = merchantVO.getAccountStatus() == 1;
                if (isValid) {
                    R result = tokenService.loginMcsUser(account, loginBody.getPassword());
                    if (flag) {
                        Integer time = (Integer) redisTemplate.opsForValue().get(LOGIN_FAIL + account);
                        if (time >= 5) {
                            redisTemplate.opsForValue().set(LOGIN_FAIL + account, 5, Duration.ofMinutes(5));
                            throw new ServiceException("登录错误超过限制,请五分钟后重试");
                        }
                    }
                    R result = tokenService.loginMcsUser(account, password);
                    return result;
                } else {
                    return R.fail("账号被禁用");
@@ -175,10 +175,20 @@
            }
            return R.fail(r.getMsg());
        } catch (Exception e) {
            lockLogin(flag, account);
            return R.fail("登陆失败了");
        }
    }
    private void lockLogin(Boolean flag, String userName) {
        if (flag) {
            Integer time = (Integer) redisTemplate.opsForValue().get(LOGIN_FAIL + userName);
            redisTemplate.opsForValue().set(LOGIN_FAIL + userName, time + 1, Duration.ofMinutes(5));
        } else {
            redisTemplate.opsForValue().set(LOGIN_FAIL + userName, 1, Duration.ofMinutes(5));
        }
    }
    @ApiOperation(value = "微商业街用户登录", response = LoginReturnVO.class)
    @PostMapping("/loginWithPhone")
    public R loginWithPhone(@RequestBody @Valid LoginWithPhoneDTO loginDTO) {
springcloud_k8s_panzhihuazhihuishequ/shop_backstage/src/main/java/com/panzhihua/shop_backstage/config/MyAESUtil.java
New file
@@ -0,0 +1,52 @@
package com.panzhihua.shop_backstage.config;
import sun.misc.BASE64Decoder;
import sun.misc.BASE64Encoder;
import javax.crypto.Cipher;
import javax.crypto.spec.SecretKeySpec;
public class MyAESUtil {
    // 加密
    public static String Encrypt(String sSrc, String sKey) throws Exception {
        if (sKey == null) {
            System.out.print("Key为空null");
            return null;
        }
        // 判断Key是否为16位
        if (sKey.length() != 16) {
            System.out.print("Key长度不是16位");
            return null;
        }
        byte[] raw = sKey.getBytes("utf-8");
        SecretKeySpec skeySpec = new SecretKeySpec(raw, "AES");
        Cipher cipher = Cipher.getInstance("AES/ECB/PKCS5Padding");//"算法/模式/补码方式"
        cipher.init(Cipher.ENCRYPT_MODE, skeySpec);
        byte[] encrypted = cipher.doFinal(sSrc.getBytes("utf-8"));
        return new BASE64Encoder().encode(encrypted);//此处使用BASE64做转码功能,同时能起到2次加密的作用。
    }
    // 解密
    public static String Decrypt(String sSrc, String sKey) throws Exception {
        try {
            byte[] raw = sKey.getBytes("utf-8");
            SecretKeySpec skeySpec = new SecretKeySpec(raw, "AES");
            Cipher cipher = Cipher.getInstance("AES/ECB/PKCS5Padding");
            cipher.init(Cipher.DECRYPT_MODE, skeySpec);
            byte[] encrypted1 = new BASE64Decoder().decodeBuffer(sSrc);//先用base64解密
            try {
                byte[] original = cipher.doFinal(encrypted1);
                String originalString = new String(original,"utf-8");
                return originalString;
            } catch (Exception e) {
                System.out.println(e.toString());
                return null;
            }
        } catch (Exception ex) {
            System.out.println(ex.toString());
            return null;
        }
    }
}