Commit bd85c920 authored by hanfeng's avatar hanfeng

Merge branch 'base-modify' of http://10.5.52.3/youjj/cloud-platform into base-modify

parents 54b11680 cae2339f
......@@ -24,6 +24,7 @@ public class BaseUserMemberExportDTO implements Serializable {
private Integer id;
private String username;
private Integer memberLevel;
private String memberName;
private Integer totalNumber;
private Integer rentFreeDays;
private Integer discount;
......
......@@ -74,4 +74,7 @@ public class BaseUserMemberVO implements Serializable {
@Column(name = "name")
private String name;
@Column(name = "member_name")
private String memberName;
}
......@@ -65,6 +65,8 @@ public class UserMemberDTO {
@Column(name = "valid_time")
@ApiModelProperty(value = "有效期;0代表永久")
private Long validTime;
@Column(name = "member_name")
@ApiModelProperty("会员名")
private String memberName;
}
......@@ -17,7 +17,7 @@ public class UserMemberSaveDTO {
private String phone;
@ApiModelProperty(value = "会员名")
private String username;
private String memberName;
/**
* 会员等级
......
......@@ -40,4 +40,7 @@ public class WalletCathListDTO {
@ApiModelProperty(value = "审核日期")
private Long finishTime;
@ApiModelProperty("单号")
private String cono;
}
......@@ -29,6 +29,9 @@ public class WalletCathSumDto {
//钱包id
private Integer walletId;
//钱包版本
private Integer version;
......
......@@ -138,4 +138,7 @@ public class BaseUserMember implements Serializable {
@Column(name = "recent_recharge")
private Long recentRecharge;
@Column(name = "member_name")
private String memberName;
}
......@@ -40,5 +40,7 @@ public class BaseUserMemberExport implements Serializable {
private String crtName;
@Column(name = "crt_id")
private Integer crtId;
@Column(name = "member_name")
private String memberName;
}
......@@ -92,6 +92,15 @@ public class MyWalletCath implements Serializable {
@ApiModelProperty(value = "订单状态:0-未提现,待审核,1-已审核")
private Integer stauts;
/**
* 失败原因
*/
@Column(name = "reason")
@ApiModelProperty(value = "失败原因")
private String reason;
/**
* 提现日期
*/
......
......@@ -80,6 +80,7 @@ public class AppUserDTO {
private Integer lockDays;
private Integer discount;
private Integer memberLevel;
private String memberName;
//图标
private String icon;
private Integer memberNo;
......
......@@ -109,6 +109,8 @@ public class UserMemberVo {
*/
@ApiModelProperty(value = "是否删除;0-正常;1-删除")
private Integer isDel;
@ApiModelProperty("会员名")
private String memberName;
}
......@@ -37,4 +37,7 @@ public class WalletCathAdminVo {
@ApiModelProperty(value = "审核日期")
private Long finishTime;
@ApiModelProperty("单号")
private String cono;
}
......@@ -32,4 +32,7 @@ public class WalletCathDetailVo {
@ApiModelProperty(value = "帐号")
private String accountNumber;
@ApiModelProperty("审核失败原因")
private String reason;
}
......@@ -60,6 +60,7 @@ public class BaseUserMemberExportBiz extends BaseBiz<BaseUserMemberExportMapper,
userMemberDTO.setDiscount(level == null ? 0 : (level.getDiscount() == null ? 0 : level.getDiscount()));
userMemberDTO.setTotalNumber(userMemberSaveDTO.getTotalNumber());
userMemberDTO.setRentFreeDays(userMemberSaveDTO.getRentFreeDays());
userMemberDTO.setMemberName(userMemberSaveDTO.getMemberName());
userMemberDTO.setIsBind(1);
try {
baseUserMemberBiz.updUserMemberByUserId(userMemberDTO);
......@@ -104,8 +105,9 @@ public class BaseUserMemberExportBiz extends BaseBiz<BaseUserMemberExportMapper,
String phone = data[0];
String memberLevelName = data[1];
String totalNumber = data[2];
String rentFreeDays = data[3];
String memberName = data[2];
String totalNumber = data[3];
String rentFreeDays = data[4];
for (Map.Entry<String, Integer> entry : leaveNameAndLeaveEntry) {
if (entry.getKey().contains(memberLevelName.substring(0,1))){
......@@ -123,6 +125,7 @@ public class BaseUserMemberExportBiz extends BaseBiz<BaseUserMemberExportMapper,
userMemberDTO.setTotalNumber(Integer.valueOf(totalNumber));
userMemberDTO.setRentFreeDays(Integer.valueOf(rentFreeDays));
userMemberDTO.setIsBind(1);
userMemberDTO.setMemberName(memberName);
try {
baseUserMemberBiz.updUserMemberByUserId(userMemberDTO);
} catch (Exception e) {
......@@ -140,6 +143,7 @@ public class BaseUserMemberExportBiz extends BaseBiz<BaseUserMemberExportMapper,
.discount(discount)
.status(phoneAndUserIdMap == null ? 0 : (phoneAndUserIdMap.get(phone) == null ? 0 : 1))
.crtId(userId)
.memberName(memberName)
.crtName(userName)
.crtTime(Instant.now().toEpochMilli())
.isDel(0)
......
......@@ -244,6 +244,7 @@ public class MyWalletBiz extends BaseBiz<MyWalletMapper, MyWallet> {
sumDto.setBalance(myWallet.getBalance());
sumDto.setProceduReates(proceduReates);
sumDto.setWalletId(myWallet.getId());
sumDto.setVersion(myWallet.getVersion());
return ObjectRestResponse.succ(sumDto);
}
......@@ -303,22 +304,24 @@ public class MyWalletBiz extends BaseBiz<MyWalletMapper, MyWallet> {
myWallet.setUserId(userId);
myWallet.setBalance(balnece);
myWallet.setWithdrawals(withdrawals);
myWallet.setVersion(sumDto.getVersion());
mapper.updMyWater(myWallet);
return ObjectRestResponse.succ();
return ObjectRestResponse.succ(walletCath.getId());
}
//提现审核
public ObjectRestResponse verifyCath(Integer cathId,String cono){
if (StringUtils.isBlank(cono)||cathId==null||cathId==0){
public ObjectRestResponse verifyCath(Integer cathId,String cono,String reason,Integer status){
if ((status==1&&StringUtils.isBlank(cono))||(status==2&&StringUtils.isBlank(reason))||cathId==null||cathId==0){
return ObjectRestResponse.createFailedResult(ResultCode.NULL_CODE, "参数不能为空");
}
MyWalletCath cath=myWalletCathBiz.selectById(cathId);
if (cath==null){
return ObjectRestResponse.createFailedResult(ResultCode.NOTEXIST_CODE, "提现记录不存在");
}
cath.setStauts(1);
cath.setStauts(status);
cath.setCono(cono);
cath.setReason(reason);
cath.setFinishTime(System.currentTimeMillis());
int num=myWalletCathBiz.updateSelectiveByIdRe(cath);
if (num>0){
......@@ -327,23 +330,34 @@ public class MyWalletBiz extends BaseBiz<MyWalletMapper, MyWallet> {
wallet.setUserId(userId);
wallet=selectOne(wallet);
if (wallet!=null){
//当时钱包的余额
BigDecimal balance=cath.getBalance();
BigDecimal realAmount=cath.getRealAmount();
BigDecimal commission=cath.getCommission();
MyWalletDetail detail=new MyWalletDetail();
detail.setUserId(userId);
detail.setItype(1);
detail.setCono(cathId);
detail.setBalance(balance);
detail.setAmount(realAmount);
detail.setSource(10);
myWalletDetailBiz.insertSelective(detail);
detail.setId(null);
detail.setSource(13);
balance=balance.subtract(realAmount).setScale(2, RoundingMode.HALF_UP);
detail.setBalance(balance);
detail.setAmount(commission);
myWalletDetailBiz.insertSelective(detail);
if (status==1){
MyWalletDetail detail=new MyWalletDetail();
detail.setUserId(userId);
detail.setItype(1);
detail.setCono(cathId);
detail.setBalance(balance);
detail.setAmount(realAmount);
detail.setSource(10);
myWalletDetailBiz.insertSelective(detail);
detail.setId(null);
detail.setSource(13);
balance=balance.subtract(realAmount).setScale(2, RoundingMode.HALF_UP);
detail.setBalance(balance);
detail.setAmount(commission);
myWalletDetailBiz.insertSelective(detail);
}else {
BigDecimal amount=realAmount.add(commission);
balance=wallet.getBalance().add(amount);
BigDecimal withdrawals=wallet.getWithdrawals().subtract(amount);
wallet.setBalance(balance);
wallet.setWithdrawals(withdrawals);
mapper.updMyWater(wallet);
}
}
}
return ObjectRestResponse.succ();
......
......@@ -112,17 +112,7 @@ public class MyWalletController {
}
}
@PostMapping("/verifyCath")
@ApiOperation("提现审核")
public ObjectRestResponse verifyCath(
@RequestParam(value = "cathId",defaultValue = "0") Integer cathId,
@RequestParam(value = "cono",defaultValue = "") String cono){
try {
return myWalletBiz.verifyCath(cathId,cono);
}catch (Exception e) {
throw new BaseException(e);
}
}
@GetMapping("/txAlipayList")
@ApiOperation("获取支付账号列表")
......@@ -135,13 +125,4 @@ public class MyWalletController {
}
}
}
package com.github.wxiaoqi.security.admin.rest.admin;
import com.github.wxiaoqi.security.admin.biz.MyWalletBiz;
import com.github.wxiaoqi.security.admin.biz.MyWalletCathBiz;
import com.github.wxiaoqi.security.admin.dto.WalletCathFindDTO;
import com.github.wxiaoqi.security.admin.vo.WalletCathAdminVo;
import com.github.wxiaoqi.security.common.exception.BaseException;
import com.github.wxiaoqi.security.common.msg.ObjectRestResponse;
import com.github.wxiaoqi.security.common.vo.PageDataVO;
import io.swagger.annotations.ApiOperation;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
import org.springframework.web.bind.annotation.*;
/**
* @author libin
......@@ -23,11 +24,26 @@ public class WalletCathAdminController {
@Autowired
private MyWalletCathBiz myWalletCathBiz;
@Autowired
private MyWalletBiz myWalletBiz;
@GetMapping("/page")
public ObjectRestResponse<PageDataVO<WalletCathAdminVo>> listWalletCathWithPage(WalletCathFindDTO walletCathFindDTO){
PageDataVO<WalletCathAdminVo> walletCathAdminVoPage = myWalletCathBiz.listWalletCathWithPage(walletCathFindDTO);
return ObjectRestResponse.succ(walletCathAdminVoPage);
}
@PostMapping("/verifyCath")
@ApiOperation("提现审核")
public ObjectRestResponse verifyCath(
@RequestParam(value = "cathId",defaultValue = "0") Integer cathId,
@RequestParam(value = "cono",defaultValue = "") String cono,
@RequestParam(value = "reason",defaultValue = "") String reason,
@RequestParam(value = "status",defaultValue = "1") Integer status){
try {
return myWalletBiz.verifyCath(cathId,cono,reason,status);
}catch (Exception e) {
throw new BaseException(e);
}
}
}
......@@ -19,6 +19,7 @@
<result property="crtTime" column="crt_time"/>
<result property="updTime" column="upd_time"/>
<result property="isDel" column="is_del"/>
<result property="memberName" column="member_name"/>
</resultMap>
<select id="getInfoByUserId" resultMap="baseUserMemberMap">
......@@ -36,6 +37,7 @@
m.total_number as totalNumber,
m.buy_count as buyCount,
m.valid_time as validTime,
m.member_name as `memberName`
ml.name as name
from
base_user_member m
......
......@@ -13,7 +13,8 @@
wc.cath_type AS `cathType`,
wc.stauts,
wc.crt_time AS `crtTime`,
wc.finish_time AS `finishTime`
wc.finish_time AS `finishTime`,
wc.cono
FROM
(SELECT * FROM `my_wallet_cath` <if test="state != null">
WHERE `stauts`=#{state}
......
......@@ -146,7 +146,7 @@ public class BaseOrderBiz extends BaseBiz<BaseOrderMapper,BaseOrder> {
if(orderPageVo.getStatus() == 4) { //未交车
List<VehicleUserLicense> vehicleUserLicenses = Lists.newArrayList();
boolean flag = getTodyTime(orderPageVo.getOrderRentVehicleDetail().getStartTime());
boolean flag = getTodayTime(orderPageVo.getOrderRentVehicleDetail().getStartTime());
if(!flag) {
return ObjectRestResponse.createFailedResult(3501, "今日不是交车日期");
}
......@@ -589,9 +589,9 @@ public class BaseOrderBiz extends BaseBiz<BaseOrderMapper,BaseOrder> {
// }
// }
public boolean getTodyTime(Long time) {
public boolean getTodayTime(Long time) {
Long startTime = getDayStart();
if(time > startTime && time < startTime + 24 * 60 * 60 * 1000 - 1) {
if(time >= startTime && time <= startTime + 24 * 60 * 60 * 1000 - 1) {
return true;
}
return false;
......
......@@ -135,16 +135,16 @@
and b.name like CONCAT ("%", #{name}, "%")
</if>
<if test="startTime != null">
and r.start_time between #{startTime} and #{endTime}
or t.start_time between #{startTime} and #{endTime}
and (r.start_time between #{startTime} and #{endTime}
or t.start_time between #{startTime} and #{endTime})
</if>
<if test="startCompanyId != null">
and r.start_company_id = #{startCompanyId}
or t.start_company_id = #{startCompanyId}
and ( r.start_company_id = #{startCompanyId}
or t.start_company_id = #{startCompanyId})
</if>
<if test="startZoneId != null">
and r.start_zone_id = #{startZoneId}
or t.start_zone_id = #{startZoneId}
and (r.start_zone_id = #{startZoneId}
or t.start_zone_id = #{startZoneId})
</if>
</where>
order by b.crt_time desc
......
......@@ -64,5 +64,10 @@ public class OrderPayVo{
@ApiModelProperty(value = "买家第三方付款账号")
private String buyerAccount;
//第三方支付请求订单号
@ApiModelProperty(value = "第三方支付请求订单号")
private String tradeNo;
}
......@@ -80,6 +80,7 @@ public class OrderPayBiz extends BaseBiz<OrderPayMapper,OrderPay> {
return JsonResultUtil.createFailedResult(ResultCode.NULL_CODE, "订单不能为空");
}
String trade_no = OrderUtil.GetOrderNumber("");
orderPayVo.setTradeNo(trade_no);
String order_no=orderPayVo.getOrderNo();
Integer amount=orderPayVo.getAmount();
log.error("---下单---order_no====="+order_no+"--支付订单号--trade_no===="+trade_no+"--金额---amount===="+amount);
......@@ -92,14 +93,21 @@ public class OrderPayBiz extends BaseBiz<OrderPayMapper,OrderPay> {
if(amount <= 0) {
amount = 1;
}
Integer type=orderPayVo.getType();
Integer type=orderPayVo.getType()==null?1:orderPayVo.getType();
String jsParam="";
String notify_url=weixinHost+"/api/universal/pay/app/unauth/notify";
log.info("报名费回调路径notify_url:"+notify_url);
if(type!=null&&type==2){
Integer payWay=orderPayVo.getPayWay()==null?1:orderPayVo.getPayWay();
String sellerAccount=null;
if(type==2&&payWay==1){
sellerAccount=SystemConfig.APP_PARTNER;
jsParam=WXPay.webPay( amount+"",orderPayVo.getBody(),notify_url,trade_no,orderPayVo.getBuyerIp(), orderPayVo.getBuyerAccount());
}else {
}else if (type==1&&payWay==1){
sellerAccount=SystemConfig.APP_PARTNER;
jsParam = WXPay.apppay(amount+"",orderPayVo.getBody(),notify_url ,trade_no,orderPayVo.getBuyerIp(),0);
}else if (type==1&&payWay==2){
sellerAccount=SystemConfig.ALIPAY_PID;
jsParam=generateAliPayment(orderPayVo);
}
log.info("报名费回调路径jsParam:"+jsParam);
if(!StringUtils.isBlank(jsParam))
......@@ -107,8 +115,7 @@ public class OrderPayBiz extends BaseBiz<OrderPayMapper,OrderPay> {
try {
OrderPay orderPay= new OrderPay();
BeanUtils.copyProperties(orderPay,orderPayVo);
orderPay.setTradeNo(trade_no);
orderPay.setSellerAccount(SystemConfig.APP_PARTNER);
orderPay.setSellerAccount(sellerAccount);
insertSelective(orderPay);
log.error("---下单---order_no====="+order_no+"----成功");
} catch (Exception e) {
......@@ -116,8 +123,12 @@ public class OrderPayBiz extends BaseBiz<OrderPayMapper,OrderPay> {
log.error("---下单---order_no====="+order_no+"----异常---msg==="+ e.getMessage());
return JsonResultUtil.createFailedResult(ResultCode.EXCEPTION_CODE, "出现异常");
}
JSONObject temp = JSON.parseObject(jsParam);
return JsonResultUtil.createSuccessResultWithObj(temp);
if (payWay==1){
JSONObject temp = JSON.parseObject(jsParam);
return JsonResultUtil.createSuccessResultWithObj(temp);
}else {
return JsonResultUtil.createSuccessResultWithObj(jsParam);
}
}else{
return JsonResultUtil.createDefaultFail();
}
......@@ -246,6 +257,10 @@ public class OrderPayBiz extends BaseBiz<OrderPayMapper,OrderPay> {
// Map<String, Object> sendMap = DataUtils.objectToMap(paymentRecord);
// sendMap.put("amount", new BigDecimal(rsAmount).multiply(new BigDecimal(100)).intValue());
// sendMsgToOrder(JSONObject.toJSONString(sendMap));
String tradeNo = params.get("out_order_no");
String operationId = params.get("operation_id");
notice(tradeNo,operationId);
return ObjectRestResponse.succ().getMessage();
} catch (AlipayApiException e) {
log.error("", e);
......@@ -258,7 +273,7 @@ public class OrderPayBiz extends BaseBiz<OrderPayMapper,OrderPay> {
* @return
*/
@SuppressWarnings("rawtypes")
private ObjectRestResponse generateAliPayment(OrderPayVo orderPayVo) {
private String generateAliPayment(OrderPayVo orderPayVo) {
String notifyUrl = weixinHost + "/service/payment/notify/alipay";
......@@ -275,7 +290,7 @@ public class OrderPayBiz extends BaseBiz<OrderPayMapper,OrderPay> {
e.printStackTrace();
}
//
return ObjectRestResponse.createDefaultFail();
return null;
}
//支付宝APP支付方法
......@@ -309,13 +324,13 @@ public class OrderPayBiz extends BaseBiz<OrderPayMapper,OrderPay> {
//预授权冻结
public ObjectRestResponse fundAuthOrderAppFreeze(AlipayClient alipayClient, OrderPayVo orderPayVo) throws AlipayApiException {
public String fundAuthOrderAppFreeze(AlipayClient alipayClient, OrderPayVo orderPayVo) throws AlipayApiException {
AlipayFundAuthOrderAppFreezeRequest request = new AlipayFundAuthOrderAppFreezeRequest();
AlipayFundAuthOrderAppFreezeModel model = new AlipayFundAuthOrderAppFreezeModel();
BigDecimal realAmount = new BigDecimal(orderPayVo.getAmount().toString()).divide(new BigDecimal("100"), 2, BigDecimal.ROUND_UP);
model.setOrderTitle(orderPayVo.getSubject());
model.setOutOrderNo(orderPayVo.getOrderNo());//替换为实际订单号
model.setOutRequestNo(orderPayVo.getOrderNo());//替换为实际请求单号,保证每次请求都是唯一的
model.setOutOrderNo(orderPayVo.getTradeNo());//替换为实际订单号
model.setOutRequestNo(orderPayVo.getTradeNo());//替换为实际请求单号,保证每次请求都是唯一的
model.setPayeeUserId(SystemConfig.APP_ID);//payee_user_id,Payee_logon_id不能同时为空
model.setProductCode("PRE_AUTH_ONLINE");//PRE_AUTH_ONLINE为固定值,不要替换
model.setAmount(realAmount.toString());
......@@ -329,10 +344,10 @@ public class OrderPayBiz extends BaseBiz<OrderPayMapper,OrderPay> {
if(response.isSuccess()){
log.info("调用成功");
log.info("response: {}" + response.getBody());//签名后的参数,直接入参到
return ObjectRestResponse.succ(response.getBody());
return response.getBody();
} else {
log.info("调用失败");
return ObjectRestResponse.createDefaultFail();
return null;
}
}
//解冻预授权
......@@ -410,23 +425,6 @@ public class OrderPayBiz extends BaseBiz<OrderPayMapper,OrderPay> {
AlipayTradeRefundResponse response = alipayClient.execute(request);
log.info("response: {}"+response.getBody());
}
public Object generatePayment(OrderPayVo orderPayVo) {
switch (orderPayVo.getType()) {
case 1: //支付宝
ObjectRestResponse objectRestResponse = generateAliPayment(orderPayVo);
return objectRestResponse;
case 2: //微信
JSONObject jsonObject = preparepay(orderPayVo);
return jsonObject;
case 3: //银联
return null;
default:
log.info("不支持的付款类型,payType={}", orderPayVo.getType());
break;
}
return null;
}
public static void main(String[] args) {
......
......@@ -36,6 +36,19 @@ public class OrderPayController extends BaseController<OrderPayBiz,OrderPay> {
}
/**
* APP支付
*
* @param orderPayVo
* @return
* @throws Exception
*/
@RequestMapping(value = "/app/unauth", method = RequestMethod.POST) //匹配的是href中的download请求
public JSONObject app(@RequestBody OrderPayVo orderPayVo) {
return baseBiz.preparepay(orderPayVo);
}
/**
* 支付回调
*
......@@ -88,10 +101,5 @@ public class OrderPayController extends BaseController<OrderPayBiz,OrderPay> {
return baseBiz.alipayNotify();
}
@GetMapping(value = "/app/generate_payment")
public Object generatePayment(OrderPayVo orderPayVo) {
Object resp = baseBiz.generatePayment(orderPayVo);
return resp;
}
}
\ No newline at end of file
Markdown is supported
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