zouxuan 5 years ago
parent
commit
33152afce4

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

@@ -88,13 +88,27 @@ public class SysUser implements Serializable{
 
 	@ApiModelProperty(value = "融云token",required = false)
 	private String imToken;
-	
+
+	@ApiModelProperty(value = "身份证号",required = false)
 	private String idCardNo;
-	
+
+	@ApiModelProperty(value = "真实姓名",required = false)
+	private String realName;
+
+	@ApiModelProperty(value = "e签宝唯一编号",required = false)
 	private String esignId;
-	
+
+	@ApiModelProperty(value = "微信号",required = false)
 	private String wechatId;
 
+	public String getRealName() {
+		return realName;
+	}
+
+	public void setRealName(String realName) {
+		this.realName = realName;
+	}
+
 	public String getImToken() {
 		return imToken;
 	}

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

@@ -66,9 +66,9 @@
         </selectKey>
         -->
         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_,id_card_no_,esign_id_,wechat_id_)
+        (im_token_,id_,username_,salt_,phone_,avatar_,organ_id_,create_time_,update_time_,wx_openid_,qq_openid_,user_type_,gender_,nation_,birthdate_,email_,id_card_no_,esign_id_,wechat_id_,real_name_)
         VALUES(#{imToken},#{id},#{username},#{salt},#{phone},#{avatar},#{organId},now(),now(),#{wxOpenid},#{qqOpenid},#{userType, typeHandler=com.ym.mec.common.dal.CustomEnumTypeHandler},
-        #{gender},#{nation},#{birthdate},#{email},#{idCardNo},#{esignId},#{wechatId})
+        #{gender},#{nation},#{birthdate},#{email},#{idCardNo},#{esignId},#{wechatId},#{realName})
     </insert>
 
     <!-- 根据主键查询一条记录 -->
@@ -132,6 +132,9 @@
             <if test="wechatId != null">
                 wechat_id_ = #{wechatId},
             </if>
+            <if test="realName != null">
+                real_name = #{realName},
+            </if>
         </set>
         WHERE id_ = #{id}
     </update>

+ 15 - 4
mec-biz/src/main/java/com/ym/mec/biz/dal/dao/ClassGroupDao.java

@@ -1,9 +1,6 @@
 package com.ym.mec.biz.dal.dao;
 
-import com.ym.mec.biz.dal.dto.ClassGroupTeachers;
-import com.ym.mec.biz.dal.dto.CourseListDto;
-import com.ym.mec.biz.dal.dto.TeacherMusicClassInfoDto;
-import com.ym.mec.biz.dal.dto.TeacherVipClassInfoDto;
+import com.ym.mec.biz.dal.dto.*;
 import com.ym.mec.biz.dal.entity.ClassGroup;
 import com.ym.mec.common.dal.BaseDAO;
 
@@ -124,4 +121,18 @@ public interface ClassGroupDao extends BaseDAO<Integer, ClassGroup> {
      * @return
      */
     List<ImUserModel> findGroupUsers(String musicGroupId);
+
+    /**
+     * count学员购买列表
+     * @param params
+     * @return
+     */
+    int countStudentPayLog(Map<String, Object> params);
+
+    /**
+     * 分页查询学员购买列表
+     * @param params
+     * @return
+     */
+    List<StudentPayInfoDto> queryStudentPayLog(Map<String, Object> params);
 }

+ 52 - 0
mec-biz/src/main/java/com/ym/mec/biz/dal/dto/StudentPayInfoDto.java

@@ -0,0 +1,52 @@
+package com.ym.mec.biz.dal.dto;
+
+import com.ym.mec.biz.dal.enums.OrderTypeEnum;
+import io.swagger.annotations.ApiModelProperty;
+
+import java.math.BigDecimal;
+import java.util.Date;
+
+public class StudentPayInfoDto {
+
+    private String name;
+
+    @ApiModelProperty(value = "订单类型",required = true)
+    private OrderTypeEnum type;
+
+    @ApiModelProperty(value = "实际金额",required = true)
+    private BigDecimal actualAmount;
+
+    private Date createTime;
+
+    public String getName() {
+        return name;
+    }
+
+    public void setName(String name) {
+        this.name = name;
+    }
+
+    public OrderTypeEnum getType() {
+        return type;
+    }
+
+    public void setType(OrderTypeEnum type) {
+        this.type = type;
+    }
+
+    public BigDecimal getActualAmount() {
+        return actualAmount;
+    }
+
+    public void setActualAmount(BigDecimal actualAmount) {
+        this.actualAmount = actualAmount;
+    }
+
+    public Date getCreateTime() {
+        return createTime;
+    }
+
+    public void setCreateTime(Date createTime) {
+        this.createTime = createTime;
+    }
+}

+ 34 - 1
mec-biz/src/main/java/com/ym/mec/biz/dal/entity/SysUserBankCard.java

@@ -66,7 +66,40 @@ public class SysUserBankCard {
 	/**  */
 	@ApiModelProperty(value = "联系方式",required = false)
 	private String transNo;
-	
+
+	@ApiModelProperty(value = "真实姓名",required = false)
+	private String realName;
+
+	@ApiModelProperty(value = "身份证号",required = false)
+	private String idCardNo;
+
+	@ApiModelProperty(value = "验证码",required = false)
+	private String smsCode;
+
+	public String getSmsCode() {
+		return smsCode;
+	}
+
+	public void setSmsCode(String smsCode) {
+		this.smsCode = smsCode;
+	}
+
+	public String getRealName() {
+		return realName;
+	}
+
+	public void setRealName(String realName) {
+		this.realName = realName;
+	}
+
+	public String getIdCardNo() {
+		return idCardNo;
+	}
+
+	public void setIdCardNo(String idCardNo) {
+		this.idCardNo = idCardNo;
+	}
+
 	public void setId(Long id){
 		this.id = id;
 	}

+ 29 - 0
mec-biz/src/main/java/com/ym/mec/biz/dal/page/StudentPayLogQueryInfo.java

@@ -0,0 +1,29 @@
+package com.ym.mec.biz.dal.page;
+
+import com.ym.mec.biz.dal.enums.OrderTypeEnum;
+import com.ym.mec.common.page.QueryInfo;
+import io.swagger.annotations.ApiModelProperty;
+
+public class StudentPayLogQueryInfo extends QueryInfo {
+
+    @ApiModelProperty(value = "订单类型",required = true)
+    private OrderTypeEnum type;
+
+    private Integer userId;
+
+    public Integer getUserId() {
+        return userId;
+    }
+
+    public void setUserId(Integer userId) {
+        this.userId = userId;
+    }
+
+    public OrderTypeEnum getType() {
+        return type;
+    }
+
+    public void setType(OrderTypeEnum type) {
+        this.type = type;
+    }
+}

+ 8 - 2
mec-biz/src/main/java/com/ym/mec/biz/service/ClassGroupService.java

@@ -4,13 +4,12 @@ import java.util.List;
 
 import com.ym.mec.biz.dal.dto.*;
 import com.ym.mec.biz.dal.entity.ClassGroup;
-import com.ym.mec.biz.dal.entity.ClassGroupTeacherSalary;
+import com.ym.mec.biz.dal.page.StudentPayLogQueryInfo;
 import com.ym.mec.biz.dal.page.VipClassQueryInfo;
 import com.ym.mec.common.entity.ImGroupModel;
 import com.ym.mec.common.entity.ImUserModel;
 import com.ym.mec.common.page.PageInfo;
 import com.ym.mec.common.service.BaseService;
-import org.apache.ibatis.annotations.Param;
 
 public interface ClassGroupService extends BaseService<Integer, ClassGroup> {
 
@@ -138,4 +137,11 @@ public interface ClassGroupService extends BaseService<Integer, ClassGroup> {
      * @return
      */
     List<ImUserModel> findGroupUsers(String groupId);
+
+    /**
+     * 分页查询学生购买记录
+     * @param studentPayLogQueryInfo
+     * @return
+     */
+    PageInfo<StudentPayInfoDto> queryStudentPayLog(StudentPayLogQueryInfo studentPayLogQueryInfo);
 }

+ 6 - 0
mec-biz/src/main/java/com/ym/mec/biz/service/SysUserBankCardService.java

@@ -5,4 +5,10 @@ import com.ym.mec.common.service.BaseService;
 
 public interface SysUserBankCardService extends BaseService<Long, SysUserBankCard> {
 
+    /**
+     * 新增银行卡
+     * @param sysUserBankCard
+     * @return
+     */
+    boolean add(SysUserBankCard sysUserBankCard);
 }

+ 20 - 0
mec-biz/src/main/java/com/ym/mec/biz/service/impl/ClassGroupServiceImpl.java

@@ -7,6 +7,7 @@ import com.ym.mec.biz.dal.dao.TeacherDao;
 import com.ym.mec.biz.dal.dto.*;
 import com.ym.mec.biz.dal.entity.*;
 import com.ym.mec.biz.dal.enums.*;
+import com.ym.mec.biz.dal.page.StudentPayLogQueryInfo;
 import com.ym.mec.biz.dal.page.VipClassQueryInfo;
 import com.ym.mec.biz.service.*;
 import com.ym.mec.common.dal.BaseDAO;
@@ -375,4 +376,23 @@ public class ClassGroupServiceImpl extends BaseServiceImpl<Integer, ClassGroup>
         }
         return classGroupDao.findGroupUsers(groupId.substring(2));
     }
+
+    @Override
+    public PageInfo<StudentPayInfoDto> queryStudentPayLog(StudentPayLogQueryInfo queryInfo) {
+        PageInfo<StudentPayInfoDto> pageInfo = new PageInfo<>(queryInfo.getPage(), queryInfo.getRows());
+        Map<String, Object> params = new HashMap<>();
+        MapUtil.populateMap(params, queryInfo);
+        List<StudentPayInfoDto> dataList = null;
+        int count = classGroupDao.countStudentPayLog(params);
+        if (count > 0) {
+            pageInfo.setTotal(count);
+            params.put("offset", pageInfo.getOffset());
+            dataList = classGroupDao.queryStudentPayLog(params);
+        }
+        if (count == 0) {
+            dataList = new ArrayList<>();
+        }
+        pageInfo.setRows(dataList);
+        return pageInfo;
+    }
 }

+ 18 - 1
mec-biz/src/main/java/com/ym/mec/biz/service/impl/SysUserBankCardServiceImpl.java

@@ -6,6 +6,7 @@ import com.ym.mec.biz.service.SysUserBankCardService;
 import com.ym.mec.common.dal.BaseDAO;
 import com.ym.mec.common.service.impl.BaseServiceImpl;
 import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.data.redis.core.RedisTemplate;
 import org.springframework.stereotype.Service;
 
 @Service
@@ -13,10 +14,26 @@ public class SysUserBankCardServiceImpl extends BaseServiceImpl<Long, SysUserBan
 	
 	@Autowired
 	private SysUserBankCardDao sysUserBankCardDao;
+	@Autowired
+	private RedisTemplate<String,String> redisTemplate;
+	private final String loginVerifyCodeKey = "loginVerifyCode:";
 
 	@Override
 	public BaseDAO<Long, SysUserBankCard> getDAO() {
 		return sysUserBankCardDao;
 	}
-	
+
+	@Override
+	public boolean add(SysUserBankCard sysUserBankCard) {
+		/*if(StringUtils.isEmpty(sysUserBankCard.getSmsCode()) || StringUtils.isEmpty(sysUserBankCard.getMobilePhone())){
+			return false;
+		}
+		String verifyCode = redisTemplate.opsForValue().get(loginVerifyCodeKey + sysUserBankCard.getMobilePhone());
+		if(StringUtils.isNotEmpty(verifyCode) && StringUtils.equalsIgnoreCase(verifyCode,sysUserBankCard.getSmsCode())){
+			sysUserBankCardDao.insert(sysUserBankCard);
+			return true;
+		}*/
+		sysUserBankCardDao.insert(sysUserBankCard);
+		return false;
+	}
 }

+ 39 - 0
mec-biz/src/main/resources/config/mybatis/ClassGroupMapper.xml

@@ -315,4 +315,43 @@
         LEFT JOIN sys_user su ON cgsm.user_id_ = su.id_
         WHERE cgsm.class_group_id_ = #{musicGroupId} GROUP BY su.id_
     </select>
+    <select id="countStudentPayLog" resultType="java.lang.Integer">
+        SELECT COUNT(spo.id_)
+        FROM student_payment_order spo
+        LEFT JOIN class_group cg ON cg.id_ = spo.class_group_id_
+        <where>
+            <if test="search != null and search != ''">
+                AND cg.name_ LIKE CONCAT('%',#{search},'%')
+            </if>
+            <if test="userId != null">
+                AND spo.user_id_ = #{userId}
+            </if>
+            <if test="type != null">
+                AND spo.type_ = #{type,typeHandler=com.ym.mec.common.dal.CustomEnumTypeHandler}
+            </if>
+        </where>
+    </select>
+    <resultMap id="StudentPayInfoDto" type="com.ym.mec.biz.dal.dto.StudentPayInfoDto">
+        <result column="actual_amount_" property="actualAmount"/>
+        <result column="name_" property="name"/>
+        <result column="create_time_" property="createTime"/>
+        <result column="type_" property="type" typeHandler="com.ym.mec.common.dal.CustomEnumTypeHandler"/>
+    </resultMap>
+    <select id="queryStudentPayLog" resultMap="StudentPayInfoDto">
+        SELECT spo.actual_amount_,spo.status_,spo.type_,cg.name_,spo.create_time_
+        FROM student_payment_order spo
+        LEFT JOIN class_group cg ON cg.id_ = spo.class_group_id_
+        <where>
+            <if test="search != null and search != ''">
+                AND cg.name_ LIKE CONCAT('%',#{search},'%')
+            </if>
+            <if test="userId != null">
+                AND spo.user_id_ = #{userId}
+            </if>
+            <if test="type != null">
+                AND spo.type_ = #{type,typeHandler=com.ym.mec.common.dal.CustomEnumTypeHandler}
+            </if>
+        </where>
+        <include refid="global.limit"/>
+    </select>
 </mapper>

+ 11 - 2
mec-biz/src/main/resources/config/mybatis/SysUserBankCardMapper.xml

@@ -22,6 +22,8 @@
         <result column="is_quick_" property="isQuick" typeHandler="com.ym.mec.common.dal.CustomEnumTypeHandler"/>
         <result column="mobile_phone_" property="mobilePhone"/>
         <result column="trans_no_" property="transNo"/>
+        <result column="id_card_no_" property="idCardNo"/>
+        <result column="real_name_" property="realName"/>
     </resultMap>
 
     <!-- 根据主键查询一条记录 -->
@@ -43,8 +45,9 @@
         </selectKey>
         -->
         INSERT INTO sys_user_bank_card
-        (id_,user_id_,is_default_,bank_name_,bank_code_,card_no_,province_,city_,address,create_on_,modify_on_,is_quick_,mobile_phone_,trans_no_)
-        VALUES(#{id},#{userId},#{isDefault,typeHandler=com.ym.mec.common.dal.CustomEnumTypeHandler},#{bankName},#{bankCode},#{cardNo},#{province},#{city},#{address},now(),now(),#{isQuick,typeHandler=com.ym.mec.common.dal.CustomEnumTypeHandler},#{mobilePhone},#{transNo})
+        (id_,user_id_,is_default_,bank_name_,bank_code_,card_no_,province_,city_,address,create_on_,modify_on_,is_quick_,mobile_phone_,trans_no_,real_name_,id_card_no_)
+        VALUES(#{id},#{userId},#{isDefault,typeHandler=com.ym.mec.common.dal.CustomEnumTypeHandler},#{bankName},#{bankCode},#{cardNo},#{province},
+        #{city},#{address},now(),now(),#{isQuick,typeHandler=com.ym.mec.common.dal.CustomEnumTypeHandler},#{mobilePhone},#{transNo},#{realName},#{idCardNo})
     </insert>
 
     <!-- 根据主键查询一条记录 -->
@@ -90,6 +93,12 @@
             <if test="transNo != null">
                 trans_no_ = #{transNo},
             </if>
+            <if test="idCardNo != null">
+                id_card_no_ = #{idCardNo},
+            </if>
+            <if test="realName != null">
+                real_name_ = #{realName},
+            </if>
         </set>
         WHERE id_ = #{id}
     </update>

+ 14 - 0
mec-student/src/main/java/com/ym/mec/student/controller/CourseController.java

@@ -2,14 +2,17 @@ package com.ym.mec.student.controller;
 
 import com.ym.mec.auth.api.client.SysUserFeignService;
 import com.ym.mec.auth.api.entity.SysUser;
+import com.ym.mec.biz.dal.page.StudentPayLogQueryInfo;
 import com.ym.mec.biz.service.ClassGroupService;
 import com.ym.mec.biz.service.MusicGroupService;
 import com.ym.mec.common.controller.BaseController;
+import com.ym.mec.common.security.SecurityUtils;
 import io.swagger.annotations.Api;
 import io.swagger.annotations.ApiOperation;
 import org.apache.commons.lang3.StringUtils;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.web.bind.annotation.GetMapping;
+import org.springframework.web.bind.annotation.PostMapping;
 import org.springframework.web.bind.annotation.RequestMapping;
 import org.springframework.web.bind.annotation.RestController;
 
@@ -56,4 +59,15 @@ public class CourseController extends BaseController {
         }
         return succeed(classGroupService.get(Integer.parseInt(groupId.substring(2))));
     }
+
+    @ApiOperation(value = "分页获取学员购买记录")
+    @PostMapping("/queryStudentPayLog")
+    public Object queryStudentPayLog(StudentPayLogQueryInfo studentPayLogQueryInfo){
+        SysUser sysUser = sysUserFeignService.queryUserInfo();
+        if(sysUser == null || sysUser.getId() == null){
+            return failed("获取用户失败");
+        }
+        studentPayLogQueryInfo.setUserId(sysUser.getId());
+        return succeed(classGroupService.queryStudentPayLog(studentPayLogQueryInfo));
+    }
 }

+ 6 - 4
mec-web/src/main/java/com/ym/mec/web/controller/SysUserBankCardController.java

@@ -23,19 +23,21 @@ public class SysUserBankCardController extends BaseController {
     @ApiOperation(value = "新增银行卡信息")
     @PostMapping("/add")
     public Object add(SysUserBankCard sysUserBankCard) {
-        sysUserBankCardService.insert(sysUserBankCard);
-        return succeed();
+        if(sysUserBankCard == null){
+            return failed("参数校验异常");
+        }
+        return sysUserBankCardService.add(sysUserBankCard)?succeed():failed();
     }
 
     @ApiOperation(value = "删除银行卡信息")
-    @PostMapping("/del/{id}")
+    @PostMapping("/del")
     public Object del(@ApiParam(value = "银行卡信息编号", required = true) @PathVariable("id") Long id) {
         sysUserBankCardService.delete(id);
         return succeed();
     }
 
     @ApiOperation(value = "修改银行卡信息")
-    @PutMapping("/update")
+    @PostMapping("/update")
     public Object update(SysUserBankCard sysUserBankCard) {
         sysUserBankCard.setModifyOn(new Date());
         sysUserBankCardService.update(sysUserBankCard);

+ 10 - 34
mec-web/src/main/java/com/ym/mec/web/controller/SysUserCashAccountController.java

@@ -1,20 +1,16 @@
 package com.ym.mec.web.controller;
 
-import com.ym.mec.biz.dal.entity.ChargeType;
-import com.ym.mec.biz.dal.entity.SysUserCashAccount;
-import com.ym.mec.biz.service.ChargeTypeService;
+import com.ym.mec.auth.api.client.SysUserFeignService;
+import com.ym.mec.auth.api.entity.SysUser;
 import com.ym.mec.biz.service.SysUserCashAccountService;
 import com.ym.mec.common.controller.BaseController;
 import com.ym.mec.common.page.QueryInfo;
-import com.ym.mec.common.security.AuthUser;
-import com.ym.mec.common.security.SecurityUtils;
 import io.swagger.annotations.Api;
 import io.swagger.annotations.ApiOperation;
-import io.swagger.annotations.ApiParam;
 import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.web.bind.annotation.*;
-
-import java.util.Date;
+import org.springframework.web.bind.annotation.GetMapping;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RestController;
 
 @RequestMapping("userCashAccount")
 @Api(tags = "用户账户服务")
@@ -23,39 +19,19 @@ public class SysUserCashAccountController extends BaseController {
 
     @Autowired
     private SysUserCashAccountService sysUserCashAccountService;
-
-//    @ApiOperation(value = "新增用户账户")
-//    @PostMapping("/add")
-//    public Object add(SysUserCashAccount sysUserCashAccount) {
-//        sysUserCashAccountService.insert(sysUserCashAccount);
-//        return succeed();
-//    }
+    @Autowired
+    private SysUserFeignService sysUserFeignService;
 
     @ApiOperation(value = "获取用户账户信息")
     @GetMapping("/get")
     public Object add() {
-        AuthUser user = SecurityUtils.getUser();
-        if(user == null){
+        SysUser sysUser = sysUserFeignService.queryUserInfo();
+        if(sysUser == null){
             return failed("请重新登录");
         }
-        return succeed(sysUserCashAccountService.get(user.getUserId()));
+        return succeed(sysUserCashAccountService.get(sysUser.getId()));
     }
 
-//    @ApiOperation(value = "删除收费类型")
-//    @PostMapping("/del/{id}")
-//    public Object del(@ApiParam(value = "收费类型编号", required = true) @PathVariable("id") Integer id) {
-//        sysUserCashAccountService.delete(id);
-//        return succeed();
-//    }
-//
-//    @ApiOperation(value = "修改收费类型")
-//    @PostMapping("/update")
-//    public Object update(SysUserCashAccount sysUserCashAccount) {
-//        sysUserCashAccount.setUpdateTime(new Date());
-//        sysUserCashAccountService.update(sysUserCashAccount);
-//        return succeed();
-//    }
-
     @ApiOperation(value = "分页查询收费类型列表")
     @GetMapping("/queryPage")
     public Object queryPage(QueryInfo queryInfo) {