package cn.com.taiji.core.entity.comm; | |||||
import java.time.LocalDateTime; | |||||
import javax.persistence.*; | |||||
import javax.validation.constraints.Size; | |||||
import cn.com.taiji.common.entity.StringPropertyUUIDEntity; | |||||
import cn.com.taiji.core.entity.dict.pay.PayChannelType; | |||||
import lombok.Getter; | |||||
import lombok.Setter; | |||||
/** | |||||
* 支付配置信息表 | |||||
* | |||||
*/ | |||||
@Getter | |||||
@Setter | |||||
@Entity | |||||
@Table(name = "COMMON_PAY_CONFIG") | |||||
public class CommonPayConfig extends StringPropertyUUIDEntity { | |||||
@Size(max = 255) | |||||
@Column(name = "APP_NAME") | |||||
private String appName; | |||||
@Size(max = 30) | |||||
@Enumerated(EnumType.STRING) | |||||
@Column(name = "PAY_CHANNEL_TYPE") | |||||
private PayChannelType payChannelType;//支付渠道:如微信,支付宝 | |||||
@Column(name = "WX_PAY_VERSION") | |||||
private Integer wxPayVersion;//微信支付版本:2-V2,3-V3 | |||||
@Size(max = 30) | |||||
@Column(name = "WX_APP_ID") | |||||
private String wxAppId;//微信appid | |||||
@Size(max = 30) | |||||
@Column(name = "WX_MCH_ID") | |||||
private String wxMchId;//微信商户号 | |||||
@Size(max = 50) | |||||
@Column(name = "WX_APIV3KEY") | |||||
private String wxApiv3key;//微信V3:apiV3Key | |||||
@Size(max = 3000) | |||||
@Column(name = "WX_PRIVATEKEY") | |||||
private String wxPrivatekey;//微信V3私钥-apiclient_key.pem | |||||
@Size(max = 50) | |||||
@Column(name = "WX_SERIAL_NO") | |||||
private String wxSerialNo;//微信V3证书序列号 | |||||
@Size(max = 50) | |||||
@Column(name = "WX_KEY") | |||||
private String wxKey;//微信V2签名密钥 | |||||
@Size(max = 255) | |||||
@Column(name = "PAY_PRODUCT_TYPE") | |||||
private String payProductType;//支付类型-暂时保留此字段 | |||||
@Size(max = 255) | |||||
@Column(name = "INFO") | |||||
private String info;//说明 | |||||
@Size(max = 11) | |||||
@Column(name = "AGENCY_ID") | |||||
private String agencyId;//渠道编号 | |||||
@Column(name = "INSERT_TIME") | |||||
private LocalDateTime insertTime = LocalDateTime.now();//创建时间 | |||||
@Column(name = "UPDATE_TIME") | |||||
private LocalDateTime updateTime = LocalDateTime.now();//更新时间 | |||||
} |
package cn.com.taiji.core.entity.basic; | |||||
package cn.com.taiji.core.entity.comm; | |||||
import javax.persistence.*; | import javax.persistence.*; | ||||
import javax.validation.constraints.NotBlank; | import javax.validation.constraints.NotBlank; | ||||
/** | /** | ||||
* | * | ||||
* | |||||
*微信车主签约配置表 | |||||
*/ | */ | ||||
@Getter | @Getter | ||||
@Setter | @Setter | ||||
@Entity | @Entity | ||||
@Table(name = "WX_SIGN_CHANNEL_CONFIG") | |||||
public class WxSignChannelConfig extends StringPropertyUUIDEntity { | |||||
@Table(name = "COMMON_WXSIGN_CONFIG") | |||||
public class CommonWxSignConfig extends StringPropertyUUIDEntity { | |||||
@NotBlank | @NotBlank | ||||
@Size(max = 11) | @Size(max = 11) |
package cn.com.taiji.core.entity.dict.pay; | |||||
import lombok.AllArgsConstructor; | |||||
import lombok.Getter; | |||||
/** | |||||
* @Author:ChenChao | |||||
* @Date:2025/5/20 17:24 | |||||
* @Filename:PayChannelType | |||||
* @description: 支付渠道类型 | |||||
*/ | |||||
@AllArgsConstructor | |||||
@Getter | |||||
public enum PayChannelType { | |||||
WEIXINPAY("微信支付"), | |||||
ALIPAY("支付宝支付"), | |||||
; | |||||
private String name; | |||||
} |
package cn.com.taiji.core.repo.jpa.basic; | |||||
import cn.com.taiji.common.repo.jpa.AbstractJpaRepo; | |||||
import cn.com.taiji.core.entity.basic.WxSignChannelConfig; | |||||
public interface WxSignChannelConfigRepo extends AbstractJpaRepo<WxSignChannelConfig, String>{ | |||||
WxSignChannelConfig findByAgencyId(String agnecyId); | |||||
} |
package cn.com.taiji.core.repo.jpa.comm; | |||||
import cn.com.taiji.common.repo.jpa.AbstractJpaRepo; | |||||
import cn.com.taiji.core.entity.comm.CommonPayConfig; | |||||
public interface CommonPayConfigRepo extends AbstractJpaRepo<CommonPayConfig, String>{ | |||||
} |
package cn.com.taiji.core.repo.jpa.comm; | |||||
import cn.com.taiji.common.repo.jpa.AbstractJpaRepo; | |||||
import cn.com.taiji.core.entity.comm.CommonWxSignConfig; | |||||
public interface CommonWxSignConfigRepo extends AbstractJpaRepo<CommonWxSignConfig, String>{ | |||||
CommonWxSignConfig findByAgencyId(String agnecyId); | |||||
} |
package cn.com.taiji.userw.api; | |||||
import cn.com.taiji.common.manager.ManagerException; | |||||
import cn.com.taiji.common.model.dao.Pagination; | |||||
import cn.com.taiji.common.web.ApiResponse; | |||||
import cn.com.taiji.userw.dto.wx.*; | |||||
import cn.com.taiji.userw.manager.wx.WxPayConfigManager; | |||||
import io.swagger.annotations.Api; | |||||
import io.swagger.annotations.ApiOperation; | |||||
import org.springframework.beans.factory.annotation.Autowired; | |||||
import org.springframework.validation.annotation.Validated; | |||||
import org.springframework.web.bind.annotation.GetMapping; | |||||
import org.springframework.web.bind.annotation.RequestBody; | |||||
import org.springframework.web.bind.annotation.RequestMapping; | |||||
import org.springframework.web.bind.annotation.RestController; | |||||
/** | |||||
* @Author:ChenChao | |||||
* @Date:2025/5/20 17:00 | |||||
* @Filename:WxPayConfigController | |||||
* @description: 支付配置管理 | |||||
*/ | |||||
@Api(tags = {"支付配置管理"}) | |||||
@RestController | |||||
@RequestMapping("/payConfig") | |||||
public class WxPayConfigController extends MyValidController{ | |||||
@Autowired | |||||
private WxPayConfigManager manager; | |||||
@ApiOperation(value = "分页查询") | |||||
@GetMapping(value = "/page") | |||||
public ApiResponse<Pagination> page(@Validated @RequestBody WxPayPageRequestDTO reqDto) { | |||||
Pagination page = manager.page(reqDto); | |||||
return ApiResponse.of(page); | |||||
} | |||||
@ApiOperation(value = "新增") | |||||
@GetMapping(value = "/add") | |||||
public ApiResponse<?> add(@Validated @RequestBody WxPayAddReqDTO reqDto) throws ManagerException { | |||||
manager.add(reqDto); | |||||
return ApiResponse.success().setMessage("新增成功"); | |||||
} | |||||
@ApiOperation(value = "修改") | |||||
@GetMapping(value = "/update") | |||||
public ApiResponse<?> update(@Validated @RequestBody WxPayUpdateReqDTO reqDto) throws ManagerException { | |||||
manager.update(reqDto); | |||||
return ApiResponse.success().setMessage("修改成功"); | |||||
} | |||||
} |
import cn.com.taiji.common.model.finals.SysFinals; | import cn.com.taiji.common.model.finals.SysFinals; | ||||
import cn.com.taiji.userw.dto.AbstractBizRequestDTO; | import cn.com.taiji.userw.dto.AbstractBizRequestDTO; | ||||
import io.swagger.annotations.ApiModelProperty; | |||||
import lombok.Data; | import lombok.Data; | ||||
/** | /** | ||||
@Data | @Data | ||||
public class WxCarPageRequestDTO extends AbstractBizRequestDTO { | public class WxCarPageRequestDTO extends AbstractBizRequestDTO { | ||||
@ApiModelProperty(value = "渠道编号") | |||||
private String agencyId; | |||||
private Integer pageNo = SysFinals.DEFAULT_PAGE_NUM; | private Integer pageNo = SysFinals.DEFAULT_PAGE_NUM; | ||||
private Integer pageSize = SysFinals.DEFAULT_PAGE_SIZE; | private Integer pageSize = SysFinals.DEFAULT_PAGE_SIZE; |
package cn.com.taiji.userw.dto.wx; | |||||
import cn.com.taiji.common.valid.ViolationValidator; | |||||
import cn.com.taiji.core.entity.dict.pay.PayChannelType; | |||||
import cn.com.taiji.core.model.comm.protocol.constraint.IntegerConstant; | |||||
import cn.com.taiji.userw.dto.AbstractBizRequestDTO; | |||||
import io.swagger.annotations.ApiModel; | |||||
import io.swagger.annotations.ApiModelProperty; | |||||
import lombok.Data; | |||||
import javax.validation.constraints.NotBlank; | |||||
import javax.validation.constraints.NotNull; | |||||
import java.math.BigDecimal; | |||||
/** | |||||
* @Author:ChenChao | |||||
* @Date:2025/5/20 15:03 | |||||
* @Filename:WxCarAddOrUpdateReqDTO | |||||
* @description: 车主签约新增修改 | |||||
*/ | |||||
@Data | |||||
@ApiModel(description = "车主配置新增") | |||||
public class WxPayAddReqDTO extends AbstractBizRequestDTO { | |||||
@ApiModelProperty(value = "app名称") | |||||
@NotBlank | |||||
private String appName; | |||||
@ApiModelProperty(value = "支付渠道类型") | |||||
@NotNull | |||||
private PayChannelType payChannelType;//支付渠道:如微信,支付宝 | |||||
@ApiModelProperty(value = "微信支付版本") | |||||
@IntegerConstant(values = "2,3", message = "微信支付版本错误!微信支付版本:2-V2,3-V3") | |||||
private Integer wxPayVersion;//微信支付版本:2-V2,3-V3 | |||||
@ApiModelProperty(value = "微信appid") | |||||
private String wxAppId;//微信appid | |||||
@ApiModelProperty(value = "微信商户号") | |||||
private String wxMchId;//微信商户号 | |||||
@ApiModelProperty(value = "微信V3:apiV3Key") | |||||
private String wxApiv3key;//微信V3:apiV3Key | |||||
@ApiModelProperty(value = "微信V3私钥-apiclient_key.pem") | |||||
private String wxPrivatekey;//微信V3私钥-apiclient_key.pem | |||||
@ApiModelProperty(value = "微信V3证书序列号") | |||||
private String wxSerialNo;//微信V3证书序列号 | |||||
@ApiModelProperty(value = "微信V2签名密钥") | |||||
private String wxKey;//微信V2签名密钥 | |||||
@ApiModelProperty(value = "支付产品类型") | |||||
private String payProductType;//支付类型-暂时保留此字段 | |||||
@ApiModelProperty(value = "说明") | |||||
@NotBlank | |||||
private String info;//说明 | |||||
@ApiModelProperty(value = "渠道编号") | |||||
@NotBlank | |||||
private String agencyId;//渠道编号 | |||||
@Override | |||||
protected void validate(ViolationValidator validator) { | |||||
super.validate(validator); | |||||
if (PayChannelType.WEIXINPAY.equals(payChannelType)){ | |||||
// validator.validField("wxPayVersion",wxPayVersion==null,"微信支付版本不能为空"); | |||||
validator.validFieldNotNull("wxPayVersion",wxPayVersion); | |||||
validator.validFieldNotBlank("wxAppId",wxAppId); | |||||
validator.validFieldNotBlank("wxMchId",wxMchId); | |||||
if (wxPayVersion != null && wxPayVersion==2){ | |||||
validator.validFieldNotBlank("wxKey",wxKey); | |||||
} | |||||
if (wxPayVersion != null && wxPayVersion==3){ | |||||
validator.validFieldNotBlank("wxApiv3key",wxApiv3key); | |||||
validator.validFieldNotBlank("wxPrivatekey",wxPrivatekey); | |||||
validator.validFieldNotBlank("wxSerialNo",wxSerialNo); | |||||
} | |||||
} | |||||
} | |||||
} |
package cn.com.taiji.userw.dto.wx; | |||||
import cn.com.taiji.common.model.finals.SysFinals; | |||||
import cn.com.taiji.userw.dto.AbstractBizRequestDTO; | |||||
import io.swagger.annotations.ApiModel; | |||||
import io.swagger.annotations.ApiModelProperty; | |||||
import lombok.Data; | |||||
/** | |||||
* @Author:ChenChao | |||||
* @Date:2025/5/20 17:05 | |||||
* @Filename:WxPayPageRequestDTO | |||||
* @description: | |||||
*/ | |||||
@Data | |||||
@ApiModel(description ="支付配置分页查询") | |||||
public class WxPayPageRequestDTO extends AbstractBizRequestDTO { | |||||
@ApiModelProperty(value = "渠道编号") | |||||
private String agencyId; | |||||
private Integer pageNo = SysFinals.DEFAULT_PAGE_NUM; | |||||
private Integer pageSize = SysFinals.DEFAULT_PAGE_SIZE; | |||||
} |
package cn.com.taiji.userw.dto.wx; | |||||
import cn.com.taiji.common.valid.ViolationValidator; | |||||
import cn.com.taiji.core.entity.dict.pay.PayChannelType; | |||||
import cn.com.taiji.core.model.comm.protocol.constraint.IntegerConstant; | |||||
import cn.com.taiji.userw.dto.AbstractBizRequestDTO; | |||||
import io.swagger.annotations.ApiModel; | |||||
import io.swagger.annotations.ApiModelProperty; | |||||
import lombok.Data; | |||||
import javax.validation.constraints.NotBlank; | |||||
import javax.validation.constraints.NotNull; | |||||
/** | |||||
* @Author:ChenChao | |||||
* @Date:2025/5/20 15:03 | |||||
* @Filename:WxCarAddOrUpdateReqDTO | |||||
* @description: 车主签约修改 | |||||
*/ | |||||
@Data | |||||
@ApiModel(description = "车主配置修改") | |||||
public class WxPayUpdateReqDTO extends AbstractBizRequestDTO { | |||||
@NotBlank | |||||
@ApiModelProperty(value = "主键id") | |||||
private String id; | |||||
@ApiModelProperty(value = "app名称") | |||||
@NotBlank | |||||
private String appName; | |||||
@ApiModelProperty(value = "支付渠道类型") | |||||
@NotNull | |||||
private PayChannelType payChannelType;//支付渠道:如微信,支付宝 | |||||
@ApiModelProperty(value = "微信支付版本") | |||||
@IntegerConstant(values = "2,3", message = "微信支付版本错误!微信支付版本:2-V2,3-V3") | |||||
private Integer wxPayVersion;//微信支付版本:2-V2,3-V3 | |||||
@ApiModelProperty(value = "微信appid") | |||||
private String wxAppId;//微信appid | |||||
@ApiModelProperty(value = "微信商户号") | |||||
private String wxMchId;//微信商户号 | |||||
@ApiModelProperty(value = "微信V3:apiV3Key") | |||||
private String wxApiv3key;//微信V3:apiV3Key | |||||
@ApiModelProperty(value = "微信V3私钥-apiclient_key.pem") | |||||
private String wxPrivatekey;//微信V3私钥-apiclient_key.pem | |||||
@ApiModelProperty(value = "微信V3证书序列号") | |||||
private String wxSerialNo;//微信V3证书序列号 | |||||
@ApiModelProperty(value = "微信V2签名密钥") | |||||
private String wxKey;//微信V2签名密钥 | |||||
@ApiModelProperty(value = "支付产品类型") | |||||
private String payProductType;//支付类型-暂时保留此字段 | |||||
@ApiModelProperty(value = "说明") | |||||
@NotBlank | |||||
private String info;//说明 | |||||
@ApiModelProperty(value = "渠道编号") | |||||
@NotBlank | |||||
private String agencyId;//渠道编号 | |||||
@Override | |||||
protected void validate(ViolationValidator validator) { | |||||
super.validate(validator); | |||||
if (PayChannelType.WEIXINPAY.equals(payChannelType)){ | |||||
// validator.validField("wxPayVersion",wxPayVersion==null,"微信支付版本不能为空"); | |||||
validator.validFieldNotNull("wxPayVersion",wxPayVersion); | |||||
validator.validFieldNotBlank("wxAppId",wxAppId); | |||||
validator.validFieldNotBlank("wxMchId",wxMchId); | |||||
if (wxPayVersion != null && wxPayVersion==2){ | |||||
validator.validFieldNotBlank("wxKey",wxKey); | |||||
} | |||||
if (wxPayVersion != null && wxPayVersion==3){ | |||||
validator.validFieldNotBlank("wxApiv3key",wxApiv3key); | |||||
validator.validFieldNotBlank("wxPrivatekey",wxPrivatekey); | |||||
validator.validFieldNotBlank("wxSerialNo",wxSerialNo); | |||||
} | |||||
} | |||||
} | |||||
} |
package cn.com.taiji.userw.manager.wx; | |||||
import cn.com.taiji.common.manager.ManagerException; | |||||
import cn.com.taiji.common.model.dao.Pagination; | |||||
import cn.com.taiji.userw.dto.wx.WxPayAddReqDTO; | |||||
import cn.com.taiji.userw.dto.wx.WxPayPageRequestDTO; | |||||
import cn.com.taiji.userw.dto.wx.WxPayUpdateReqDTO; | |||||
/** | |||||
* @Author:ChenChao | |||||
* @Date:2025/5/20 17:03 | |||||
* @Filename:WxPayConfigManager | |||||
* @description: 微信支付配置管理 | |||||
*/ | |||||
public interface WxPayConfigManager { | |||||
Pagination page(WxPayPageRequestDTO reqDto); | |||||
void add(WxPayAddReqDTO reqDto); | |||||
void update(WxPayUpdateReqDTO reqDto) throws ManagerException; | |||||
} |
package cn.com.taiji.userw.manager.wx; | |||||
import cn.com.taiji.common.manager.AbstractManager; | |||||
import cn.com.taiji.common.manager.ManagerException; | |||||
import cn.com.taiji.common.model.dao.Pagination; | |||||
import cn.com.taiji.core.entity.comm.CommonPayConfig; | |||||
import cn.com.taiji.core.repo.jpa.comm.CommonPayConfigRepo; | |||||
import cn.com.taiji.userw.dto.wx.WxPayAddReqDTO; | |||||
import cn.com.taiji.userw.dto.wx.WxPayPageRequestDTO; | |||||
import cn.com.taiji.userw.dto.wx.WxPayUpdateReqDTO; | |||||
import cn.com.taiji.userw.repo.jpa.request.CommonWxSignConfigPageRequest; | |||||
import org.springframework.beans.factory.annotation.Autowired; | |||||
import org.springframework.stereotype.Service; | |||||
/** | |||||
* @Author:ChenChao | |||||
* @Date:2025/5/20 17:03 | |||||
* @Filename:WxPayConfigManagerImpl | |||||
* @description:微信支付配置管理 | |||||
*/ | |||||
@Service | |||||
public class WxPayConfigManagerImpl extends AbstractManager implements WxPayConfigManager{ | |||||
@Autowired | |||||
private CommonPayConfigRepo commonPayConfigRepo; | |||||
@Override | |||||
public Pagination page(WxPayPageRequestDTO reqDto) { | |||||
CommonWxSignConfigPageRequest request = copyProperties(reqDto, new CommonWxSignConfigPageRequest()); | |||||
return commonPayConfigRepo.page(request); | |||||
} | |||||
@Override | |||||
public void add(WxPayAddReqDTO reqDto) { | |||||
reqDto.validate(); | |||||
CommonPayConfig commonPayConfig = copyProperties(reqDto, new CommonPayConfig()); | |||||
commonPayConfigRepo.persist(commonPayConfig); | |||||
} | |||||
@Override | |||||
public void update(WxPayUpdateReqDTO reqDto) throws ManagerException { | |||||
reqDto.validate(); | |||||
CommonPayConfig commonPayConfig = commonPayConfigRepo.findById(reqDto.getId()).orElse(null); | |||||
if (commonPayConfig == null){ | |||||
throw new ManagerException("此支付配置不存在"); | |||||
} | |||||
commonPayConfig = copyProperties(reqDto, commonPayConfig); | |||||
commonPayConfigRepo.merge(commonPayConfig); | |||||
} | |||||
} |
import cn.com.taiji.common.manager.AbstractManager; | import cn.com.taiji.common.manager.AbstractManager; | ||||
import cn.com.taiji.common.manager.ManagerException; | import cn.com.taiji.common.manager.ManagerException; | ||||
import cn.com.taiji.common.model.dao.Pagination; | import cn.com.taiji.common.model.dao.Pagination; | ||||
import cn.com.taiji.core.entity.basic.WxSignChannelConfig; | |||||
import cn.com.taiji.core.repo.jpa.basic.WxSignChannelConfigRepo; | |||||
import cn.com.taiji.core.entity.comm.CommonWxSignConfig; | |||||
import cn.com.taiji.core.repo.jpa.comm.CommonWxSignConfigRepo; | |||||
import cn.com.taiji.userw.dto.wx.WxCarAddReqDTO; | import cn.com.taiji.userw.dto.wx.WxCarAddReqDTO; | ||||
import cn.com.taiji.userw.dto.wx.WxCarPageRequestDTO; | import cn.com.taiji.userw.dto.wx.WxCarPageRequestDTO; | ||||
import cn.com.taiji.userw.dto.wx.WxCarUpdateReqDTO; | import cn.com.taiji.userw.dto.wx.WxCarUpdateReqDTO; | ||||
import cn.com.taiji.userw.repo.jpa.request.WxSignChannelConfigPageRequest; | |||||
import cn.com.taiji.userw.repo.jpa.request.CommonWxSignConfigPageRequest; | |||||
import org.springframework.beans.factory.annotation.Autowired; | import org.springframework.beans.factory.annotation.Autowired; | ||||
import org.springframework.stereotype.Service; | import org.springframework.stereotype.Service; | ||||
public class WxSignChannelConfigManagerImpl extends AbstractManager implements WxSignChannelConfigManager{ | public class WxSignChannelConfigManagerImpl extends AbstractManager implements WxSignChannelConfigManager{ | ||||
@Autowired | @Autowired | ||||
private WxSignChannelConfigRepo wxSignChannelConfigRepo; | |||||
private CommonWxSignConfigRepo commonWxSignConfigRepo; | |||||
@Override | @Override | ||||
public Pagination page(WxCarPageRequestDTO reqDto) { | public Pagination page(WxCarPageRequestDTO reqDto) { | ||||
WxSignChannelConfigPageRequest request = copyProperties(reqDto, new WxSignChannelConfigPageRequest()); | |||||
return wxSignChannelConfigRepo.page(request); | |||||
CommonWxSignConfigPageRequest request = copyProperties(reqDto, new CommonWxSignConfigPageRequest()); | |||||
return commonWxSignConfigRepo.page(request); | |||||
} | } | ||||
@Override | @Override | ||||
public void add(WxCarAddReqDTO reqDto) throws ManagerException { | public void add(WxCarAddReqDTO reqDto) throws ManagerException { | ||||
WxSignChannelConfig byAgencyId = wxSignChannelConfigRepo.findByAgencyId(reqDto.getAgencyId()); | |||||
CommonWxSignConfig byAgencyId = commonWxSignConfigRepo.findByAgencyId(reqDto.getAgencyId()); | |||||
if(byAgencyId != null){ | if(byAgencyId != null){ | ||||
throw new ManagerException("该渠道已配置"); | throw new ManagerException("该渠道已配置"); | ||||
} | } | ||||
WxSignChannelConfig config = copyProperties(reqDto, new WxSignChannelConfig()); | |||||
wxSignChannelConfigRepo.persist(config); | |||||
CommonWxSignConfig config = copyProperties(reqDto, new CommonWxSignConfig()); | |||||
commonWxSignConfigRepo.persist(config); | |||||
} | } | ||||
@Override | @Override | ||||
public void update(WxCarUpdateReqDTO reqDto) throws ManagerException { | public void update(WxCarUpdateReqDTO reqDto) throws ManagerException { | ||||
WxSignChannelConfig config = wxSignChannelConfigRepo.findById(reqDto.getId()).orElse(null); | |||||
CommonWxSignConfig config = commonWxSignConfigRepo.findById(reqDto.getId()).orElse(null); | |||||
if(config == null) throw new ManagerException("该配置不存在"); | if(config == null) throw new ManagerException("该配置不存在"); | ||||
if (!config.getAgencyId().equals(reqDto.getAgencyId())){ | if (!config.getAgencyId().equals(reqDto.getAgencyId())){ | ||||
//渠道编号被修改,要验证数据库是否已存在此编号 | //渠道编号被修改,要验证数据库是否已存在此编号 | ||||
WxSignChannelConfig byAgencyId = wxSignChannelConfigRepo.findByAgencyId(reqDto.getAgencyId()); | |||||
CommonWxSignConfig byAgencyId = commonWxSignConfigRepo.findByAgencyId(reqDto.getAgencyId()); | |||||
if (byAgencyId != null) throw new ManagerException("该渠道编号已配置,请更换渠道"); | if (byAgencyId != null) throw new ManagerException("该渠道编号已配置,请更换渠道"); | ||||
} | } | ||||
config.setUpdateTime(LocalDateTime.now()); | config.setUpdateTime(LocalDateTime.now()); | ||||
wxSignChannelConfigRepo.merge(copyProperties(reqDto, config)); | |||||
commonWxSignConfigRepo.merge(copyProperties(reqDto, config)); | |||||
} | } | ||||
} | } |
package cn.com.taiji.userw.repo.jpa.request; | |||||
import cn.com.taiji.common.pub.dao.HqlBuilder; | |||||
import cn.com.taiji.common.repo.request.jpa.JpaDateTimePageableDataRequest; | |||||
import cn.com.taiji.core.entity.comm.CommonPayConfig; | |||||
import lombok.Getter; | |||||
import lombok.Setter; | |||||
import javax.persistence.Column; | |||||
@Getter | |||||
@Setter | |||||
public class CommonPayConfigPageRequest extends JpaDateTimePageableDataRequest<CommonPayConfig>{ | |||||
private String agencyId;//渠道编号 | |||||
public CommonPayConfigPageRequest() { | |||||
this.orderBy="agencyId"; | |||||
this.desc=true; | |||||
} | |||||
@Override | |||||
public HqlBuilder toSelectHql(){ | |||||
HqlBuilder hql = new HqlBuilder("from CommonPayConfig where 1=1 "); | |||||
hql.append(" and agencyId=:agencyId", agencyId); | |||||
return hql; | |||||
} | |||||
} |
import cn.com.taiji.common.pub.dao.HqlBuilder; | import cn.com.taiji.common.pub.dao.HqlBuilder; | ||||
import cn.com.taiji.common.repo.request.jpa.JpaDateTimePageableDataRequest; | import cn.com.taiji.common.repo.request.jpa.JpaDateTimePageableDataRequest; | ||||
import cn.com.taiji.core.entity.basic.WxSignChannelConfig; | |||||
import cn.com.taiji.core.entity.comm.CommonWxSignConfig; | |||||
import lombok.Getter; | import lombok.Getter; | ||||
import lombok.Setter; | import lombok.Setter; | ||||
@Getter | @Getter | ||||
@Setter | @Setter | ||||
public class WxSignChannelConfigPageRequest extends JpaDateTimePageableDataRequest<WxSignChannelConfig> { | |||||
public class CommonWxSignConfigPageRequest extends JpaDateTimePageableDataRequest<CommonWxSignConfig> { | |||||
private String agencyId;//渠道编号 | |||||
public WxSignChannelConfigPageRequest() { | |||||
this.orderBy="id"; | |||||
public CommonWxSignConfigPageRequest() { | |||||
this.orderBy="agencyId"; | |||||
this.desc=true; | this.desc=true; | ||||
} | } | ||||
@Override | @Override | ||||
public HqlBuilder toSelectHql(){ | public HqlBuilder toSelectHql(){ | ||||
HqlBuilder hql = new HqlBuilder("from WxSignChannelConfig where 1=1 "); | HqlBuilder hql = new HqlBuilder("from WxSignChannelConfig where 1=1 "); | ||||
hql.append(" and agencyId=:agencyId", agencyId); | |||||
return hql; | return hql; | ||||
} | } | ||||