Pārlūkot izejas kodu

订单接口,老师审批接口问题修改

weifanli 3 gadi atpakaļ
vecāks
revīzija
b20d0a358c

+ 8 - 1
cooleshow-auth/auth-server/src/main/java/com/yonge/cooleshow/auth/web/controller/UserController.java

@@ -8,6 +8,7 @@ import com.yonge.cooleshow.common.constant.CommonConstants;
 import com.yonge.toolset.thirdparty.user.realname.RealnameAuthenticationPlugin;
 import com.yonge.toolset.utils.idcard.IdcardInfoExtractor;
 import com.yonge.toolset.utils.idcard.IdcardValidator;
+import com.yonge.toolset.utils.string.StringUtil;
 import io.swagger.annotations.Api;
 import io.swagger.annotations.ApiImplicitParam;
 import io.swagger.annotations.ApiImplicitParams;
@@ -322,7 +323,13 @@ public class UserController extends BaseController {
             if (sysUser.getBirthdate() != null && DateUtil.daysBetween(sysUser.getBirthdate(), date) <= 0) {
                 throw new BizException("出生日期不可超过当前时间");
             }
-
+            //手机号不能被占用
+            if(!StringUtil.isEmpty(sysUser.getPhone())){
+                SysUser newSysUser = sysUserService.queryByPhone(sysUser.getPhone());
+                if (newSysUser != null && !newSysUser.getId().equals(sysUser.getId())) {
+                    return failed("手机号被占用");
+                }
+            }
             sysUserService.updateBaseInfo(sysUser);
             return succeed();
         }

+ 0 - 1
cooleshow-user/user-admin/src/main/java/com/yonge/cooleshow/admin/controller/TeacherAuthMusicianRecordController.java

@@ -22,7 +22,6 @@ import javax.validation.Valid;
 @RequestMapping("/teacherAuthMusicianRecord")
 @Api(value = "老师音乐人审核表", tags = "老师音乐人审核表")
 public class TeacherAuthMusicianRecordController extends BaseController {
-
     @Autowired
     private TeacherAuthMusicianRecordService teacherAuthMusicianRecordService;
 	@Autowired

+ 19 - 19
cooleshow-user/user-biz/src/main/java/com/yonge/cooleshow/biz/dal/entity/UserOrderPayment.java

@@ -4,6 +4,8 @@ import com.baomidou.mybatisplus.annotation.IdType;
 import com.baomidou.mybatisplus.annotation.TableField;
 import com.baomidou.mybatisplus.annotation.TableId;
 import com.baomidou.mybatisplus.annotation.TableName;
+import com.yonge.cooleshow.biz.dal.enums.PayChannelEnum;
+import com.yonge.cooleshow.biz.dal.enums.PayStatusEnum;
 import io.swagger.annotations.ApiModel;
 import io.swagger.annotations.ApiModelProperty;
 
@@ -30,18 +32,16 @@ public class UserOrderPayment implements Serializable {
     private String transNo;
     @ApiModelProperty("支付渠道:  alipay 支付宝  wx_lite 微信 ")
 	@TableField(value = "pay_channel_")
-    private String payChannel;
+    private PayChannelEnum payChannel;
     @ApiModelProperty("交易金额,必须大于0,保留两位小数点,如0.10、100.05等 ")
 	@TableField(value = "pay_amt_")
     private BigDecimal payAmt;
     @ApiModelProperty("支付详情信息(用于拉起支付) ")
-	@TableField(value = "pay_info")
+	@TableField(value = "pay_info_")
     private String payInfo;
-    @ApiModelProperty("失效时间(超过支付失效时间的订单,会取出来判断是否已经关单,最大失效时间往前推5分钟) ")
-	@TableField(value = "invalid_time_")
-    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
-    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss",timezone="GMT+8")
-    private Date invalidTime;
+    @ApiModelProperty("交易状态 pending 交易处理中 succeeded 交易成功 failed 交易失败")
+    @TableField(value = "status_")
+    private PayStatusEnum status;
     @ApiModelProperty("到账时间 ")
 	@TableField(value = "arrival_time_")
     @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
@@ -85,16 +85,16 @@ public class UserOrderPayment implements Serializable {
     public void setTransNo(String transNo) {
         this.transNo = transNo;
     }
-    
-	public String getPayChannel() {
+
+    public PayChannelEnum getPayChannel() {
         return payChannel;
     }
 
-    public void setPayChannel(String payChannel) {
+    public void setPayChannel(PayChannelEnum payChannel) {
         this.payChannel = payChannel;
     }
-    
-	public BigDecimal getPayAmt() {
+
+    public BigDecimal getPayAmt() {
         return payAmt;
     }
 
@@ -109,16 +109,16 @@ public class UserOrderPayment implements Serializable {
     public void setPayInfo(String payInfo) {
         this.payInfo = payInfo;
     }
-    
-	public Date getInvalidTime() {
-        return invalidTime;
+
+    public PayStatusEnum getStatus() {
+        return status;
     }
 
-    public void setInvalidTime(Date invalidTime) {
-        this.invalidTime = invalidTime;
+    public void setStatus(PayStatusEnum status) {
+        this.status = status;
     }
-    
-	public Date getArrivalTime() {
+
+    public Date getArrivalTime() {
         return arrivalTime;
     }
 

+ 41 - 0
cooleshow-user/user-biz/src/main/java/com/yonge/cooleshow/biz/dal/enums/PayStatusEnum.java

@@ -0,0 +1,41 @@
+package com.yonge.cooleshow.biz.dal.enums;
+
+import com.baomidou.mybatisplus.annotation.EnumValue;
+import com.yonge.cooleshow.common.enums.BaseEnum;
+
+/**
+ * 交易状态 pending 交易处理中 succeeded 交易成功 failed 交易失败
+ * @Author: liweifan
+ * @Data: 2022/3/31 14:59
+ */
+public enum PayStatusEnum implements BaseEnum<String, PayStatusEnum> {
+    pending("pending","交易处理中"),
+    succeeded("succeeded","交易成功"),
+    failed("failed","交易失败")
+    ;
+    @EnumValue
+    private String code;
+    private String msg;
+
+    PayStatusEnum(String code, String msg) {
+        this.code = code;
+        this.msg = msg;
+    }
+
+    public void setCode(String code) {
+        this.code = code;
+    }
+
+    public String getMsg() {
+        return msg;
+    }
+
+    public void setMsg(String msg) {
+        this.msg = msg;
+    }
+
+    @Override
+    public String getCode() {
+        return this.code;
+    }
+}

+ 1 - 1
cooleshow-user/user-biz/src/main/java/com/yonge/cooleshow/biz/dal/service/impl/TeacherAuthEntryRecordServiceImpl.java

@@ -67,7 +67,7 @@ public class TeacherAuthEntryRecordServiceImpl extends ServiceImpl<TeacherAuthEn
         }
         //判断用户是否已经通过申请
         Teacher teacher = teacherDao.selectById(sysUser.getId());
-        if (teacher.getEntryFlag().equals(YesOrNoEnum.YES)) {
+        if (YesOrNoEnum.YES.equals(teacher.getEntryFlag())) {
             return HttpResponseResult.failed("已经通过审批");
         }
         //修改用户表

+ 1 - 1
cooleshow-user/user-biz/src/main/java/com/yonge/cooleshow/biz/dal/service/impl/TeacherAuthMusicianRecordServiceImpl.java

@@ -52,7 +52,7 @@ public class TeacherAuthMusicianRecordServiceImpl extends ServiceImpl<TeacherAut
         }
         //判断用户是否已经通过申请
         Teacher teacher = teacherDao.selectById(userId);
-        if(teacher.getMusicianFlag().equals(YesOrNoEnum.YES)){
+        if(YesOrNoEnum.YES.equals(teacher.getMusicianFlag())){
             return HttpResponseResult.failed("已经通过审批");
         }
 

+ 32 - 2
cooleshow-user/user-biz/src/main/java/com/yonge/cooleshow/biz/dal/service/impl/UserOrderServiceImpl.java

@@ -12,6 +12,7 @@ import com.yonge.cooleshow.biz.dal.entity.UserOrderPayment;
 import com.yonge.cooleshow.biz.dal.enums.OrderStatusEnum;
 import com.yonge.cooleshow.biz.dal.enums.OrderTypeEnum;
 import com.yonge.cooleshow.biz.dal.enums.PayChannelEnum;
+import com.yonge.cooleshow.biz.dal.enums.PayStatusEnum;
 import com.yonge.cooleshow.biz.dal.sdk.PaymentSdk;
 import com.yonge.cooleshow.biz.dal.sdk.req.DeviceInfo;
 import com.yonge.cooleshow.biz.dal.sdk.req.PaymentReq;
@@ -173,13 +174,42 @@ public class UserOrderServiceImpl extends ServiceImpl<UserOrderDao, UserOrder> i
                 MapUtil.populateMap(new HashMap<>(), res.get("expend"))
                         .get("pay_info").toString()
         );
-        //insertOrderPayment();
+
+        UserOrderPayment orderPayment = insertOrderPayment(res, payReq);
         //入订单付款表,同时修改订单状态
+
+
+        return HttpResponseResult.succeed(orderPayRes);
+    }
+
+    private UserOrderPayment insertOrderPayment(Map<String, Object> res, OrderPayReq payReq) {
         UserOrderPayment orderPayment = new UserOrderPayment();
+        orderPayment.setOrderNo(payReq.getOrderNo());
+        orderPayment.setPayChannel(payReq.getPayChannel());
 
+        try {
+            orderPayment.setTransNo(res.get("id").toString());
+            orderPayment.setPayAmt(
+                    new BigDecimal(res.get("pay_amt").toString()).setScale(2)
+            );
+            String pay_info = MapUtil.populateMap(new HashMap<>(), res.get("expend"))
+                    .get("pay_info").toString();
+            orderPayment.setPayInfo(pay_info);
+            orderPayment.setStatus(PayStatusEnum.pending);
+        } catch (Exception e) {
+            //保存异常信息
+            Map<String, Object> errMsg = new HashMap<>();
+            errMsg.put("error_code", res.get("error_code"));
+            errMsg.put("error_type", res.get("error_type"));
+            errMsg.put("error_msg", res.get("error_msg"));
+            errMsg.put("status", res.get("status"));
+            errMsg.put("invalid_param", res.get("invalid_param"));
+            orderPayment.setPayFailMsg(JSONObject.toJSONString(errMsg));
+            orderPayment.setStatus(PayStatusEnum.failed);
+        }
 
 
-        return HttpResponseResult.succeed(orderPayRes);
+        return orderPayment;
     }
 
     /***

+ 2 - 2
cooleshow-user/user-biz/src/main/resources/config/mybatis/UserOrderPaymentMapper.xml

@@ -8,7 +8,7 @@
 	        <result column="pay_channel_" property="payChannel" />
 	        <result column="pay_amt_" property="payAmt" />
 	        <result column="pay_info" property="payInfo" />
-	        <result column="invalid_time_" property="invalidTime" />
+	        <result column="status_" property="status" />
 	        <result column="arrival_time_" property="arrivalTime" />
 	        <result column="pay_fail_msg_" property="payFailMsg" />
             <result column="create_time_" property="createTime" />
@@ -23,7 +23,7 @@
         , t.pay_channel_
         , t.pay_amt_
         , t.pay_info
-        , t.invalid_time_
+        , t.status_
         , t.arrival_time_
         , t.pay_fail_msg_
         ,create_time_

+ 0 - 2
cooleshow-user/user-teacher/src/main/java/com/yonge/cooleshow/teacher/controller/TeacherAuthMusicianRecordController.java

@@ -1,6 +1,5 @@
 package com.yonge.cooleshow.teacher.controller;
 
-
 import com.yonge.cooleshow.auth.api.client.SysUserFeignService;
 import com.yonge.cooleshow.auth.api.entity.SysUser;
 import com.yonge.cooleshow.biz.dal.enums.AuthStatusEnum;
@@ -18,7 +17,6 @@ import com.yonge.cooleshow.biz.dal.service.TeacherAuthMusicianRecordService;
 @RequestMapping("/teacherAuthMusicianRecord")
 @Api(value = "老师音乐人审核表", tags = "老师音乐人审核表")
 public class TeacherAuthMusicianRecordController extends BaseController {
-
     @Autowired
     private TeacherAuthMusicianRecordService teacherAuthMusicianRecordService;
     @Autowired