Преглед изворни кода

Merge remote-tracking branch 'origin/master'

Joburgess пре 5 година
родитељ
комит
d04d4acf34
17 измењених фајлова са 275 додато и 38 уклоњено
  1. 1 1
      mec-auth/mec-auth-api/src/main/java/com/ym/mec/auth/api/client/SysUserFeignService.java
  2. 1 0
      mec-auth/mec-auth-api/src/main/java/com/ym/mec/auth/api/client/fallback/SysUserFeignServiceFallback.java
  3. 4 4
      mec-auth/mec-auth-api/src/main/java/com/ym/mec/auth/api/entity/SysUser.java
  4. 4 20
      mec-auth/mec-auth-server/src/main/java/com/ym/mec/auth/web/controller/UserController.java
  5. 3 3
      mec-auth/mec-auth-server/src/main/resources/config/mybatis/SysUserMapper.xml
  6. 2 0
      mec-biz/src/main/java/com/ym/mec/biz/dal/dao/StudentRechargeDao.java
  7. 1 1
      mec-biz/src/main/java/com/ym/mec/biz/dal/dao/SysUserCashAccountDetailDao.java
  8. 136 0
      mec-biz/src/main/java/com/ym/mec/biz/dal/page/StudentCashDetailQueryInfo.java
  9. 12 0
      mec-biz/src/main/java/com/ym/mec/biz/dal/page/StudentRechargeQueryInfo.java
  10. 2 0
      mec-biz/src/main/java/com/ym/mec/biz/service/StudentRechargeService.java
  11. 2 0
      mec-biz/src/main/java/com/ym/mec/biz/service/SysUserCashAccountDetailService.java
  12. 10 4
      mec-biz/src/main/java/com/ym/mec/biz/service/impl/StudentRechargeServiceImpl.java
  13. 5 1
      mec-biz/src/main/java/com/ym/mec/biz/service/impl/SysUserCashAccountDetailServiceImpl.java
  14. 4 0
      mec-biz/src/main/resources/config/mybatis/StudentRechargeMapper.xml
  15. 4 0
      mec-biz/src/main/resources/config/mybatis/SysUserCashAccountDetailMapper.xml
  16. 3 4
      mec-common/common-core/src/main/java/com/ym/mec/common/service/impl/UploadFileService.java
  17. 81 0
      mec-web/src/main/java/com/ym/mec/web/controller/student/StudentCashAccountDetailController.java

+ 1 - 1
mec-auth/mec-auth-api/src/main/java/com/ym/mec/auth/api/client/SysUserFeignService.java

@@ -26,5 +26,5 @@ public interface SysUserFeignService {
 	public Object test();
 
 	@GetMapping(value = "queryUserInfo")
-	SysUser queryUserInfo();
+	public SysUser queryUserInfo();
 }

+ 1 - 0
mec-auth/mec-auth-api/src/main/java/com/ym/mec/auth/api/client/fallback/SysUserFeignServiceFallback.java

@@ -22,6 +22,7 @@ public class SysUserFeignServiceFallback implements SysUserFeignService {
 
 	@Override
 	public SysUser queryUserInfo() {
+		System.out.println("********************************");
 		return null;
 	}
 

+ 4 - 4
mec-auth/mec-auth-api/src/main/java/com/ym/mec/auth/api/entity/SysUser.java

@@ -67,8 +67,8 @@ public class SysUser {
 	@ApiModelProperty(value = "用户类型",required = false)
 	private SysUserType userType;
 
-	@ApiModelProperty(value = "性别",required = false)
-	private UserGenderEnum gender;
+	@ApiModelProperty(value = "性别0女1男",required = false)
+	private Integer gender;
 
 	@ApiModelProperty(value = "民族",required = false)
 	private String nation;
@@ -202,11 +202,11 @@ public class SysUser {
 		this.userType = userType;
 	}
 
-	public UserGenderEnum getGender() {
+	public Integer getGender() {
 		return gender;
 	}
 
-	public void setGender(UserGenderEnum gender) {
+	public void setGender(Integer gender) {
 		this.gender = gender;
 	}
 

+ 4 - 20
mec-auth/mec-auth-server/src/main/java/com/ym/mec/auth/web/controller/UserController.java

@@ -92,10 +92,9 @@ public class UserController extends BaseController {
 	@PostMapping(value = "/updatePassword",consumes = MediaType.APPLICATION_FORM_URLENCODED_VALUE)
 	@ApiImplicitParams({ @ApiImplicitParam(name = "mobile", value = "手机号", required = true, dataType = "String"),
 			@ApiImplicitParam(name = "authCode", value = "验证码", required = true, dataType = "String"),
-			@ApiImplicitParam(name = "newPassword", value = "新密码", required = true, dataType = "String"),
-			@ApiImplicitParam(name = "password", value = "旧密码", required = true, dataType = "String") })
+			@ApiImplicitParam(name = "newPassword", value = "新密码", required = true, dataType = "String")})
 	public Object updatePassword(String mobile,String authCode,String password,String newPassword) {
-		if(StringUtils.isEmpty(mobile) || StringUtils.isEmpty(authCode) || StringUtils.isEmpty(password) || StringUtils.isEmpty(newPassword)){
+		if(StringUtils.isEmpty(mobile) || StringUtils.isEmpty(authCode) || StringUtils.isEmpty(newPassword)){
 			return failed("参数校验异常");
 		}
 		SysUser sysUser = sysUserService.queryByPhone(mobile);
@@ -103,28 +102,13 @@ public class UserController extends BaseController {
 			return failed("用户不存在");
 		}
 		if(smsCodeService.verifyValidCode(mobile, authCode)){
-			if(StringUtils.equals(password,newPassword)){
-				return failed("新密码与旧密码一致");
-			}
-			BCryptPasswordEncoder bCryptPasswordEncoder = new BCryptPasswordEncoder();
-			newPassword = bCryptPasswordEncoder.encode(newPassword);
-			if(bCryptPasswordEncoder.matches(password,sysUser.getPassword())){
-				sysUserService.updatePassword(mobile,newPassword);
-				return succeed();
-			}else {
-				return failed("密码错误");
-			}
+			sysUserService.updatePassword(mobile,newPassword);
+			return succeed();
 		}else {
 			return failed("验证码错误");
 		}
 	}
 
-	/*@ApiOperation(value = "删除用户")
-	@DeleteMapping("/del/{id}")
-	public Object del(@ApiParam(value = "用户编号", required = true) @PathVariable("id") Integer id) {
-		return sysUserService.deleteById(id) ? succeed("删除成功") : failed("删除失败");
-	}*/
-
 	@ApiOperation(value = "修改用户")
 	@PostMapping(value = "/update",consumes = MediaType.APPLICATION_FORM_URLENCODED_VALUE)
 	public Object update(SysUser sysUser) {

+ 3 - 3
mec-auth/mec-auth-server/src/main/resources/config/mybatis/SysUserMapper.xml

@@ -21,7 +21,7 @@
         <result column="wx_openid_" property="wxOpenid"/>
         <result column="qq_openid_" property="qqOpenid"/>
         <result column="user_type_" property="userType" typeHandler="com.ym.mec.common.dal.CustomEnumTypeHandler"/>
-        <result column="gender_" property="gender" typeHandler="com.ym.mec.common.dal.CustomEnumTypeHandler"/>
+        <result column="gender_" property="gender"/>
         <result column="nation_" property="nation"/>
         <result column="birthdate_" property="birthdate"/>
         <result column="email_" property="email"/>
@@ -65,7 +65,7 @@
         INSERT INTO sys_user
         (im_token_,id_,username_,salt_,phone_,avatar_,organ_id_,create_time_,update_time_,wx_openid_,qq_openid_,user_type_,gender_,nation_,birthdate_,email_)
         VALUES(#{imToken},#{id},#{username},#{salt},#{phone},#{avatar},#{organId},now(),now(),#{wxOpenid},#{qqOpenid},#{userType, typeHandler=com.ym.mec.common.dal.CustomEnumTypeHandler},
-        #{gender, typeHandler=com.ym.mec.common.dal.CustomEnumTypeHandler},#{nation},#{birthdate},#{email})
+        #{gender},#{nation},#{birthdate},#{email})
     </insert>
 
     <!-- 根据主键查询一条记录 -->
@@ -85,7 +85,7 @@
                 email_ = #{email},
             </if>
             <if test="gender != null">
-                gender_ = #{gender, typeHandler=com.ym.mec.common.dal.CustomEnumTypeHandler},
+                gender_ = #{gender},
             </if>
             <if test="salt != null">
                 salt_ = #{salt},

+ 2 - 0
mec-biz/src/main/java/com/ym/mec/biz/dal/dao/StudentRechargeDao.java

@@ -5,5 +5,7 @@ import com.ym.mec.common.dal.BaseDAO;
 
 public interface StudentRechargeDao extends BaseDAO<String, StudentRecharge> {
 
+
+    StudentRecharge selectByTransNo(String transNo);
 	
 }

+ 1 - 1
mec-biz/src/main/java/com/ym/mec/biz/dal/dao/SysUserCashAccountDetailDao.java

@@ -5,5 +5,5 @@ import com.ym.mec.common.dal.BaseDAO;
 
 public interface SysUserCashAccountDetailDao extends BaseDAO<Long, SysUserCashAccountDetail> {
 
-	
+    SysUserCashAccountDetail selectDetailByTransNo(String transNo);
 }

+ 136 - 0
mec-biz/src/main/java/com/ym/mec/biz/dal/page/StudentCashDetailQueryInfo.java

@@ -0,0 +1,136 @@
+package com.ym.mec.biz.dal.page;
+
+import com.ym.mec.biz.dal.enums.DealStatusEnum;
+import com.ym.mec.biz.dal.enums.PlatformCashAccountDetailTypeEnum;
+import com.ym.mec.common.page.QueryInfo;
+import io.swagger.annotations.ApiModelProperty;
+
+import java.math.BigDecimal;
+import java.util.Date;
+
+/**
+ * @author : chengp
+ * @version V1.0
+ * @Description: TODO
+ * @date Date : 2019年09月24日 10:07
+ */
+public class StudentCashDetailQueryInfo extends QueryInfo {
+
+    /** 用户编号 */
+    @ApiModelProperty(value = "用户编号",required = false)
+    private Integer userId;
+
+    /** 交易流水号 */
+    @ApiModelProperty(value = "交易流水号",required = false)
+    private String transNo;
+
+    /** 交易类型 (RECHARGE 充值,WITHDRAW 提现,PAY_FEE 缴费,REFUNDS 退费,FILL_ACCOUNT 人工补账) */
+    @ApiModelProperty(value = "交易类型",required = false)
+    private PlatformCashAccountDetailTypeEnum type;
+
+    /** 交易状态(1,交易中;2,成功交易;-1,交易失败;) */
+    @ApiModelProperty(value = "交易状态",required = false)
+    private DealStatusEnum status;
+
+    /** 交易金额 */
+    @ApiModelProperty(value = "交易金额",required = false)
+    private BigDecimal amount;
+
+    /** 账户可用余额 */
+    @ApiModelProperty(value = "账户可用余额",required = false)
+    private BigDecimal balance;
+
+    /** 描述 */
+    @ApiModelProperty(value = "描述",required = false)
+    private String description;
+
+    /** 后台备注 */
+    @ApiModelProperty(value = "后台备注",required = false)
+    private String comment;
+
+    /** 创建时间 */
+    private java.util.Date createTime;
+
+    /** 修改时间 */
+    private java.util.Date updateTime;
+
+    public Integer getUserId() {
+        return userId;
+    }
+
+    public void setUserId(Integer userId) {
+        this.userId = userId;
+    }
+
+    public String getTransNo() {
+        return transNo;
+    }
+
+    public void setTransNo(String transNo) {
+        this.transNo = transNo;
+    }
+
+    public PlatformCashAccountDetailTypeEnum getType() {
+        return type;
+    }
+
+    public void setType(PlatformCashAccountDetailTypeEnum type) {
+        this.type = type;
+    }
+
+    public DealStatusEnum getStatus() {
+        return status;
+    }
+
+    public void setStatus(DealStatusEnum status) {
+        this.status = status;
+    }
+
+    public BigDecimal getAmount() {
+        return amount;
+    }
+
+    public void setAmount(BigDecimal amount) {
+        this.amount = amount;
+    }
+
+    public BigDecimal getBalance() {
+        return balance;
+    }
+
+    public void setBalance(BigDecimal balance) {
+        this.balance = balance;
+    }
+
+    public String getDescription() {
+        return description;
+    }
+
+    public void setDescription(String description) {
+        this.description = description;
+    }
+
+    public String getComment() {
+        return comment;
+    }
+
+    public void setComment(String comment) {
+        this.comment = comment;
+    }
+
+    public Date getCreateTime() {
+        return createTime;
+    }
+
+    public void setCreateTime(Date createTime) {
+        this.createTime = createTime;
+    }
+
+    public Date getUpdateTime() {
+        return updateTime;
+    }
+
+    public void setUpdateTime(Date updateTime) {
+        this.updateTime = updateTime;
+    }
+}

+ 12 - 0
mec-biz/src/main/java/com/ym/mec/biz/dal/page/StudentRechargeQueryInfo.java

@@ -0,0 +1,12 @@
+package com.ym.mec.biz.dal.page;
+
+import com.ym.mec.common.page.QueryInfo;
+
+/**
+ * @author : chengp
+ * @version V1.0
+ * @Description: TODO
+ * @date Date : 2019年09月24日 10:07
+ */
+public class StudentRechargeQueryInfo extends QueryInfo {
+}

+ 2 - 0
mec-biz/src/main/java/com/ym/mec/biz/service/StudentRechargeService.java

@@ -11,4 +11,6 @@ public interface StudentRechargeService extends BaseService<String, StudentRecha
      * @param rechargeDto
      */
     Boolean recharge(RechargeDto rechargeDto);
+
+    StudentRecharge selectByTransNo(String transNo);
 }

+ 2 - 0
mec-biz/src/main/java/com/ym/mec/biz/service/SysUserCashAccountDetailService.java

@@ -5,4 +5,6 @@ import com.ym.mec.common.service.BaseService;
 
 public interface SysUserCashAccountDetailService extends BaseService<Long, SysUserCashAccountDetail> {
 
+    SysUserCashAccountDetail selectDetailByTransNo(String transNo);
+
 }

+ 10 - 4
mec-biz/src/main/java/com/ym/mec/biz/service/impl/StudentRechargeServiceImpl.java

@@ -40,17 +40,17 @@ public class StudentRechargeServiceImpl extends BaseServiceImpl<String, StudentR
 	@Override
 	public Boolean recharge(RechargeDto rechargeDto) {
 
-		//TODO ???????????????
+		//TODO 调用第三方支付
 		Date now  = new Date();
 
-		//?????????
+		//充值记录
         StudentRecharge studentRecharge = new StudentRecharge();
         studentRecharge.setAmount(rechargeDto.getRechargeAmount());
 		studentRecharge.setCreateTime(now);
 		studentRecharge.setUserId(rechargeDto.getUserId().longValue());
 		studentRecharge.setTransNo(null);
 		studentRechargeDao.insert(studentRecharge);
-		//??????
+		//账户资金流水
 		SysUserCashAccountDetail cashAccount = new SysUserCashAccountDetail();
 		cashAccount.setAmount(rechargeDto.getRechargeAmount());
 		cashAccount.setBalance(null);
@@ -59,9 +59,15 @@ public class StudentRechargeServiceImpl extends BaseServiceImpl<String, StudentR
 		cashAccount.setUserId(rechargeDto.getUserId());
 		cashAccount.setCreateTime(now);
 		sysUserCashAccountDetailDao.insert(cashAccount);
-		//??????????
+
+		//扣减账户
 		sysUserCashAccountDao.incrAccount(rechargeDto.getUserId(),rechargeDto.getRechargeAmount());
 
 		return true;
 	}
+
+	@Override
+	public StudentRecharge selectByTransNo(String transNo) {
+		return studentRechargeDao.selectByTransNo(transNo);
+	}
 }

+ 5 - 1
mec-biz/src/main/java/com/ym/mec/biz/service/impl/SysUserCashAccountDetailServiceImpl.java

@@ -19,5 +19,9 @@ public class SysUserCashAccountDetailServiceImpl extends BaseServiceImpl<Long, S
 	public BaseDAO<Long, SysUserCashAccountDetail> getDAO() {
 		return sysUserCashAccountDetailDao;
 	}
-	
+
+	@Override
+	public SysUserCashAccountDetail selectDetailByTransNo(String transNo) {
+		return sysUserCashAccountDetailDao.selectDetailByTransNo(transNo);
+	}
 }

+ 4 - 0
mec-biz/src/main/resources/config/mybatis/StudentRechargeMapper.xml

@@ -97,4 +97,8 @@
     <select id="queryCount" resultType="int">
 		SELECT COUNT(*) FROM student_recharge
 	</select>
+
+    <select id="selectByTransNo" resultMap="StudentRecharge">
+		SELECT * FROM student_recharge WHERE  trans_no_ = #{transNo}
+	</select>
 </mapper>

+ 4 - 0
mec-biz/src/main/resources/config/mybatis/SysUserCashAccountDetailMapper.xml

@@ -96,4 +96,8 @@
 		SELECT COUNT(*) FROM sys_user_cash_account_detail
 		WHERE user_id_ = #{userId}
 	</select>
+
+    <select id="selectDetailByTransNo" resultMap="SysUserCashAccountDetail">
+		SELECT * FROM sys_user_cash_account_detail WHERE    trans_no_ = #{transNo}
+	</select>
 </mapper>

+ 3 - 4
mec-common/common-core/src/main/java/com/ym/mec/common/service/impl/UploadFileService.java

@@ -4,6 +4,7 @@ import java.io.File;
 import java.io.FileOutputStream;
 import java.io.IOException;
 import java.io.InputStream;
+import java.nio.file.Files;
 
 import org.apache.commons.io.FileUtils;
 import org.apache.commons.io.IOUtils;
@@ -27,7 +28,7 @@ public class UploadFileService {
 	private StoragePlugin storagePlugin;
 
 	/** 最大上传大小,单位kb */
-	@Value("${common.upload.maxSize:10}")
+	@Value("${common.upload.maxSize:10240}")
 	private int maxSize;
 
 	/** 支持的扩展名 */
@@ -35,7 +36,7 @@ public class UploadFileService {
 	private String supportExtensions;
 
 	/** 文件根目录 */
-	@Value("common.upload.fileRoot:/var/tmp/")
+	@Value("/var/tmp/")
 	private String fileRoot;
 
 	public UploadReturnBean uploadFile(InputStream in, String ext) {
@@ -59,9 +60,7 @@ public class UploadFileService {
 
 		String folder = UploadUtil.getFileFloder();
 		String filePath = UploadUtil.getFilePath(root, staticFloder, folder);
-
 		File file = uploadFile(in, filePath, fileName);
-
 		if (maxSize > 0 && maxSize < file.length() / 1024) {
 			FileUtils.deleteQuietly(file);
 			uploadReturn.setMessage("超出允许的大小限制");

+ 81 - 0
mec-web/src/main/java/com/ym/mec/web/controller/student/StudentCashAccountDetailController.java

@@ -0,0 +1,81 @@
+package com.ym.mec.web.controller.student;
+import com.ym.mec.biz.dal.entity.StudentRecharge;
+import com.ym.mec.biz.dal.entity.SysUserCashAccountDetail;
+import com.ym.mec.biz.dal.enums.DealStatusEnum;
+import com.ym.mec.biz.dal.page.StudentCashDetailQueryInfo;
+import com.ym.mec.biz.service.StudentRechargeService;
+import com.ym.mec.biz.service.SysUserCashAccountDetailService;
+import com.ym.mec.common.controller.BaseController;
+import io.swagger.annotations.Api;
+import io.swagger.annotations.ApiOperation;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.http.MediaType;
+import org.springframework.util.StringUtils;
+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;
+
+import java.util.Date;
+
+/**
+ * @version V1.0
+ * @Description: TODO
+ * @date Date : 2019年09月24日 10:00
+ */
+@RequestMapping("cashAccountDetail")
+@Api(tags = "学生充值")
+@RestController
+public class StudentCashAccountDetailController extends BaseController {
+
+
+    @Autowired
+    private SysUserCashAccountDetailService sysUserCashAccountDetailService;
+
+    @Autowired
+    private StudentRechargeService studentRechargeService;
+    @ApiOperation(value = "账户流水列表")
+    @GetMapping(value = "/queryPage",produces = MediaType.APPLICATION_JSON_UTF8_VALUE)
+    public Object queryPage(@RequestBody(required = false) StudentCashDetailQueryInfo queryInfo){
+        if(queryInfo == null){
+            queryInfo = new StudentCashDetailQueryInfo();
+        }
+        return succeed(sysUserCashAccountDetailService.queryPage(queryInfo));
+    }
+
+    /**
+     * 同步
+     * @return
+     */
+    @ApiOperation(value = "账户流水同步")
+    @GetMapping(value = "/synTransStatus",produces = MediaType.APPLICATION_JSON_UTF8_VALUE)
+    public Object synTransStatus(@RequestBody String transNo){
+
+        if(StringUtils.isEmpty(transNo)){
+            return failed();
+        }
+
+        //
+        StudentRecharge studentRecharge = studentRechargeService.selectByTransNo(transNo);
+        if(studentRecharge == null){
+            return failed("交易不存在");
+        }
+        SysUserCashAccountDetail sysUserCashAccountDetail = sysUserCashAccountDetailService.selectDetailByTransNo(transNo);
+        if(sysUserCashAccountDetail == null){
+            return failed("交易不存在");
+        }
+
+        //TODO 查询第三方
+
+        //更新充值记录
+        studentRecharge.setStatus(DealStatusEnum.ING);
+        studentRecharge.setModifyTime(new Date());
+        studentRechargeService.update(studentRecharge);
+
+        //更新流水记录
+        sysUserCashAccountDetail.setStatus(DealStatusEnum.ING);
+        sysUserCashAccountDetail.setUpdateTime(new Date());
+        sysUserCashAccountDetailService.update(sysUserCashAccountDetail);
+        return succeed();
+    }
+}