Helius
2021-06-23 4536a68f86f50e09032066e00e9e3cacf366cbd4
zq-erp/src/main/java/com/matrix/system/app/action/ApiCommonAction.java
@@ -3,21 +3,22 @@
import com.alibaba.fastjson.JSONObject;
import com.matrix.component.redis.RedisClient;
import com.matrix.core.pojo.AjaxResult;
import com.matrix.core.tools.LogUtil;
import com.matrix.core.tools.StringUtils;
import com.matrix.core.tools.UUIDUtil;
import com.matrix.core.tools.*;
import com.matrix.system.app.authority.AppAuthorityManager;
import com.matrix.system.app.dto.LoginDto;
import com.matrix.system.app.dto.PwdResetDto;
import com.matrix.system.app.dto.SmsCodeDto;
import com.matrix.system.app.dto.UploadPhotoDto;
import com.matrix.system.app.utils.Sms106Send;
import com.matrix.system.app.vo.UserInfoVo;
import com.matrix.system.common.authority.DefaultAuthorityManager;
import com.matrix.system.common.authority.strategy.AccountPasswordLogin;
import com.matrix.system.common.authority.strategy.LoginStrategy;
import com.matrix.system.common.bean.SysUsers;
import com.matrix.system.common.dao.BusParameterSettingsDao;
import com.matrix.system.common.service.SysUsersService;
import com.matrix.system.common.tools.PasswordUtil;
import com.matrix.system.common.tools.UploadUtil;
import com.matrix.system.hive.bean.AppVersion;
import com.matrix.system.hive.bean.SysShopInfo;
import com.matrix.system.hive.plugin.util.CollectionUtils;
import com.matrix.system.hive.plugin.util.ImageUtil;
@@ -26,20 +27,25 @@
import io.swagger.annotations.ApiOperation;
import io.swagger.annotations.ApiResponse;
import io.swagger.annotations.ApiResponses;
import org.apache.commons.fileupload.FileUploadException;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.*;
import org.springframework.web.multipart.MultipartHttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.io.File;
import java.io.IOException;
import java.io.UnsupportedEncodingException;
import java.security.NoSuchAlgorithmException;
import java.util.List;
import java.util.*;
/**
 * @author wzy
 * @date 2020-12-21
 **/
@CrossOrigin(origins = "*")
@Api(value = "CommonAction", tags = "手机端公共请求类(含登陆)")
@RestController
@RequestMapping(value = "/api/common")
@@ -53,6 +59,9 @@
    @Autowired
    private AppAuthorityManager authorityManager;
    @Autowired
    private BusParameterSettingsDao busParameterSettingsDao;
    @Autowired
    private RedisClient redisClient;
@@ -85,7 +94,6 @@
        String token = UUIDUtil.getRandomID();
        redisClient.saveValueForever(token, JSONObject.toJSONString(user));
        redisClient.saveValueForever(user.getSuId().toString(), token);
        userInfoVo.setId(user.getSuId());
        userInfoVo.setName(user.getSuName());
@@ -104,9 +112,16 @@
    public AjaxResult uploadPhotoBase64(@RequestBody @Validated UploadPhotoDto uploadPhotoDto) {
        // 文件保存目录路径
        String savePath = fileStoragePath;
        String abstractPath= DateUtil.dateFormatStr(new Date(),DateUtil.DATE_FORMAT_NO_SPLITE_DD);
        savePath=savePath+File.separator+abstractPath;
        String fileName =UUIDUtil.getRandomID() + ".png";
        // 文件保存目录URL
        String saveUrl = nginxUrl;
        LogUtil.debug("图片保存目录路径={}",fileStoragePath);
        LogUtil.debug("图片保存目录URL={}",nginxUrl);
        // 保存和访问路径检查
        if (StringUtils.isBlank(saveUrl) || StringUtils.isBlank(savePath)) {
            return AjaxResult.buildFailInstance("文件上传失败错误代码:001");
@@ -118,13 +133,32 @@
            uploadDir.mkdir();
        }
        String fileName = ImageUtil.base64ToFile(uploadPhotoDto.getBase64(), savePath, UUIDUtil.getRandomID() + ".png");
        ImageUtil.base64ToFile(uploadPhotoDto.getBase64(),savePath , fileName);
        LogUtil.info("fileName : {}", fileName);
        AjaxResult ajaxResult = AjaxResult.buildSuccessInstance("上传成功");
        ajaxResult.putInMap("file", fileName);
        ajaxResult.putInMap("file", nginxUrl + abstractPath+"/"+fileName);
        return ajaxResult;
    }
    String folderType = "image";
    public final static List<FileType> EXT_LIST = new ArrayList<FileType>();
    static {
        EXT_LIST.add(FileType.JPEG);
        EXT_LIST.add(FileType.PNG);
    }
    @ApiOperation(value = "表单图片上传接口", notes = "表单图片上传接口")
    @PostMapping(value = "/uploadImg")
    public AjaxResult uploadImg(HttpServletResponse response, MultipartHttpServletRequest request)
            throws IOException, FileUploadException, NoSuchAlgorithmException {
        Map<String, String> fileMap = UploadUtil.doUpload(request, EXT_LIST, folderType, 1L);
        AjaxResult ajaxResult = AjaxResult.buildSuccessInstance("上传成功");
        ajaxResult.putInMap("file", fileMap.get("visitPath"));
        return ajaxResult;
    }
    @ApiOperation(value = "短信验证码发送", notes = "短信验证码发送")
    @PostMapping(value = "/sendSmsCode")
@@ -140,7 +174,10 @@
        if (StringUtils.isNotBlank(codeExist)) {
            return AjaxResult.buildFailInstance("请勿重复发送验证码");
        }
        redisClient.saveValue(smsCodeDto.getTelphone(), "123456", 120);
        Integer code =(int) ((Math.random() * 9 + 1) * 100000);
        Sms106Send.sendVerifyCode(smsCodeDto.getTelphone(), code.toString(), 2);
        redisClient.saveValue(smsCodeDto.getTelphone(), code.toString(), 120);
        return AjaxResult.buildSuccessInstance("发送成功");
    }
@@ -174,4 +211,28 @@
        }
        return AjaxResult.buildFailInstance("修改失败");
    }
    @ApiOperation(value = "获取app版本", notes = "获取app版本")
    @ApiResponses({
            @ApiResponse(code = 200, message = "ok", response = AppVersion.class)
    })
    @GetMapping(value = "/findAppVersion")
    public AjaxResult findAppVersion() {
        return AjaxResult.buildSuccessInstance(sysUsersService.findAppVersion());
    }
    @ApiOperation(value = "获取api接口地址", notes = "获取api接口地址")
    @GetMapping(value = "/findApiUrl")
    public AjaxResult findApiUrl() {
        Map<String, String> map = new HashMap<>();
        map.put("prd", "http://myapp.jyymatrix.cc/");
        map.put("test", "http://test.hive.jyymatrix.cc/");
        return AjaxResult.buildSuccessInstance(map);
    }
}