Commit e4ca7afc authored by dqjdda's avatar dqjdda
Browse files

阿里巴巴代码规范

parent 6d941c09
......@@ -21,25 +21,24 @@ public class QiniuContent implements Serializable {
@GeneratedValue(strategy = GenerationType.IDENTITY)
private Long id;
// 文件名
/** 文件名 */
@Column(name = "name")
private String key;
// 空间名
/** 空间名 */
private String bucket;
// 大小
/** 大小 */
private String size;
// 文件地址
/** 文件地址 */
private String url;
private String suffix;
// 空间类型:公开/私有
/** 空间类型:公开/私有 */
private String type = "公开";
// 更新时间
@UpdateTimestamp
@Column(name = "update_time")
private Timestamp updateTime;
......
......@@ -27,21 +27,21 @@ public class VerificationCode implements Serializable {
private String code;
// 使用场景,自己定义
/** 使用场景,自己定义 */
private String scenes;
// true 为有效,false 为无效,验证时状态+时间+具体的邮箱或者手机号
/** true 为有效,false 为无效,验证时状态+时间+具体的邮箱或者手机号 */
private Boolean status = true;
// 类型 :phone 和 email
/** 类型 :phone 和 email */
@NotBlank
private String type;
// 具体的phone与email
/** 具体的phone与email */
@NotBlank
private String value;
// 创建日期
/** 创建日期 */
@CreationTimestamp
@Column(name = "create_time")
private Timestamp createTime;
......
......@@ -18,7 +18,7 @@ import java.util.List;
@NoArgsConstructor
public class EmailVo {
// 收件人,支持多个收件人,用逗号分隔
/** 收件人,支持多个收件人 */
@NotEmpty
private List<String> tos;
......
......@@ -15,35 +15,35 @@ import java.sql.Timestamp;
@Data
public class TradeVo {
// (必填)商品描述
/** (必填)商品描述 */
@NotBlank
private String body;
// (必填)商品名称
/** (必填)商品名称 */
@NotBlank
private String subject;
// (必填)商户订单号,应该由后台生成
/** (必填)商户订单号,应该由后台生成 */
@ApiModelProperty(hidden = true)
private String outTradeNo;
// (必填)第三方订单号
/** (必填)第三方订单号 */
@ApiModelProperty(hidden = true)
private String tradeNo;
// (必填)价格
/** (必填)价格 */
@NotBlank
private String totalAmount;
// 订单状态,已支付,未支付,作废
/** 订单状态,已支付,未支付,作废 */
@ApiModelProperty(hidden = true)
private String state;
// 创建时间,存入数据库时需要
/** 创建时间,存入数据库时需要 */
@ApiModelProperty(hidden = true)
private Timestamp createTime;
// 作废时间,存入数据库时需要
/** 作废时间,存入数据库时需要 */
@ApiModelProperty(hidden = true)
private Date cancelTime;
}
......@@ -7,5 +7,5 @@ import org.springframework.data.jpa.repository.JpaRepository;
* @author Zheng Jie
* @date 2018-12-31
*/
public interface AlipayRepository extends JpaRepository<AlipayConfig,Long> {
public interface AliPayRepository extends JpaRepository<AlipayConfig,Long> {
}
......@@ -10,5 +10,10 @@ import org.springframework.data.jpa.repository.JpaSpecificationExecutor;
*/
public interface PictureRepository extends JpaRepository<Picture,Long>, JpaSpecificationExecutor<Picture> {
/**
* 根据 Mds 值查询文件
* @param code 值
* @return /
*/
Picture findByMd5Code(String code);
}
......@@ -11,6 +11,10 @@ import org.springframework.data.jpa.repository.Query;
*/
public interface QiNiuConfigRepository extends JpaRepository<QiniuConfig,Long> {
/**
* 编辑类型
* @param type
*/
@Modifying
@Query(value = "update QiniuConfig set type = ?1")
void update(String type);
......
......@@ -9,7 +9,7 @@ import me.zhengjie.domain.vo.TradeVo;
import me.zhengjie.domain.AlipayConfig;
import me.zhengjie.utils.AliPayStatusEnum;
import me.zhengjie.utils.AlipayUtils;
import me.zhengjie.service.AlipayService;
import me.zhengjie.service.AliPayService;
import org.springframework.http.HttpStatus;
import org.springframework.http.ResponseEntity;
import org.springframework.validation.annotation.Validated;
......@@ -32,9 +32,9 @@ public class AliPayController {
private final AlipayUtils alipayUtils;
private final AlipayService alipayService;
private final AliPayService alipayService;
public AliPayController(AlipayUtils alipayUtils, AlipayService alipayService) {
public AliPayController(AlipayUtils alipayUtils, AliPayService alipayService) {
this.alipayUtils = alipayUtils;
this.alipayService = alipayService;
}
......@@ -56,10 +56,10 @@ public class AliPayController {
@Log("支付宝PC网页支付")
@ApiOperation("PC网页支付")
@PostMapping(value = "/toPayAsPC")
public ResponseEntity<String> toPayAsPC(@Validated@RequestBody TradeVo trade) throws Exception{
AlipayConfig alipay = alipayService.find();
public ResponseEntity<String> toPayAsPc(@Validated@RequestBody TradeVo trade) throws Exception{
AlipayConfig aliPay = alipayService.find();
trade.setOutTradeNo(alipayUtils.getOrderCode());
String payUrl = alipayService.toPayAsPC(alipay,trade);
String payUrl = alipayService.toPayAsPc(aliPay,trade);
return ResponseEntity.ok(payUrl);
}
......@@ -99,6 +99,7 @@ public class AliPayController {
@ApiIgnore
@RequestMapping("/notify")
@AnonymousAccess
@SuppressWarnings("all")
@ApiOperation("支付异步通知(要公网访问),接收异步通知,检查通知内容app_id、out_trade_no、total_amount是否与请求中的一致,根据trade_status进行后续业务处理")
public ResponseEntity notify(HttpServletRequest request){
AlipayConfig alipay = alipayService.find();
......
......@@ -7,7 +7,7 @@ import me.zhengjie.domain.AlipayConfig;
* @author Zheng Jie
* @date 2018-12-31
*/
public interface AlipayService {
public interface AliPayService {
/**
* 处理来自PC的交易请求
......@@ -16,7 +16,7 @@ public interface AlipayService {
* @return String
* @throws Exception 异常
*/
String toPayAsPC(AlipayConfig alipay, TradeVo trade) throws Exception;
String toPayAsPc(AlipayConfig alipay, TradeVo trade) throws Exception;
/**
* 处理来自手机网页的交易请求
......
package me.zhengjie.service;
import me.zhengjie.domain.LocalStorage;
import me.zhengjie.service.dto.LocalStorageDTO;
import me.zhengjie.service.dto.LocalStorageDto;
import me.zhengjie.service.dto.LocalStorageQueryCriteria;
import org.springframework.data.domain.Pageable;
import org.springframework.web.multipart.MultipartFile;
import javax.servlet.http.HttpServletResponse;
import java.io.IOException;
import java.util.List;
......@@ -16,19 +15,59 @@ import java.util.List;
*/
public interface LocalStorageService {
/**
* 分页查询
* @param criteria 条件
* @param pageable 分页参数
* @return /
*/
Object queryAll(LocalStorageQueryCriteria criteria, Pageable pageable);
List<LocalStorageDTO> queryAll(LocalStorageQueryCriteria criteria);
/**
* 查询全部数据
* @param criteria 条件
* @return /
*/
List<LocalStorageDto> queryAll(LocalStorageQueryCriteria criteria);
LocalStorageDTO findById(Long id);
/**
* 根据ID查询
* @param id /
* @return /
*/
LocalStorageDto findById(Long id);
LocalStorageDTO create(String name, MultipartFile file);
/**
* 上传
* @param name 文件名称
* @param file 文件
* @return /
*/
LocalStorageDto create(String name, MultipartFile file);
/**
* 编辑
* @param resources 文件信息
*/
void update(LocalStorage resources);
/**
* 根据ID删除
* @param id /
*/
void delete(Long id);
/**
* 多选删除
* @param ids /
*/
void deleteAll(Long[] ids);
void download(List<LocalStorageDTO> queryAll, HttpServletResponse response) throws IOException;
/**
* 导出数据
* @param localStorageDtos 待导出的数据
* @param response /
* @throws IOException /
*/
void download(List<LocalStorageDto> localStorageDtos, HttpServletResponse response) throws IOException;
}
\ No newline at end of file
......@@ -15,17 +15,53 @@ import java.util.List;
*/
public interface PictureService {
/**
* 分页查询
* @param criteria 条件
* @param pageable 分页参数
* @return /
*/
Object queryAll(PictureQueryCriteria criteria, Pageable pageable);
/**
* 查询全部数据
* @param criteria 条件
* @return /
*/
List<Picture> queryAll(PictureQueryCriteria criteria);
/**
* 上传文件
* @param file /
* @param username /
* @return /
*/
Picture upload(MultipartFile file, String username);
/**
* 根据ID查询
* @param id /
* @return /
*/
Picture findById(Long id);
/**
* 删除图片
* @param picture /
*/
void delete(Picture picture);
/**
* 多选删除
* @param ids /
*/
void deleteAll(Long[] ids);
/**
* 导出
* @param queryAll 待导出的数据
* @param response /
* @throws IOException /
*/
void download(List<Picture> queryAll, HttpServletResponse response) throws IOException;
}
......@@ -16,13 +16,24 @@ import java.util.List;
*/
public interface QiNiuService {
/**
* 分页查询
* @param criteria 条件
* @param pageable 分页参数
* @return /
*/
Object queryAll(QiniuQueryCriteria criteria, Pageable pageable);
/**
* 查询全部
* @param criteria 条件
* @return /
*/
List<QiniuContent> queryAll(QiniuQueryCriteria criteria);
/**
* 查配置
* @return Cacheable
* @return QiniuConfig
*/
QiniuConfig find();
......@@ -86,6 +97,7 @@ public interface QiNiuService {
* 导出数据
* @param queryAll /
* @param response /
* @throws IOException /
*/
void downloadList(List<QiniuContent> queryAll, HttpServletResponse response) throws IOException;
}
package me.zhengjie.service.dto;
import lombok.Getter;
import lombok.Setter;
import lombok.Data;
import java.io.Serializable;
import java.sql.Timestamp;
......@@ -10,28 +8,21 @@ import java.sql.Timestamp;
* @author Zheng Jie
* @date 2019-09-05
*/
@Getter
@Setter
public class LocalStorageDTO implements Serializable {
@Data
public class LocalStorageDto implements Serializable {
// ID
private Long id;
private String realName;
// 文件名
private String name;
// 后缀
private String suffix;
// 类型
private String type;
// 大小
private String size;
// 操作人
private String operate;
private Timestamp createTime;
......
......@@ -13,7 +13,6 @@ import me.zhengjie.annotation.Query;
@Data
public class LocalStorageQueryCriteria{
// 模糊
@Query(blurry = "name,suffix,type,operate,size")
private String blurry;
......
......@@ -7,8 +7,8 @@ import com.alipay.api.request.AlipayTradeWapPayRequest;
import me.zhengjie.domain.vo.TradeVo;
import me.zhengjie.domain.AlipayConfig;
import me.zhengjie.exception.BadRequestException;
import me.zhengjie.repository.AlipayRepository;
import me.zhengjie.service.AlipayService;
import me.zhengjie.repository.AliPayRepository;
import me.zhengjie.service.AliPayService;
import org.springframework.cache.annotation.CacheConfig;
import org.springframework.cache.annotation.CachePut;
import org.springframework.cache.annotation.Cacheable;
......@@ -23,24 +23,23 @@ import java.util.Optional;
*/
@Service
@CacheConfig(cacheNames = "alipay")
@SuppressWarnings("all")
@Transactional(propagation = Propagation.SUPPORTS, readOnly = true, rollbackFor = Exception.class)
public class AlipayServiceImpl implements AlipayService {
public class AliPayServiceImpl implements AliPayService {
private final AlipayRepository alipayRepository;
private final AliPayRepository alipayRepository;
public AlipayServiceImpl(AlipayRepository alipayRepository) {
public AliPayServiceImpl(AliPayRepository alipayRepository) {
this.alipayRepository = alipayRepository;
}
@Override
public String toPayAsPC(AlipayConfig alipay, TradeVo trade) throws Exception {
public String toPayAsPc(AlipayConfig alipay, TradeVo trade) throws Exception {
if(alipay.getId() == null){
throw new BadRequestException("请先添加相应配置,再操作");
}
AlipayClient alipayClient = new DefaultAlipayClient(alipay.getGatewayUrl(), alipay.getAppID(), alipay.getPrivateKey(), alipay.getFormat(), alipay.getCharset(), alipay.getPublicKey(), alipay.getSignType());
// double money = Double.parseDouble(trade.getTotalAmount());
AlipayClient alipayClient = new DefaultAlipayClient(alipay.getGatewayUrl(), alipay.getAppId(), alipay.getPrivateKey(), alipay.getFormat(), alipay.getCharset(), alipay.getPublicKey(), alipay.getSignType());
// 创建API对应的request(电脑网页版)
AlipayTradePagePayRequest request = new AlipayTradePagePayRequest();
......@@ -69,10 +68,11 @@ public class AlipayServiceImpl implements AlipayService {
if(alipay.getId() == null){
throw new BadRequestException("请先添加相应配置,再操作");
}
AlipayClient alipayClient = new DefaultAlipayClient(alipay.getGatewayUrl(), alipay.getAppID(), alipay.getPrivateKey(), alipay.getFormat(), alipay.getCharset(), alipay.getPublicKey(), alipay.getSignType());
AlipayClient alipayClient = new DefaultAlipayClient(alipay.getGatewayUrl(), alipay.getAppId(), alipay.getPrivateKey(), alipay.getFormat(), alipay.getCharset(), alipay.getPublicKey(), alipay.getSignType());
double money = Double.parseDouble(trade.getTotalAmount());
if(money <= 0 || money >= 5000){
double maxMoney = 5000;
if(money <= 0 || money >= maxMoney){
throw new BadRequestException("测试金额过大");
}
// 创建API对应的request(手机网页版)
......@@ -88,7 +88,7 @@ public class AlipayServiceImpl implements AlipayService {
" \"extend_params\":{" +
" \"sys_service_provider_id\":\""+alipay.getSysServiceProviderId()+"\"" +
" }"+
" }");//填充业务参数
" }");
return alipayClient.pageExecute(request, "GET").getBody();
}
......
......@@ -2,7 +2,7 @@ package me.zhengjie.service.impl;
import cn.hutool.core.util.ObjectUtil;
import me.zhengjie.domain.LocalStorage;
import me.zhengjie.service.dto.LocalStorageDTO;
import me.zhengjie.service.dto.LocalStorageDto;
import me.zhengjie.service.dto.LocalStorageQueryCriteria;
import me.zhengjie.service.mapper.LocalStorageMapper;
import me.zhengjie.exception.BadRequestException;
......@@ -62,13 +62,13 @@ public class LocalStorageServiceImpl implements LocalStorageService {
@Override
@Cacheable
public List<LocalStorageDTO> queryAll(LocalStorageQueryCriteria criteria){
public List<LocalStorageDto> queryAll(LocalStorageQueryCriteria criteria){
return localStorageMapper.toDto(localStorageRepository.findAll((root, criteriaQuery, criteriaBuilder) -> QueryHelp.getPredicate(root,criteria,criteriaBuilder)));
}
@Override
@Cacheable(key = "#p0")
public LocalStorageDTO findById(Long id){
public LocalStorageDto findById(Long id){
LocalStorage localStorage = localStorageRepository.findById(id).orElseGet(LocalStorage::new);
ValidationUtil.isNull(localStorage.getId(),"LocalStorage","id",id);
return localStorageMapper.toDto(localStorage);
......@@ -77,11 +77,9 @@ public class LocalStorageServiceImpl implements LocalStorageService {
@Override
@CacheEvict(allEntries = true)
@Transactional(rollbackFor = Exception.class)
public LocalStorageDTO create(String name, MultipartFile multipartFile) {
public LocalStorageDto create(String name, MultipartFile multipartFile) {
FileUtil.checkSize(maxSize, multipartFile.getSize());
String suffix = FileUtil.getExtensionName(multipartFile.getOriginalFilename());
// 可自行选择方式
// String type = FileUtil.getFileTypeByMimeType(suffix);
String type = FileUtil.getFileType(suffix);
File file = FileUtil.upload(multipartFile, path + type + File.separator);
if(ObjectUtil.isNull(file)){
......@@ -136,9 +134,9 @@ public class LocalStorageServiceImpl implements LocalStorageService {
}
@Override
public void download(List<LocalStorageDTO> queryAll, HttpServletResponse response) throws IOException {
public void download(List<LocalStorageDto> queryAll, HttpServletResponse response) throws IOException {
List<Map<String, Object>> list = new ArrayList<>();
for (LocalStorageDTO localStorageDTO : queryAll) {
for (LocalStorageDto localStorageDTO : queryAll) {
Map<String,Object> map = new LinkedHashMap<>();
map.put("文件名", localStorageDTO.getRealName());
map.put("备注名", localStorageDTO.getName());
......
......@@ -31,7 +31,6 @@ import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Propagation;
import org.springframework.transaction.annotation.Transactional;
import org.springframework.web.multipart.MultipartFile;
import javax.servlet.http.HttpServletResponse;
import java.io.IOException;
import java.util.*;
......@@ -79,7 +78,8 @@ public class QiNiuServiceImpl implements QiNiuService {
@CachePut(cacheNames = "qiNiuConfig", key = "'1'")
@Transactional(rollbackFor = Exception.class)
public QiniuConfig update(QiniuConfig qiniuConfig) {
if (!(qiniuConfig.getHost().toLowerCase().startsWith("http://")||qiniuConfig.getHost().toLowerCase().startsWith("https://"))) {
String http = "http://", https = "https://";
if (!(qiniuConfig.getHost().toLowerCase().startsWith(http)||qiniuConfig.getHost().toLowerCase().startsWith(https))) {
throw new BadRequestException("外链域名必须以http://或者https://开头");
}
qiniuConfig.setId(1L);
......@@ -134,8 +134,8 @@ public class QiNiuServiceImpl implements QiNiuService {
@Cacheable
public String download(QiniuContent content,QiniuConfig config){
String finalUrl;
String TYPE = "公开";
if(TYPE.equals(content.getType())){
String type = "公开";
if(type.equals(content.getType())){
finalUrl = content.getUrl();
} else {
Auth auth = Auth.create(config.getAccessKey(), config.getSecretKey());
......
package me.zhengjie.service.mapper;
import me.zhengjie.base.BaseMapper;
import me.zhengjie.service.dto.LocalStorageDTO;
import me.zhengjie.service.dto.LocalStorageDto;
import me.zhengjie.domain.LocalStorage;
import org.mapstruct.Mapper;
import org.mapstruct.ReportingPolicy;
......@@ -11,6 +11,6 @@ import org.mapstruct.ReportingPolicy;
* @date 2019-09-05
*/
@Mapper(componentModel = "spring",unmappedTargetPolicy = ReportingPolicy.IGNORE)
public interface LocalStorageMapper extends BaseMapper<LocalStorageDTO, LocalStorage> {
public interface LocalStorageMapper extends BaseMapper<LocalStorageDto, LocalStorage> {
}
\ No newline at end of file
......@@ -7,12 +7,16 @@ package me.zhengjie.utils;
*/
public enum AliPayStatusEnum {
/** 交易成功 */
FINISHED("交易成功", "TRADE_FINISHED"),
/** 支付成功 */
SUCCESS("支付成功", "TRADE_SUCCESS"),
/** 交易创建 */
BUYER_PAY("交易创建", "WAIT_BUYER_PAY"),
/** 交易关闭 */
CLOSED("交易关闭", "TRADE_CLOSED");
private String value;
......
......@@ -36,7 +36,6 @@
<swagger.version>2.9.2</swagger.version>
<fastjson.version>1.2.54</fastjson.version>
<druid.version>1.1.10</druid.version>
<hutool.version>[4.1.12,)</hutool.version>
<commons-pool2.version>2.5.0</commons-pool2.version>
<mapstruct.version>1.2.0.Final</mapstruct.version>
</properties>
......@@ -142,12 +141,6 @@
<optional>true</optional>
</dependency>
<!--工具包-->
<dependency>
<groupId>cn.hutool</groupId>
<artifactId>hutool-all</artifactId>
<version>${hutool.version}</version>
</dependency>
<!--https://gitee.com/lionsoul/ip2region/tree/v1.4-release/-->
<dependency>
<groupId>org.lionsoul</groupId>
......
Supports Markdown
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment