zouxuan 5 years ago
parent
commit
b9d31801dc
38 changed files with 1188 additions and 90 deletions
  1. 2 11
      src/main/java/com/ym/mec/collectfee/controller/OrderController.java
  2. 66 3
      src/main/java/com/ym/mec/collectfee/controller/UserController.java
  3. 1 0
      src/main/java/com/ym/mec/collectfee/dao/ApplyInfoDao.java
  4. 18 0
      src/main/java/com/ym/mec/collectfee/dao/BranchDao.java
  5. 8 1
      src/main/java/com/ym/mec/collectfee/dao/CourseGroupInfoDao.java
  6. 2 0
      src/main/java/com/ym/mec/collectfee/dao/OrderDao.java
  7. 1 2
      src/main/java/com/ym/mec/collectfee/dao/SchoolDao.java
  8. 25 0
      src/main/java/com/ym/mec/collectfee/dao/SeminaryDao.java
  9. 45 2
      src/main/java/com/ym/mec/collectfee/entity/ApplyInfo.java
  10. 61 0
      src/main/java/com/ym/mec/collectfee/entity/Branch.java
  11. 11 1
      src/main/java/com/ym/mec/collectfee/entity/CourseGroupInfo.java
  12. 25 0
      src/main/java/com/ym/mec/collectfee/entity/MusicTeamsPageInfo.java
  13. 45 1
      src/main/java/com/ym/mec/collectfee/entity/Order.java
  14. 101 0
      src/main/java/com/ym/mec/collectfee/entity/RequestMecApplyClass.java
  15. 20 0
      src/main/java/com/ym/mec/collectfee/entity/ResponseBranchesBean.java
  16. 20 0
      src/main/java/com/ym/mec/collectfee/entity/ResponseSeminariesBean.java
  17. 26 0
      src/main/java/com/ym/mec/collectfee/entity/ResponseUserInfo.java
  18. 127 0
      src/main/java/com/ym/mec/collectfee/entity/Seminary.java
  19. 35 0
      src/main/java/com/ym/mec/collectfee/entity/StudentsQueryInfo.java
  20. 32 0
      src/main/java/com/ym/mec/collectfee/entity/Sundry.java
  21. 21 2
      src/main/java/com/ym/mec/collectfee/service/ApplyInfoService.java
  22. 8 0
      src/main/java/com/ym/mec/collectfee/service/BranchService.java
  23. 16 0
      src/main/java/com/ym/mec/collectfee/service/CourseGroupInfoService.java
  24. 3 1
      src/main/java/com/ym/mec/collectfee/service/OrderService.java
  25. 8 0
      src/main/java/com/ym/mec/collectfee/service/SeminaryService.java
  26. 159 11
      src/main/java/com/ym/mec/collectfee/service/impl/ApplyInfoServiceImpl.java
  27. 22 0
      src/main/java/com/ym/mec/collectfee/service/impl/BranchServiceImpl.java
  28. 36 1
      src/main/java/com/ym/mec/collectfee/service/impl/CourseGroupInfoServiceImpl.java
  29. 9 33
      src/main/java/com/ym/mec/collectfee/service/impl/OrderServiceImpl.java
  30. 1 1
      src/main/java/com/ym/mec/collectfee/service/impl/SchoolServiceImpl.java
  31. 25 0
      src/main/java/com/ym/mec/collectfee/service/impl/SeminaryServiceImpl.java
  32. 32 4
      src/main/java/com/ym/mec/collectfee/utils/XStreamUtil.java
  33. 29 7
      src/main/resources/config/mybatis/ApplyInfoMapper.xml
  34. 62 0
      src/main/resources/config/mybatis/BranchMapper.xml
  35. 6 2
      src/main/resources/config/mybatis/CourseGroupInfoMapper.xml
  36. 10 2
      src/main/resources/config/mybatis/OrderMapper.xml
  37. 18 5
      src/main/resources/config/mybatis/SchoolMapper.xml
  38. 52 0
      src/main/resources/config/mybatis/SeminaryMapper.xml

+ 2 - 11
src/main/java/com/ym/mec/collectfee/controller/OrderController.java

@@ -14,7 +14,7 @@ import org.springframework.web.bind.annotation.RestController;
 
 @RestController()
 @RequestMapping("order")
-@Api("订单服务")
+@Api("乐团、订单服务")
 public class OrderController extends BaseController {
 
     @Autowired
@@ -43,7 +43,7 @@ public class OrderController extends BaseController {
     @ApiImplicitParams({ @ApiImplicitParam(name = "poName", value = "乐团名称", required = true, dataType = "String"),
             @ApiImplicitParam(name = "voicePart", value = "声部名称", required = true, dataType = "String")})
     public Object queryNum(String poName,String voicePart){
-        return orderService.countOrder(poName, voicePart);
+        return succeed(orderService.countOrder(poName, voicePart));
     }
 
     /**
@@ -56,13 +56,4 @@ public class OrderController extends BaseController {
         return orderService.pushOrder(batchNum);
     }
 
-    /**
-     * 根据乐团编号获取乐团信息
-     * @param schoolId
-     * @return
-     */
-    @GetMapping("/getSchoolDetail")
-    public Object getSchoolDetail(Integer schoolId,Integer clazzId){
-        return succeed(orderService.getSchoolDetail(schoolId,clazzId));
-    }
 }

+ 66 - 3
src/main/java/com/ym/mec/collectfee/controller/UserController.java

@@ -1,9 +1,14 @@
 package com.ym.mec.collectfee.controller;
 
 
+import com.ym.mec.collectfee.common.page.QueryInfo;
 import com.ym.mec.collectfee.common.web.BaseController;
 import com.ym.mec.collectfee.entity.ApplyInfo;
+import com.ym.mec.collectfee.entity.MusicTeamsPageInfo;
+import com.ym.mec.collectfee.entity.StudentsQueryInfo;
 import com.ym.mec.collectfee.service.ApplyInfoService;
+import com.ym.mec.collectfee.service.CourseGroupInfoService;
+import com.ym.mec.collectfee.service.OrderService;
 import com.ym.mec.collectfee.service.SchoolService;
 import io.swagger.annotations.Api;
 import io.swagger.annotations.ApiImplicitParam;
@@ -25,6 +30,10 @@ public class UserController extends BaseController {
     private ApplyInfoService applyInfoService;
     @Autowired
     private SchoolService schoolService;
+    @Autowired
+    private OrderService orderService;
+    @Autowired
+    private CourseGroupInfoService courseGroupInfoService;
 
 
     /**
@@ -67,9 +76,63 @@ public class UserController extends BaseController {
      */
     @ApiOperation(value = "根据乐团编号获取乐团详情,查询乐团状态也通过该接口")
     @PostMapping("/getClassDetail")
-    @ApiImplicitParams({@ApiImplicitParam(name = "clazzId", value = "乐团编号", required = true, dataType = "Integer")})
-    public Object getClassDetail(Integer clazzId){
-        return succeed(schoolService.get(clazzId));
+    @ApiImplicitParams({ @ApiImplicitParam(name = "clazzId", value = "乐团编号", required = true, dataType = "Integer"),
+            @ApiImplicitParam(name = "schoolId", value = "学校编号", required = true, dataType = "Integer")})
+    public Object getSchoolDetail(Integer schoolId,Integer clazzId){
+        return succeed(orderService.getSchoolDetail(schoolId,clazzId));
+    }
+
+    /**
+     * 推送用户到mec注册
+     * @return
+     */
+    @PostMapping("/userRegister")
+    public Object userRegister(String phone){
+        return succeed(applyInfoService.userRegister(phone));
+    }
+
+    /**
+     * 获取乐团课程组列表
+     * @return
+     */
+    @PostMapping("/getCourses")
+    @ApiOperation(value = "根据乐团编号,获取乐团课程组列表")
+    @ApiImplicitParams({ @ApiImplicitParam(name = "clazzId", value = "乐团编号", required = true, dataType = "Integer")})
+    public Object getCourses(Integer clazzId){
+        return succeed(courseGroupInfoService.getCourses(clazzId));
     }
 
+    @ApiOperation(value = "获取所有乐团列表")
+    @PostMapping("/getMusicTeams")
+    public Object getMusicTeams(MusicTeamsPageInfo pageInfo){
+        return succeed(schoolService.queryPage(pageInfo));
+    }
+
+    @ApiOperation(value = "根据乐团编号,获取学员列表")
+    @PostMapping("/getMusicTeamStu")
+    public Object getMusicTeamStu(StudentsQueryInfo queryInfo){
+        return succeed(applyInfoService.queryPage(queryInfo));
+    }
+
+    @ApiOperation(value = "获取所有分部列表")
+    @GetMapping("/getBranches")
+    public Object getBranches(){
+        return succeed(applyInfoService.getBranches());
+    }
+
+    @ApiOperation(value = "获取学校详情")
+    @GetMapping("/getSchool")
+    public Object getSchool(Integer schoolId){
+        return succeed(applyInfoService.get(schoolId));
+    }
+
+    /**
+     * 保存学校列表
+     * @return
+     */
+    @GetMapping("/saveSeminary")
+    public Object saveSeminary(){
+        applyInfoService.saveSeminary();
+        return succeed();
+    }
 }

+ 1 - 0
src/main/java/com/ym/mec/collectfee/dao/ApplyInfoDao.java

@@ -2,6 +2,7 @@ package com.ym.mec.collectfee.dao;
 
 import com.ym.mec.collectfee.common.dao.BaseDAO;
 import com.ym.mec.collectfee.entity.ApplyInfo;
+import com.ym.mec.collectfee.entity.ResponseUserInfo;
 import org.apache.ibatis.annotations.Param;
 import org.springframework.stereotype.Component;
 

+ 18 - 0
src/main/java/com/ym/mec/collectfee/dao/BranchDao.java

@@ -0,0 +1,18 @@
+package com.ym.mec.collectfee.dao;
+
+import com.ym.mec.collectfee.common.dao.BaseDAO;
+import com.ym.mec.collectfee.entity.Branch;
+import org.apache.ibatis.annotations.Param;
+import org.springframework.stereotype.Component;
+
+import java.util.List;
+
+@Component
+public interface BranchDao extends BaseDAO<Integer, Branch> {
+
+    /**
+     * 批量插入分部列表
+     * @param branches
+     */
+    void batchInsert(@Param("branches") List<Branch> branches);
+}

+ 8 - 1
src/main/java/com/ym/mec/collectfee/dao/CourseGroupInfoDao.java

@@ -4,8 +4,15 @@ import com.ym.mec.collectfee.common.dao.BaseDAO;
 import com.ym.mec.collectfee.entity.CourseGroupInfo;
 import org.springframework.stereotype.Component;
 
+import java.util.List;
+
 @Component
 public interface CourseGroupInfoDao extends BaseDAO<Integer, CourseGroupInfo> {
 
-	
+    /**
+     * 根据乐团id获取所有科目
+     * @param classId
+     * @return
+     */
+	List<CourseGroupInfo> getCourses(Integer classId);
 }

+ 2 - 0
src/main/java/com/ym/mec/collectfee/dao/OrderDao.java

@@ -16,4 +16,6 @@ public interface OrderDao extends BaseDAO<Integer, Order> {
     int countOrder(@Param("poName") String poName,@Param("voicePort") String voicePort);
 
     Order getOrderByOrderNo(@Param("orderNo") String orderNo);
+
+    Order findOrderByStatus(@Param("userId") Integer userId,@Param("status") Integer status);
 }

+ 1 - 2
src/main/java/com/ym/mec/collectfee/dao/SchoolDao.java

@@ -1,11 +1,10 @@
 package com.ym.mec.collectfee.dao;
 
 import com.ym.mec.collectfee.common.dao.BaseDAO;
+import com.ym.mec.collectfee.common.page.QueryInfo;
 import com.ym.mec.collectfee.entity.School;
 import org.springframework.stereotype.Component;
 
 @Component
 public interface SchoolDao extends BaseDAO<Integer, School> {
-
-	
 }

+ 25 - 0
src/main/java/com/ym/mec/collectfee/dao/SeminaryDao.java

@@ -0,0 +1,25 @@
+package com.ym.mec.collectfee.dao;
+
+import com.ym.mec.collectfee.common.dao.BaseDAO;
+import com.ym.mec.collectfee.entity.Seminary;
+import org.apache.ibatis.annotations.Param;
+import org.springframework.stereotype.Component;
+
+import java.util.List;
+
+@Component
+public interface SeminaryDao extends BaseDAO<Integer, Seminary> {
+
+    /**
+     * 批量插入
+     * @param seminaries
+     */
+    void batchInsert(@Param("seminaries") List<Seminary> seminaries);
+
+    /**
+     * 根据分部编号获取学校
+     * @param branchId
+     * @return
+     */
+    Seminary findByBranchId(Integer branchId);
+}

+ 45 - 2
src/main/java/com/ym/mec/collectfee/entity/ApplyInfo.java

@@ -15,13 +15,22 @@ public class ApplyInfo {
 	@XStreamOmitField
 	private Integer id;
 
+	//mec用户编号
+	@XStreamOmitField
+	private Integer userId;
+
+	private String mobile;
+
 	/** 用户名 */
-	@XStreamAlias("userName")
+	@XStreamOmitField
 	private String name;
 
 	/** 学生姓名 */
 	private String realName;
 
+	//乐团编号
+	private Integer classId;
+
 	//所属分部
 	private Integer branchId;
 
@@ -37,7 +46,7 @@ public class ApplyInfo {
 	@XStreamOmitField
 	private String city;
 
-	/** 学校编号 */
+	/** 学校名称 */
 	@XStreamOmitField
 	private String school;
 
@@ -85,6 +94,40 @@ public class ApplyInfo {
 	@XStreamOmitField
 	private java.util.Date createTime;
 
+	private Integer courseId;
+
+	public Integer getCourseId() {
+		return courseId;
+	}
+
+	public void setCourseId(Integer courseId) {
+		this.courseId = courseId;
+	}
+
+	public Integer getClassId() {
+		return classId;
+	}
+
+	public void setClassId(Integer classId) {
+		this.classId = classId;
+	}
+
+	public Integer getUserId() {
+		return userId;
+	}
+
+	public void setUserId(Integer userId) {
+		this.userId = userId;
+	}
+
+	public String getMobile() {
+		return mobile;
+	}
+
+	public void setMobile(String mobile) {
+		this.mobile = mobile;
+	}
+
 	public Integer getPushStatus() {
 		return pushStatus;
 	}

+ 61 - 0
src/main/java/com/ym/mec/collectfee/entity/Branch.java

@@ -0,0 +1,61 @@
+package com.ym.mec.collectfee.entity;
+
+import com.thoughtworks.xstream.annotations.XStreamAlias;
+import org.apache.commons.lang3.builder.ToStringBuilder;
+
+/**
+ * 对应数据库表(branch):
+ */
+@XStreamAlias("branch")
+public class Branch {
+
+	/**  */
+	private Integer branchId;
+	
+	/** 分部名称 */
+	private String branchName;
+	
+	/**  */
+	private Integer province;
+	
+	/**  */
+	private Integer city;
+	
+	public void setBranchId(Integer branchId){
+		this.branchId = branchId;
+	}
+	
+	public Integer getBranchId(){
+		return this.branchId;
+	}
+			
+	public void setBranchName(String branchName){
+		this.branchName = branchName;
+	}
+	
+	public String getBranchName(){
+		return this.branchName;
+	}
+			
+	public void setProvince(Integer province){
+		this.province = province;
+	}
+	
+	public Integer getProvince(){
+		return this.province;
+	}
+			
+	public void setCity(Integer city){
+		this.city = city;
+	}
+	
+	public Integer getCity(){
+		return this.city;
+	}
+			
+	@Override
+	public String toString() {
+		return ToStringBuilder.reflectionToString(this);
+	}
+
+}

+ 11 - 1
src/main/java/com/ym/mec/collectfee/entity/CourseGroupInfo.java

@@ -12,6 +12,8 @@ public class CourseGroupInfo {
 	
 	/** 课程组名称 */
 	private String name;
+
+	private Integer classId;
 	
 	/** 专业编号 */
 	private Integer subId;
@@ -36,7 +38,15 @@ public class CourseGroupInfo {
 	
 	/**  */
 	private java.util.Date updateTime;
-	
+
+	public Integer getClassId() {
+		return classId;
+	}
+
+	public void setClassId(Integer classId) {
+		this.classId = classId;
+	}
+
 	public void setId(Integer id){
 		this.id = id;
 	}

+ 25 - 0
src/main/java/com/ym/mec/collectfee/entity/MusicTeamsPageInfo.java

@@ -0,0 +1,25 @@
+package com.ym.mec.collectfee.entity;
+
+import com.ym.mec.collectfee.common.page.QueryInfo;
+
+public class MusicTeamsPageInfo extends QueryInfo {
+    private String name;
+
+    private Integer status;
+
+    public String getName() {
+        return name;
+    }
+
+    public void setName(String name) {
+        this.name = name;
+    }
+
+    public Integer getStatus() {
+        return status;
+    }
+
+    public void setStatus(Integer status) {
+        this.status = status;
+    }
+}

+ 45 - 1
src/main/java/com/ym/mec/collectfee/entity/Order.java

@@ -68,7 +68,51 @@ public class Order {
 	
 	/** 批次号 */
 	private String batchNum;
-	
+
+	//学费金额(元)。本次缴纳的学费金额。
+	private BigDecimal tuiFee;
+
+	//乐器费用(元)
+	private BigDecimal goodsFee;
+
+	//杂费金额(元)
+	private BigDecimal sdFee;
+
+	//杂费名称,如:乐保、教谱等。
+	private String sdName;
+
+	public BigDecimal getTuiFee() {
+		return tuiFee;
+	}
+
+	public void setTuiFee(BigDecimal tuiFee) {
+		this.tuiFee = tuiFee;
+	}
+
+	public BigDecimal getGoodsFee() {
+		return goodsFee;
+	}
+
+	public void setGoodsFee(BigDecimal goodsFee) {
+		this.goodsFee = goodsFee;
+	}
+
+	public BigDecimal getSdFee() {
+		return sdFee;
+	}
+
+	public void setSdFee(BigDecimal sdFee) {
+		this.sdFee = sdFee;
+	}
+
+	public String getSdName() {
+		return sdName;
+	}
+
+	public void setSdName(String sdName) {
+		this.sdName = sdName;
+	}
+
 	public void setId(Integer id){
 		this.id = id;
 	}

+ 101 - 0
src/main/java/com/ym/mec/collectfee/entity/RequestMecApplyClass.java

@@ -0,0 +1,101 @@
+package com.ym.mec.collectfee.entity;
+
+import com.thoughtworks.xstream.annotations.XStreamAlias;
+
+import java.math.BigDecimal;
+import java.util.List;
+
+//封装mec  3.2.13添加乐团学员(含缴费)(125218)请求
+@XStreamAlias("body")
+public class RequestMecApplyClass {
+
+    private Integer studentId;
+
+    private Integer classId;
+
+    private String subName;
+
+    private String remark;
+
+    private List<Course> courses;
+
+    private BigDecimal amount;
+
+    private BigDecimal tuiFee;
+
+    private BigDecimal goodsFee;
+
+    private List<Sundry> sundries;
+
+    public Integer getStudentId() {
+        return studentId;
+    }
+
+    public void setStudentId(Integer studentId) {
+        this.studentId = studentId;
+    }
+
+    public Integer getClassId() {
+        return classId;
+    }
+
+    public void setClassId(Integer classId) {
+        this.classId = classId;
+    }
+
+    public String getSubName() {
+        return subName;
+    }
+
+    public void setSubName(String subName) {
+        this.subName = subName;
+    }
+
+    public String getRemark() {
+        return remark;
+    }
+
+    public void setRemark(String remark) {
+        this.remark = remark;
+    }
+
+    public List<Course> getCourses() {
+        return courses;
+    }
+
+    public void setCourses(List<Course> courses) {
+        this.courses = courses;
+    }
+
+    public BigDecimal getAmount() {
+        return amount;
+    }
+
+    public void setAmount(BigDecimal amount) {
+        this.amount = amount;
+    }
+
+    public BigDecimal getTuiFee() {
+        return tuiFee;
+    }
+
+    public void setTuiFee(BigDecimal tuiFee) {
+        this.tuiFee = tuiFee;
+    }
+
+    public BigDecimal getGoodsFee() {
+        return goodsFee;
+    }
+
+    public void setGoodsFee(BigDecimal goodsFee) {
+        this.goodsFee = goodsFee;
+    }
+
+    public List<Sundry> getSundries() {
+        return sundries;
+    }
+
+    public void setSundries(List<Sundry> sundries) {
+        this.sundries = sundries;
+    }
+}

+ 20 - 0
src/main/java/com/ym/mec/collectfee/entity/ResponseBranchesBean.java

@@ -0,0 +1,20 @@
+package com.ym.mec.collectfee.entity;
+
+import com.thoughtworks.xstream.annotations.XStreamAlias;
+
+import java.util.List;
+
+@XStreamAlias("body")
+public class ResponseBranchesBean {
+
+    @XStreamAlias("branches")
+    private List<Branch> branches;
+
+    public List<Branch> getBranches() {
+        return branches;
+    }
+
+    public void setBranches(List<Branch> branches) {
+        this.branches = branches;
+    }
+}

+ 20 - 0
src/main/java/com/ym/mec/collectfee/entity/ResponseSeminariesBean.java

@@ -0,0 +1,20 @@
+package com.ym.mec.collectfee.entity;
+
+import com.thoughtworks.xstream.annotations.XStreamAlias;
+
+import java.util.List;
+
+@XStreamAlias("schools")
+public class ResponseSeminariesBean {
+
+    @XStreamAlias("school")
+    private List<Seminary> schools;
+
+    public List<Seminary> getSchools() {
+        return schools;
+    }
+
+    public void setSchools(List<Seminary> schools) {
+        this.schools = schools;
+    }
+}

+ 26 - 0
src/main/java/com/ym/mec/collectfee/entity/ResponseUserInfo.java

@@ -0,0 +1,26 @@
+package com.ym.mec.collectfee.entity;
+
+import com.thoughtworks.xstream.annotations.XStreamAlias;
+
+@XStreamAlias("user")
+public class ResponseUserInfo {
+    private Integer userId;
+
+    private String userName;
+
+    public Integer getUserId() {
+        return userId;
+    }
+
+    public void setUserId(Integer userId) {
+        this.userId = userId;
+    }
+
+    public String getUserName() {
+        return userName;
+    }
+
+    public void setUserName(String userName) {
+        this.userName = userName;
+    }
+}

+ 127 - 0
src/main/java/com/ym/mec/collectfee/entity/Seminary.java

@@ -0,0 +1,127 @@
+package com.ym.mec.collectfee.entity;
+
+import com.thoughtworks.xstream.annotations.XStreamAlias;
+import org.apache.commons.lang3.builder.ToStringBuilder;
+
+/**
+ * 对应数据库表(seminary):
+ */
+@XStreamAlias("school")
+public class Seminary {
+
+	/**  */
+	private Integer schoolId;
+	
+	/**  */
+	private String schoolName;
+	
+	/**  */
+	private Integer level;
+	
+	/**  */
+	private Integer owner;
+	
+	/**  */
+	private Integer province;
+	
+	/**  */
+	private Integer city;
+	
+	/**  */
+	private float longitude;
+	
+	/**  */
+	private float latitude;
+	
+	/**  */
+	private String address;
+	
+	/**  */
+	private Integer branchId;
+	
+	public void setSchoolId(Integer schoolId){
+		this.schoolId = schoolId;
+	}
+	
+	public Integer getSchoolId(){
+		return this.schoolId;
+	}
+			
+	public void setSchoolName(String schoolName){
+		this.schoolName = schoolName;
+	}
+	
+	public String getSchoolName(){
+		return this.schoolName;
+	}
+			
+	public void setLevel(Integer level){
+		this.level = level;
+	}
+	
+	public Integer getLevel(){
+		return this.level;
+	}
+			
+	public void setOwner(Integer owner){
+		this.owner = owner;
+	}
+	
+	public Integer getOwner(){
+		return this.owner;
+	}
+			
+	public void setProvince(Integer province){
+		this.province = province;
+	}
+	
+	public Integer getProvince(){
+		return this.province;
+	}
+			
+	public void setCity(Integer city){
+		this.city = city;
+	}
+	
+	public Integer getCity(){
+		return this.city;
+	}
+			
+	public void setLongitude(float longitude){
+		this.longitude = longitude;
+	}
+	
+	public float getLongitude(){
+		return this.longitude;
+	}
+			
+	public void setLatitude(float latitude){
+		this.latitude = latitude;
+	}
+	
+	public float getLatitude(){
+		return this.latitude;
+	}
+			
+	public void setAddress(String address){
+		this.address = address;
+	}
+	
+	public String getAddress(){
+		return this.address;
+	}
+			
+	public void setBranchId(Integer branchId){
+		this.branchId = branchId;
+	}
+	
+	public Integer getBranchId(){
+		return this.branchId;
+	}
+			
+	@Override
+	public String toString() {
+		return ToStringBuilder.reflectionToString(this);
+	}
+
+}

+ 35 - 0
src/main/java/com/ym/mec/collectfee/entity/StudentsQueryInfo.java

@@ -0,0 +1,35 @@
+package com.ym.mec.collectfee.entity;
+
+import com.ym.mec.collectfee.common.page.QueryInfo;
+
+public class StudentsQueryInfo extends QueryInfo {
+    private Integer musicTeamId;
+
+    private String name;
+
+    private Integer status;
+
+    public String getName() {
+        return name;
+    }
+
+    public void setName(String name) {
+        this.name = name;
+    }
+
+    public Integer getStatus() {
+        return status;
+    }
+
+    public void setStatus(Integer status) {
+        this.status = status;
+    }
+
+    public Integer getMusicTeamId() {
+        return musicTeamId;
+    }
+
+    public void setMusicTeamId(Integer musicTeamId) {
+        this.musicTeamId = musicTeamId;
+    }
+}

+ 32 - 0
src/main/java/com/ym/mec/collectfee/entity/Sundry.java

@@ -0,0 +1,32 @@
+package com.ym.mec.collectfee.entity;
+
+import com.thoughtworks.xstream.annotations.XStreamAlias;
+
+import java.math.BigDecimal;
+
+/**
+ * 辅件实体类
+ */
+@XStreamAlias("sundry")
+public class Sundry {
+
+    private String sdName;
+
+    private BigDecimal sdFee;
+
+    public String getSdName() {
+        return sdName;
+    }
+
+    public void setSdName(String sdName) {
+        this.sdName = sdName;
+    }
+
+    public BigDecimal getSdFee() {
+        return sdFee;
+    }
+
+    public void setSdFee(BigDecimal sdFee) {
+        this.sdFee = sdFee;
+    }
+}

+ 21 - 2
src/main/java/com/ym/mec/collectfee/service/ApplyInfoService.java

@@ -2,6 +2,8 @@ package com.ym.mec.collectfee.service;
 
 import com.ym.mec.collectfee.common.service.BaseService;
 import com.ym.mec.collectfee.entity.ApplyInfo;
+import com.ym.mec.collectfee.entity.Branch;
+import java.util.List;
 
 public interface ApplyInfoService extends BaseService<Integer, ApplyInfo> {
 
@@ -13,8 +15,25 @@ public interface ApplyInfoService extends BaseService<Integer, ApplyInfo> {
 
     /**
      * 用户缴费成功后,到mec注册
-     * @param userId
+     * @param phone
      */
-    void userRegister(Integer userId);
+    Object userRegister(String phone);
 
+    /**
+     * 推送mec  3.2.13添加乐团学员(含缴费)(125218)
+     * @return
+     */
+    Object getApplyClass(ApplyInfo applyInfo);
+
+    /**
+     * 获取分部列表
+     * @return
+     */
+    List<Branch> getBranches();
+
+    /**
+     * 保存学校列表
+     * @return
+     */
+    void saveSeminary();
 }

+ 8 - 0
src/main/java/com/ym/mec/collectfee/service/BranchService.java

@@ -0,0 +1,8 @@
+package com.ym.mec.collectfee.service;
+
+import com.ym.mec.collectfee.common.service.BaseService;
+import com.ym.mec.collectfee.entity.Branch;
+
+public interface BranchService extends BaseService<Integer, Branch> {
+
+}

+ 16 - 0
src/main/java/com/ym/mec/collectfee/service/CourseGroupInfoService.java

@@ -2,7 +2,23 @@ package com.ym.mec.collectfee.service;
 
 import com.ym.mec.collectfee.common.service.BaseService;
 import com.ym.mec.collectfee.entity.CourseGroupInfo;
+import com.ym.mec.collectfee.entity.ResponseCourseEntity;
+
+import java.util.List;
 
 public interface CourseGroupInfoService extends BaseService<Integer, CourseGroupInfo> {
 
+    /**
+     * 保存乐团课程组数据
+     * @param xmlToObject
+     */
+    void upSetCourseGroup(ResponseCourseEntity xmlToObject);
+
+    /**
+     * 根据乐团id获取所有科目
+     * @param classId
+     * @return
+     */
+    List<CourseGroupInfo> getCourses(Integer classId);
+
 }

+ 3 - 1
src/main/java/com/ym/mec/collectfee/service/OrderService.java

@@ -2,6 +2,7 @@ package com.ym.mec.collectfee.service;
 
 import com.ym.mec.collectfee.common.service.BaseService;
 import com.ym.mec.collectfee.entity.Order;
+import com.ym.mec.collectfee.entity.ResponseCourseEntity;
 
 import javax.xml.bind.JAXBException;
 import java.util.List;
@@ -40,8 +41,9 @@ public interface OrderService extends BaseService<Integer, Order> {
 
     /**
      * 根据乐团编号获取乐团信息
-     * @param schoolId
+     * @param clazzId
      * @return
      */
     Object getSchoolDetail(Integer schoolId,Integer clazzId);
+
 }

+ 8 - 0
src/main/java/com/ym/mec/collectfee/service/SeminaryService.java

@@ -0,0 +1,8 @@
+package com.ym.mec.collectfee.service;
+
+import com.ym.mec.collectfee.common.service.BaseService;
+import com.ym.mec.collectfee.entity.Seminary;
+
+public interface SeminaryService extends BaseService<Integer, Seminary>{
+
+}

+ 159 - 11
src/main/java/com/ym/mec/collectfee/service/impl/ApplyInfoServiceImpl.java

@@ -3,19 +3,35 @@ package com.ym.mec.collectfee.service.impl;
 import com.thoughtworks.xstream.XStream;
 import com.ym.mec.collectfee.common.dao.BaseDAO;
 import com.ym.mec.collectfee.common.service.impl.BaseServiceImpl;
-import com.ym.mec.collectfee.dao.ApplyInfoDao;
-import com.ym.mec.collectfee.entity.ApplyInfo;
-import com.ym.mec.collectfee.entity.RequestParamBean;
+import com.ym.mec.collectfee.dao.*;
+import com.ym.mec.collectfee.entity.*;
 import com.ym.mec.collectfee.service.ApplyInfoService;
+import com.ym.mec.collectfee.utils.HttpUtil;
+import com.ym.mec.collectfee.utils.XStreamUtil;
+import org.apache.commons.lang3.StringUtils;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.beans.factory.annotation.Value;
 import org.springframework.stereotype.Service;
+import java.io.StringWriter;
+import java.io.Writer;
+import java.util.ArrayList;
+import java.util.Base64;
+import java.util.Date;
+import java.util.List;
 
 @Service
 public class ApplyInfoServiceImpl extends BaseServiceImpl<Integer, ApplyInfo> implements ApplyInfoService {
 	
 	@Autowired
 	private ApplyInfoDao applyInfoDao;
+	@Autowired
+	private OrderDao orderDao;
+	@Autowired
+	private CourseGroupInfoDao courseGroupInfoDao;
+	@Autowired
+	private BranchDao branchDao;
+	@Autowired
+	private SeminaryDao seminaryDao;
 
 	@Value("${common.properties.mec-publicKey}")
 	private String publicKey;
@@ -34,14 +50,146 @@ public class ApplyInfoServiceImpl extends BaseServiceImpl<Integer, ApplyInfo> im
 	}
 
 	@Override
-	public void userRegister(Integer userId) {
-		ApplyInfo applyInfo = applyInfoDao.get(userId);
-		if(applyInfo != null && applyInfo.getStatus() == 1){
-			RequestParamBean requestParamBean = new RequestParamBean();
-			XStream xs = new XStream();
-			xs.autodetectAnnotations(true);
-			String xml = xs.toXML(applyInfo);
-			return;
+	public Object userRegister(String phone) {
+		try {
+			ApplyInfo applyInfo = applyInfoDao.findUserByPhone(phone,null);
+			if(applyInfo != null && applyInfo.getStatus() == 1 && applyInfo.getPushStatus() != 1){
+				//组装请求
+				applyInfo.setRealName(applyInfo.getName());
+				applyInfo.setgClass(applyInfo.getGrade() + applyInfo.getgClass());
+				applyInfo.setMobile(applyInfo.getPatriarchPhone());
+				XStream xs = new XStream();
+				xs.autodetectAnnotations(true);
+				xs.ignoreUnknownElements();
+				String body = xs.toXML(applyInfo);
+				body = body.substring(body.indexOf("<user>")+6,body.indexOf("</user>"));
+				body = getBody(body,12301);
+				Date date = new Date();
+				try {
+					applyInfo.setUpdateTime(date);
+					ResponseUserInfo userInfo = parseRegisterInfo(body);
+					applyInfo.setUserId(userInfo.getUserId());
+					applyInfo.setPushStatus(1);
+					RequestMecApplyClass applyClass = getApplyClass(applyInfo);
+					body = xs.toXML(applyClass);
+					body = body.substring(body.indexOf("<body>")+6,body.indexOf("</body>"));
+					//推送mec注册接口
+					body = getBody(body,125218);
+				}catch (Exception e){
+					applyInfo.setPushStatus(2);
+				}
+				applyInfoDao.update(applyInfo);
+
+				return body;
+			}
+		}catch (Exception e){
+			e.printStackTrace();
 		}
+		return null;
+	}
+
+	@Override
+	public RequestMecApplyClass getApplyClass(ApplyInfo applyInfo) {
+		Order order = orderDao.findOrderByStatus(applyInfo.getId(), 0);
+		if(order != null){
+			//封装请求参数
+			RequestMecApplyClass applyClass = new RequestMecApplyClass();
+			//<studentId>学员编号</studentId>
+			applyClass.setStudentId(applyInfo.getUserId());
+			//<classId>课程班(乐团)编号</classId>
+			applyClass.setClassId(applyInfo.getClassId());
+			//<subName>学员专业名称</subName>
+			CourseGroupInfo groupInfo = courseGroupInfoDao.get(applyInfo.getSubId());
+			applyClass.setSubName(groupInfo.getSubName());
+			//<remark>备注</remark>
+			applyClass.setRemark(order.getRemark());
+			List<Course> courses = new ArrayList<>();
+			Course course = new Course();
+			//<courseId>课程组编号</courseId>
+			course.setCourseId(groupInfo.getId());
+			courses.add(course);
+			applyClass.setCourses(courses);
+			//<amount>缴费总金额</amount>
+			applyClass.setAmount(order.getAmount());
+			//<tuiFee>学费金额</tuiFee>
+			applyClass.setTuiFee(order.getTuiFee());
+			//<goodsFee>乐器费用</goodsFee>
+			applyClass.setGoodsFee(order.getGoodsFee());
+			//<sdName>杂费名称</sdName>
+			List<Sundry> sundries = new ArrayList<>();
+			Sundry sundry = new Sundry();
+			sundry.setSdFee(order.getSdFee());
+			String sdName = order.getSdName();
+			if(StringUtils.isEmpty(sdName)){
+				sdName = order.getRemark();
+			}
+			//<sdFee>杂费金额</sdFee>
+			sundry.setSdName(sdName);
+			sundries.add(sundry);
+			applyClass.setSundries(sundries);
+			return applyClass;
+		}
+		return null;
+	}
+
+	@Override
+	public List<Branch> getBranches() {
+		try {
+			List<Branch> branchList = branchDao.findAll(null);
+			if(branchList == null || branchList.size() < 1){
+				String body = "<province>0</province>";
+				body = getBody(body,121002);
+				body = "<body><branches>" + new String(Base64.getDecoder().decode(body)) + "</branches></body>";
+				ResponseBranchesBean branches = XStreamUtil.xmlToObject("body", ResponseBranchesBean.class, body);
+				branchDao.batchInsert(branches.getBranches());
+				return branches.getBranches();
+			}
+			return branchList;
+		}catch (Exception e){
+			e.printStackTrace();
+		}
+		return null;
+	}
+
+	private String getBody(String body,Integer cmd) throws Exception{
+		body = Base64.getEncoder().encodeToString(body.getBytes());
+		RequestParamBean requestParamBean = new RequestParamBean();
+		requestParamBean.setBody(body);
+		requestParamBean.setHead(XStreamUtil.getOrdersHead(body,cmd,publicKey));
+		Writer writer = new StringWriter();
+		writer.write("<?xml version=\"1.0\" encoding=\"UTF-8\" ?>\n");
+		XStream xs = new XStream();
+		xs.toXML(requestParamBean,writer);
+		body = HttpUtil.postXmlData(writer.toString(), url);
+		return body.substring(body.indexOf("<body>")+6,body.indexOf("</body>"));
+	}
+
+	@Override
+	public void saveSeminary() {
+		try {
+			List<Branch> branchList = branchDao.findAll(null);
+			for (Branch branch:branchList) {
+				Seminary seminary = seminaryDao.findByBranchId(branch.getBranchId());
+				if(seminary != null){
+					break;
+				}
+				String body = "<branchId>" + branch.getBranchId() + "</branchId>";
+				body = getBody(body,121107);
+				body = "<body><schools>" + new String(Base64.getDecoder().decode(body)) + "</schools></body>";
+				ResponseSeminariesBean seminaries = XStreamUtil.xmlToObject("body", ResponseSeminariesBean.class, body);
+				if(seminaries.getSchools() == null || seminaries.getSchools().size() < 1){
+					break;
+				}
+				seminaryDao.batchInsert(seminaries.getSchools());
+			}
+		}catch (Exception e){
+			e.printStackTrace();
+		}
+	}
+
+	private ResponseUserInfo parseRegisterInfo(String body){
+		body = "<body>" + new String(Base64.getDecoder().decode(body)) + "</body>";
+		ResponseUserInfo userInfo = XStreamUtil.xmlToObject("body", ResponseUserInfo.class, body);
+		return userInfo;
 	}
 }

+ 22 - 0
src/main/java/com/ym/mec/collectfee/service/impl/BranchServiceImpl.java

@@ -0,0 +1,22 @@
+package com.ym.mec.collectfee.service.impl;
+
+import com.ym.mec.collectfee.common.dao.BaseDAO;
+import com.ym.mec.collectfee.common.service.impl.BaseServiceImpl;
+import com.ym.mec.collectfee.dao.BranchDao;
+import com.ym.mec.collectfee.entity.Branch;
+import com.ym.mec.collectfee.service.BranchService;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Service;
+
+@Service
+public class BranchServiceImpl extends BaseServiceImpl<Integer, Branch> implements BranchService {
+	
+	@Autowired
+	private BranchDao branchDao;
+
+	@Override
+	public BaseDAO<Integer, Branch> getDAO() {
+		return branchDao;
+	}
+	
+}

+ 36 - 1
src/main/java/com/ym/mec/collectfee/service/impl/CourseGroupInfoServiceImpl.java

@@ -3,11 +3,16 @@ package com.ym.mec.collectfee.service.impl;
 import com.ym.mec.collectfee.common.dao.BaseDAO;
 import com.ym.mec.collectfee.common.service.impl.BaseServiceImpl;
 import com.ym.mec.collectfee.dao.CourseGroupInfoDao;
+import com.ym.mec.collectfee.entity.Course;
 import com.ym.mec.collectfee.entity.CourseGroupInfo;
+import com.ym.mec.collectfee.entity.ResponseCourseEntity;
 import com.ym.mec.collectfee.service.CourseGroupInfoService;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 
+import java.util.Date;
+import java.util.List;
+
 @Service
 public class CourseGroupInfoServiceImpl extends BaseServiceImpl<Integer, CourseGroupInfo> implements CourseGroupInfoService {
 	
@@ -18,5 +23,35 @@ public class CourseGroupInfoServiceImpl extends BaseServiceImpl<Integer, CourseG
 	public BaseDAO<Integer, CourseGroupInfo> getDAO() {
 		return courseGroupInfoDao;
 	}
-	
+
+
+	@Override
+	public void upSetCourseGroup(ResponseCourseEntity xmlToObject){
+		List<Course> courses = xmlToObject.getCourses();
+		CourseGroupInfo courseGroupInfo;
+		Date date = new Date();
+		for (Course course:courses) {
+			if(course != null && courseGroupInfoDao.get(course.getCourseId()) == null){
+				courseGroupInfo = new CourseGroupInfo();
+				courseGroupInfo.setCreateTime(date);
+				courseGroupInfo.setUpdateTime(date);
+				courseGroupInfo.setFeeAmount(course.getPrice());
+				courseGroupInfo.setFeeType(course.getChargeType());
+				courseGroupInfo.setName(course.getCourseName());
+				courseGroupInfo.setPlanNum(course.getEnrollCount());
+				courseGroupInfo.setId(course.getCourseId());
+				courseGroupInfo.setRegNum(course.getStuCount());
+				courseGroupInfo.setSubId(course.getSubId());
+				courseGroupInfo.setSubName(course.getSubNames());
+				courseGroupInfo.setClassId(course.getClassId());
+				courseGroupInfoDao.insert(courseGroupInfo);
+			}
+		}
+	}
+
+	@Override
+	public List<CourseGroupInfo> getCourses(Integer classId) {
+		return courseGroupInfoDao.getCourses(classId);
+	}
+
 }

+ 9 - 33
src/main/java/com/ym/mec/collectfee/service/impl/OrderServiceImpl.java

@@ -1,27 +1,24 @@
 package com.ym.mec.collectfee.service.impl;
 
-import com.alibaba.fastjson.JSON;
 import com.thoughtworks.xstream.XStream;
 import com.ym.mec.collectfee.common.dao.BaseDAO;
 import com.ym.mec.collectfee.common.service.impl.BaseServiceImpl;
 import com.ym.mec.collectfee.dao.OrderDao;
 import com.ym.mec.collectfee.entity.*;
+import com.ym.mec.collectfee.service.CourseGroupInfoService;
 import com.ym.mec.collectfee.service.OrderService;
 import com.ym.mec.collectfee.service.SchoolService;
 import com.ym.mec.collectfee.utils.HttpUtil;
 import com.ym.mec.collectfee.utils.XStreamUtil;
-import org.apache.commons.lang3.RandomUtils;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.beans.factory.annotation.Value;
 import org.springframework.stereotype.Service;
 
-import java.io.IOException;
 import java.io.StringWriter;
 import java.io.Writer;
-import java.util.ArrayList;
 import java.util.Base64;
+import java.util.Date;
 import java.util.List;
-import java.util.Random;
 
 @Service
 public class OrderServiceImpl extends BaseServiceImpl<Integer, Order> implements OrderService {
@@ -30,6 +27,8 @@ public class OrderServiceImpl extends BaseServiceImpl<Integer, Order> implements
 	private OrderDao orderDao;
 	@Autowired
 	private SchoolService schoolService;
+	@Autowired
+	private CourseGroupInfoService courseGroupInfoService;
 
 	//公共密钥
 	@Value("${common.properties.mec-publicKey}")
@@ -66,7 +65,7 @@ public class OrderServiceImpl extends BaseServiceImpl<Integer, Order> implements
 
 			body = Base64.getEncoder().encodeToString(body.getBytes());
 			requestParamBean.setBody(body);
-			requestParamBean.setHead(getOrdersHead(body,121512));
+			requestParamBean.setHead(XStreamUtil.getOrdersHead(body,121512,publicKey));
 
 			xs.autodetectAnnotations(true);
 			writer = new StringWriter();
@@ -79,21 +78,6 @@ public class OrderServiceImpl extends BaseServiceImpl<Integer, Order> implements
 		return null;
 	}
 
-	private RequestHead getOrdersHead(String body,Integer cmd){
-		RequestHead head = new RequestHead();
-		head.setMsgId(getRandom(7));
-		head.setCmd(cmd);
-		head.setSign(getSign(head, body, publicKey));
-		return head;
-	}
-
-
-	private String getSign(RequestHead head,String body,String userSign){
-		//msgId+cmd+uid+ts+body+用户密钥/公共密钥
-		StringBuffer sb = new StringBuffer(head.getMsgId());
-		sb.append(head.getCmd()).append(head.getUid()).append(head.getTs()).append(body).append(userSign);
-		return XStreamUtil.encryption(sb.toString()).toLowerCase();
-	}
 
 	@Override
 	public int countOrder(String poName, String voicePort) {
@@ -110,10 +94,10 @@ public class OrderServiceImpl extends BaseServiceImpl<Integer, Order> implements
 	public Object getSchoolDetail(Integer schoolId,Integer clazzId) {
 		try {
 			RequestParamBean requestParamBean = new RequestParamBean();
-			String body = "<schoolId>" + schoolId + "</schoolId><classId>" + clazzId + "</classId>";
+			String body = "<classId>" + clazzId + "</classId><schoolId>" + schoolId + "</schoolId>";
 			body = Base64.getEncoder().encodeToString(body.getBytes());
 			requestParamBean.setBody(body);
-			requestParamBean.setHead(getOrdersHead(body,124005));
+			requestParamBean.setHead(XStreamUtil.getOrdersHead(body,124005,publicKey));
 			XStream xs = new XStream();
 			xs.autodetectAnnotations(true);
 			Writer writer = new StringWriter();
@@ -121,6 +105,7 @@ public class OrderServiceImpl extends BaseServiceImpl<Integer, Order> implements
 			xs.toXML(requestParamBean,writer);
 			String parseBody = parseBody(HttpUtil.postXmlData(writer.toString(), url));
 			ResponseCourseEntity xmlToObject = XStreamUtil.xmlToObject("body", ResponseCourseEntity.class, parseBody);
+			courseGroupInfoService.upSetCourseGroup(xmlToObject);
 			return schoolService.upsetSchool(xmlToObject);
 		} catch (Exception e) {
 			e.printStackTrace();
@@ -128,19 +113,10 @@ public class OrderServiceImpl extends BaseServiceImpl<Integer, Order> implements
 		return null;
 	}
 
+
 	public String parseBody(String body){
 		body = body.substring(body.indexOf("<body>")+6,body.indexOf("</body>"));
 		return "<body><courses>" + new String(Base64.getDecoder().decode(body)) + "</courses></body>";
 	}
 
-	public static String getRandom(int length) {
-		String base = "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789";
-		Random random = new Random();
-		StringBuffer sb = new StringBuffer();
-		for (int i = 0; i < length; i++) {
-			int number = random.nextInt(base.length());
-			sb.append(base.charAt(number));
-		}
-		return sb.toString();
-	}
 }

+ 1 - 1
src/main/java/com/ym/mec/collectfee/service/impl/SchoolServiceImpl.java

@@ -37,7 +37,7 @@ public class SchoolServiceImpl extends BaseServiceImpl<Integer, School> implemen
 				school = new School();
 				school.setBranchId(course.getBranchId());
 				school.setName(course.getClassName());
-				school.setSchoolId(course.getClassId());
+				school.setId(course.getClassId());
 				school.setStatus(course.getStatus());
 				school.setCreateTime(date);
 				school.setUpdateTime(date);

+ 25 - 0
src/main/java/com/ym/mec/collectfee/service/impl/SeminaryServiceImpl.java

@@ -0,0 +1,25 @@
+package com.ym.mec.collectfee.service.impl;
+
+import com.ym.mec.collectfee.common.dao.BaseDAO;
+import com.ym.mec.collectfee.common.service.impl.BaseServiceImpl;
+import com.ym.mec.collectfee.dao.SchoolDao;
+import com.ym.mec.collectfee.dao.SeminaryDao;
+import com.ym.mec.collectfee.entity.School;
+import com.ym.mec.collectfee.entity.Seminary;
+import com.ym.mec.collectfee.service.SchoolService;
+import com.ym.mec.collectfee.service.SeminaryService;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Service;
+
+@Service
+public class SeminaryServiceImpl  extends BaseServiceImpl<Integer, Seminary> implements SeminaryService {
+
+	@Autowired
+	private SeminaryDao seminaryDao;
+
+	@Override
+	public BaseDAO<Integer, Seminary> getDAO() {
+		return seminaryDao;
+	}
+
+}

+ 32 - 4
src/main/java/com/ym/mec/collectfee/utils/XStreamUtil.java

@@ -1,13 +1,14 @@
 package com.ym.mec.collectfee.utils;
 
-import java.io.InputStream;
-import java.security.MessageDigest;
-import java.security.NoSuchAlgorithmException;
-
 import com.thoughtworks.xstream.XStream;
 import com.thoughtworks.xstream.converters.javabean.BeanProvider;
 import com.thoughtworks.xstream.converters.javabean.JavaBeanConverter;
 import com.ym.mec.collectfee.entity.RequestHead;
+import org.springframework.beans.factory.annotation.Value;
+
+import java.security.MessageDigest;
+import java.security.NoSuchAlgorithmException;
+import java.util.Random;
 
 public final class XStreamUtil {
 
@@ -15,6 +16,32 @@ public final class XStreamUtil {
 
 	}
 
+	public static RequestHead getOrdersHead(String body,Integer cmd,String publicKey){
+		RequestHead head = new RequestHead();
+		head.setMsgId(getRandom(7));
+		head.setCmd(cmd);
+		head.setSign(XStreamUtil.getSign(head, body, publicKey));
+		return head;
+	}
+
+	public static String getRandom(int length) {
+		String base = "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789";
+		Random random = new Random();
+		StringBuffer sb = new StringBuffer();
+		for (int i = 0; i < length; i++) {
+			int number = random.nextInt(base.length());
+			sb.append(base.charAt(number));
+		}
+		return sb.toString();
+	}
+
+	public static String getSign(RequestHead head,String body,String userSign){
+		//msgId+cmd+uid+ts+body+用户密钥/公共密钥
+		StringBuffer sb = new StringBuffer(head.getMsgId());
+		sb.append(head.getCmd()).append(head.getUid()).append(head.getTs()).append(body).append(userSign);
+		return XStreamUtil.encryption(sb.toString()).toLowerCase();
+	}
+
 	/**
 	 * 将包含xml内容的流转换成对�?
 	 * 
@@ -32,6 +59,7 @@ public final class XStreamUtil {
 		XStream xStream = new XStream();// 默认用xppDriver
 		xStream.autodetectAnnotations(true);
 		xStream.alias(rootNode, rootNodeType);// 尽可能的加上,否则会抛CannotResolveClassException异常
+		xStream.ignoreUnknownElements();
 		// 将xml转换成对�?
 		return (T) xStream.fromXML(body);
 	}

+ 29 - 7
src/main/resources/config/mybatis/ApplyInfoMapper.xml

@@ -8,11 +8,14 @@
 	
 	<resultMap type="com.ym.mec.collectfee.entity.ApplyInfo" id="ApplyInfo">
 		<result column="id_" property="id" />
+		<result column="user_id_" property="userId" />
 		<result column="name_" property="name" />
 		<result column="sex_" property="sex" />
 		<result column="birthday_" property="birthday" />
 		<result column="city_" property="city" />
 		<result column="school_" property="school" />
+		<result column="course_id_" property="courseId" />
+		<result column="class_id_" property="classId" />
 		<result column="branch_id_" property="branchId" />
 		<result column="grade_" property="grade" />
 		<result column="g_class_" property="gClass" />
@@ -44,14 +47,15 @@
 		SELECT SEQ_WSDEFINITION_ID.nextval AS ID FROM DUAL 
 		</selectKey>
 		-->
-		INSERT INTO apply_info (branch_id_,name_,sex_,birthday_,city_,school_,grade_,g_class_,sub_id_,is_adjust_,patriarch_phone_,patriarch_name_,patriarch_unit_,status_,update_time_,create_time_) VALUES(#{branchId},#{name},#{sex},#{birthday},#{city},#{school},#{grade},#{gClass},#{subId},#{isAdjust},#{patriarchPhone},#{patriarchName},#{patriarchUnit},#{status},#{updateTime},#{createTime})
+		INSERT INTO apply_info (class_id_,user_id_,branch_id_,name_,sex_,birthday_,city_,school_,grade_,g_class_,sub_id_,is_adjust_,patriarch_phone_,patriarch_name_,patriarch_unit_,status_,update_time_,create_time_) VALUES
+		(#{classId},#{userId},#{branchId},#{name},#{sex},#{birthday},#{city},#{school},#{grade},#{gClass},#{subId},#{isAdjust},#{patriarchPhone},#{patriarchName},#{patriarchUnit},#{status},#{updateTime},#{createTime})
 	</insert>
 	
 	<!-- 根据主键查询一条记录 -->
 	<update id="update" parameterType="com.ym.mec.collectfee.entity.ApplyInfo">
-		UPDATE apply_info SET branch_id_ = #{branchId},push_status_ = #{pushStatus},sub_id_ = #{subId},school_ = #{school},is_adjust_ = #{isAdjust},status_ = #{status},id_ = #{id},g_class_ = #{gClass},sex_ = #{sex},birthday_ = #{birthday},name_ = #{name},create_time_ = #{createTime},city_ = #{city},patriarch_phone_ = #{patriarchPhone},patriarch_name_ = #{patriarchName},patriarch_unit_ = #{patriarchUnit},update_time_ = #{updateTime},grade_ = #{grade} WHERE id_ = #{id}
+		UPDATE apply_info SET class_id_ = #{classId},user_id_ = #{userId},branch_id_ = #{branchId},push_status_ = #{pushStatus},sub_id_ = #{subId},school_ = #{school},is_adjust_ = #{isAdjust},status_ = #{status},id_ = #{id},g_class_ = #{gClass},sex_ = #{sex},birthday_ = #{birthday},name_ = #{name},create_time_ = #{createTime},city_ = #{city},patriarch_phone_ = #{patriarchPhone},patriarch_name_ = #{patriarchName},patriarch_unit_ = #{patriarchUnit},update_time_ = #{updateTime},grade_ = #{grade} WHERE id_ = #{id}
 	</update>
-	
+
 	<!-- 根据主键删除一条记录 -->
 	<delete id="delete" >
 		DELETE FROM apply_info WHERE id_ = #{id} 
@@ -59,14 +63,32 @@
 	
 	<!-- 分页查询 -->
 	<select id="queryPage" resultMap="ApplyInfo" parameterType="map">
-		SELECT * FROM apply_info ORDER BY id_ <include refid="global.limit"/>
+		SELECT * FROM apply_info <include refid="studentsPage"/> ORDER BY id_ <include refid="global.limit"/>
 	</select>
+
+	<sql id="studentsPage">
+		<where>
+			<if test="musicTeamId != null">
+				class_id_ = #{musicTeamId}
+			</if>
+			<if test="name != null and name != ''">
+				name_ = #{name}
+			</if>
+			<if test="status != null">
+				status_ = #{status}
+			</if>
+		</where>
+	</sql>
 	
 	<!-- 查询当前表的总记录数 -->
-	<select id="queryCount" resultType="int">
-		SELECT COUNT(*) FROM apply_info
+	<select id="findCount" resultType="int">
+		SELECT COUNT(*) FROM apply_info <include refid="studentsPage"/>
 	</select>
+
     <select id="findUserByPhone" resultMap="ApplyInfo">
-		SELECT * FROM apply_info WHERE patriarch_phone_ = #{phone} AND school_ = #{clazzId}
+		SELECT * FROM apply_info WHERE patriarch_phone_ = #{phone}
+		<if test="clazzId != null">
+			AND class_id_ = #{clazzId}
+		</if>
 	</select>
 </mapper>

+ 62 - 0
src/main/resources/config/mybatis/BranchMapper.xml

@@ -0,0 +1,62 @@
+<?xml version="1.0" encoding="UTF-8" ?>
+<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
+<!--
+这个文件是自动生成的。
+不要修改此文件。所有改动将在下次重新自动生成时丢失。
+-->
+<mapper namespace="com.ym.mec.collectfee.dao.BranchDao">
+	
+	<resultMap type="com.ym.mec.collectfee.entity.Branch" id="Branch">
+		<result column="branch_id_" property="branchId" />
+		<result column="branch_name_" property="branchName" />
+		<result column="province_" property="province" />
+		<result column="city_" property="city" />
+	</resultMap>
+	
+	<!-- 根据主键查询一条记录 -->
+	<select id="get" resultMap="Branch" >
+		SELECT * FROM branch WHERE branch_id_ = #{branchId} 
+	</select>
+	
+	<!-- 全查询 -->
+	<select id="findAll" resultMap="Branch">
+		SELECT * FROM branch ORDER BY branch_id_
+	</select>
+	
+	<!-- 向数据库增加一条记录 -->
+	<insert id="insert" parameterType="com.ym.mec.collectfee.entity.Branch" useGeneratedKeys="true" keyColumn="id" keyProperty="id">
+		<!--
+		<selectKey resultClass="int" keyProperty="id" > 
+		SELECT SEQ_WSDEFINITION_ID.nextval AS ID FROM DUAL 
+		</selectKey>
+		-->
+		INSERT INTO branch (branch_id_,branch_name_,province_,city_) VALUES(#{branchId},#{branchName},#{province},#{city})
+	</insert>
+
+    <insert id="batchInsert" parameterType="java.util.List">
+		INSERT INTO branch (branch_id_,branch_name_,province_,city_) VALUES
+		<foreach collection="branches" item="item" index="index" separator=",">
+			(#{item.branchId},#{item.branchName},#{item.province},#{item.city})
+		</foreach>
+	</insert>
+
+    <!-- 根据主键查询一条记录 -->
+	<update id="update" parameterType="com.ym.mec.collectfee.entity.Branch">
+		UPDATE branch SET city_ = #{city},branch_id_ = #{branchId},branch_name_ = #{branchName},province_ = #{province} WHERE branch_id_ = #{branchId} 
+	</update>
+	
+	<!-- 根据主键删除一条记录 -->
+	<delete id="delete" >
+		DELETE FROM branch WHERE branch_id_ = #{branchId} 
+	</delete>
+	
+	<!-- 分页查询 -->
+	<select id="queryPage" resultMap="Branch" parameterType="map">
+		SELECT * FROM branch ORDER BY branch_id_ <include refid="global.limit"/>
+	</select>
+	
+	<!-- 查询当前表的总记录数 -->
+	<select id="findCount" resultType="int">
+		SELECT COUNT(*) FROM branch
+	</select>
+</mapper>

+ 6 - 2
src/main/resources/config/mybatis/CourseGroupInfoMapper.xml

@@ -10,6 +10,7 @@
 		<result column="id_" property="id" />
 		<result column="name_" property="name" />
 		<result column="sub_id_" property="subId" />
+		<result column="class_id_" property="classId" />
 		<result column="sub_name_" property="subName" />
 		<result column="plan_num_" property="planNum" />
 		<result column="reg_num_" property="regNum" />
@@ -36,12 +37,12 @@
 		SELECT SEQ_WSDEFINITION_ID.nextval AS ID FROM DUAL 
 		</selectKey>
 		-->
-		INSERT INTO course_group_info (id_,name_,sub_id_,sub_name_,plan_num_,reg_num_,fee_type_,fee_amount_,create_time_,update_time_) VALUES(#{id},#{name},#{subId},#{subName},#{planNum},#{regNum},#{feeType},#{feeAmount},#{createTime},#{updateTime})
+		INSERT INTO course_group_info (class_id_,id_,name_,sub_id_,sub_name_,plan_num_,reg_num_,fee_type_,fee_amount_,create_time_,update_time_) VALUES(#{classId},#{id},#{name},#{subId},#{subName},#{planNum},#{regNum},#{feeType},#{feeAmount},#{createTime},#{updateTime})
 	</insert>
 	
 	<!-- 根据主键查询一条记录 -->
 	<update id="update" parameterType="com.ym.mec.collectfee.entity.CourseGroupInfo">
-		UPDATE course_group_info SET sub_id_ = #{subId},plan_num_ = #{planNum},fee_type_ = #{feeType},id_ = #{id},fee_amount_ = #{feeAmount},sub_name_ = #{subName},update_time_ = #{updateTime},reg_num_ = #{regNum},name_ = #{name},create_time_ = #{createTime} WHERE id_ = #{id} 
+		UPDATE course_group_info SET class_id_ = #{classId},sub_id_ = #{subId},plan_num_ = #{planNum},fee_type_ = #{feeType},id_ = #{id},fee_amount_ = #{feeAmount},sub_name_ = #{subName},update_time_ = #{updateTime},reg_num_ = #{regNum},name_ = #{name},create_time_ = #{createTime} WHERE id_ = #{id}
 	</update>
 	
 	<!-- 根据主键删除一条记录 -->
@@ -58,4 +59,7 @@
 	<select id="queryCount" resultType="int">
 		SELECT COUNT(*) FROM course_group_info
 	</select>
+	<select id="getCourses" resultMap="CourseGroupInfo">
+		SELECT sub_name_,MAX(id_) id_ FROM course_group_info WHERE class_id_ = #{classId} GROUP BY sub_name_
+	</select>
 </mapper>

+ 10 - 2
src/main/resources/config/mybatis/OrderMapper.xml

@@ -26,6 +26,10 @@
 		<result column="voicy_part" property="voicyPart" />
 		<result column="balance" property="balance" />
 		<result column="batch_num" property="batchNum" />
+		<result column="tui_fee" property="tuiFee" />
+		<result column="goods_fee" property="goodsFee" />
+		<result column="sd_name" property="sdName" />
+		<result column="sd_fee" property="sdFee" />
 	</resultMap>
 	
 	<!-- 根据主键查询一条记录 -->
@@ -45,12 +49,13 @@
 		SELECT SEQ_WSDEFINITION_ID.nextval AS ID FROM DUAL 
 		</selectKey>
 		-->
-		INSERT INTO `order` (id,oid,order_no,user_id,amount,pay,bank,account,u_account,pay_id,pay_time,remark,class_id,status,create_time,po_name,voicy_part,balance,batch_num) VALUES(#{id},#{oid},#{orderNo},#{userId},#{amount},#{pay},#{bank},#{account},#{uAccount},#{payId},#{payTime},#{remark},#{classId},#{status},#{createTime},#{poName},#{voicyPart},#{balance},#{batchNum})
+		INSERT INTO `order` (tui_fee,goods_fee,sd_name,sd_fee,id,oid,order_no,user_id,amount,pay,bank,account,u_account,pay_id,pay_time,remark,class_id,status,create_time,po_name,voicy_part,balance,batch_num) VALUES(#{tuiFee},#{goodsFee},#{sdName},#{seFee},#{id},#{oid},#{orderNo},#{userId},#{amount},#{pay},#{bank},#{account},#{uAccount},#{payId},#{payTime},#{remark},#{classId},#{status},#{createTime},#{poName},#{voicyPart},#{balance},#{batchNum})
 	</insert>
 	
 	<!-- 根据主键查询一条记录 -->
 	<update id="update" parameterType="com.ym.mec.collectfee.entity.Order">
-		UPDATE order SET amount = #{amount},create_time = #{createTime},class_id = #{classId},pay = #{pay},u_account = #{uAccount},remark = #{remark},oid = #{oid},batch_num = #{batchNum},pay_time = #{payTime},bank = #{bank},balance = #{balance},user_id = #{userId},voicy_part = #{voicyPart},po_name = #{poName},id = #{id},pay_id = #{payId},account = #{account},status = #{status} WHERE id = #{id}
+		UPDATE order SET tui_fee = #{tuiFee},goods_fee = #{goodsFee},sd_name = #{sdName},sd_fee = #{sdFee},
+		amount = #{amount},create_time = #{createTime},class_id = #{classId},pay = #{pay},u_account = #{uAccount},remark = #{remark},oid = #{oid},batch_num = #{batchNum},pay_time = #{payTime},bank = #{bank},balance = #{balance},user_id = #{userId},voicy_part = #{voicyPart},po_name = #{poName},id = #{id},pay_id = #{payId},account = #{account},status = #{status} WHERE id = #{id}
 	</update>
 	
 	<!-- 根据主键删除一条记录 -->
@@ -82,4 +87,7 @@
 	<select id="getOrderByOrderNo" resultMap="Order">
 		SELECT * FROM `order` WHERE order_no = #{orderNo} AND status = 1
 	</select>
+    <select id="findOrderByStatus" resultType="com.ym.mec.collectfee.entity.Order">
+		SELECT * FROM `order` WHERE user_id = #{userId} AND status = #{status}
+	</select>
 </mapper>

+ 18 - 5
src/main/resources/config/mybatis/SchoolMapper.xml

@@ -25,7 +25,7 @@
 	</select>
 	
 	<!-- 全查询 -->
-	<select id="findAll" resultMap="School">
+	<select id="findAll" resultMap="School" parameterType="map">
 		SELECT * FROM school ORDER BY id_
 	</select>
 	
@@ -36,7 +36,7 @@
 		SELECT SEQ_WSDEFINITION_ID.nextval AS ID FROM DUAL 
 		</selectKey>
 		-->
-		INSERT INTO school (name_,status_,branch_id_,branch_name_,e_deposit__,school_id_,school_name_,create_time_,update_time_) VALUES(#{name},#{status},#{branchId},#{branchName},#{eDeposit},#{schoolId},#{schoolName},#{createTime},#{updateTime})
+		INSERT INTO school (id_,name_,status_,branch_id_,branch_name_,e_deposit__,school_id_,school_name_,create_time_,update_time_) VALUES(#{id},#{name},#{status},#{branchId},#{branchName},#{eDeposit},#{schoolId},#{schoolName},#{createTime},#{updateTime})
 	</insert>
 	
 	<!-- 根据主键查询一条记录 -->
@@ -51,11 +51,24 @@
 	
 	<!-- 分页查询 -->
 	<select id="queryPage" resultMap="School" parameterType="map">
-		SELECT * FROM school ORDER BY id_ <include refid="global.limit"/>
+		SELECT * FROM school <include refid="schoolPage"/> ORDER BY id_ <include refid="global.limit"/>
 	</select>
+
+
+
+	<sql id="schoolPage">
+		<where>
+			<if test="name != null and name != ''">
+				name_ LIKE '%#{name}%'
+			</if>
+			<if test="status != null">
+				status_ = #{status}
+			</if>
+		</where>
+	</sql>
 	
 	<!-- 查询当前表的总记录数 -->
-	<select id="queryCount" resultType="int">
-		SELECT COUNT(*) FROM school
+	<select id="findCount" resultType="int">
+		SELECT COUNT(*) FROM school <include refid="schoolPage"/>
 	</select>
 </mapper>

+ 52 - 0
src/main/resources/config/mybatis/SeminaryMapper.xml

@@ -0,0 +1,52 @@
+<?xml version="1.0" encoding="UTF-8" ?>
+<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
+<!--
+这个文件是自动生成的。
+不要修改此文件。所有改动将在下次重新自动生成时丢失。
+-->
+<mapper namespace="com.ym.mec.collectfee.dao.SeminaryDao">
+	
+	<resultMap type="com.ym.mec.collectfee.entity.Seminary" id="Seminary">
+		<result column="school_id_" property="schoolId" />
+		<result column="school_name_" property="schoolName" />
+		<result column="level_" property="level" />
+		<result column="owner_" property="owner" />
+		<result column="province_" property="province" />
+		<result column="city_" property="city" />
+		<result column="longitude_" property="longitude" />
+		<result column="latitude_" property="latitude" />
+		<result column="address_" property="address" />
+		<result column="branch_id_" property="branchId" />
+	</resultMap>
+	
+	
+	<!-- 全查询 -->
+	<select id="findAll" resultMap="Seminary">
+		SELECT * FROM seminary
+	</select>
+	
+	<!-- 向数据库增加一条记录 -->
+	<insert id="insert" parameterType="com.ym.mec.collectfee.entity.Seminary" useGeneratedKeys="true" keyColumn="id" keyProperty="id">
+		INSERT INTO seminary (school_id_,school_name_,level_,owner_,province_,city_,longitude_,latitude_,address_,branch_id_) VALUES(#{schoolId},#{schoolName},#{level},#{owner},#{province},#{city},#{longitude},#{latitude},#{address},#{branchId})
+	</insert>
+
+	<insert id="batchInsert" parameterType="java.util.List">
+		INSERT INTO seminary (school_id_,school_name_,level_,owner_,province_,city_,longitude_,latitude_,address_,branch_id_) VALUES
+		<foreach collection="seminaries" item="item" index="index" separator=",">
+			(#{item.schoolId},#{item.schoolName},#{item.level},#{item.owner},#{item.province},#{item.city},#{item.longitude},#{latitude},#{item.address},#{item.branchId})
+		</foreach>
+	</insert>
+	
+	<!-- 分页查询 -->
+	<select id="queryPage" resultMap="Seminary" parameterType="map">
+		SELECT * FROM seminary <include refid="global.limit"/>
+	</select>
+	
+	<!-- 查询当前表的总记录数 -->
+	<select id="findCount" resultType="int">
+		SELECT COUNT(*) FROM seminary
+	</select>
+	<select id="findByBranchId" resultType="com.ym.mec.collectfee.entity.Seminary">
+		SELECT * FROM seminary WHERE branch_id_ = #{branchId} LIMIT 1
+	</select>
+</mapper>