瀏覽代碼

回调销售处理

周箭河 4 年之前
父節點
當前提交
e31f38dd0e

+ 9 - 0
mec-biz/src/main/java/com/ym/mec/biz/dal/dao/SubjectChangeDao.java

@@ -5,6 +5,7 @@ import com.ym.mec.common.dal.BaseDAO;
 import org.apache.ibatis.annotations.Param;
 
 import java.util.List;
+import java.util.Map;
 
 public interface SubjectChangeDao extends BaseDAO<Integer, SubjectChange> {
 
@@ -28,8 +29,16 @@ public interface SubjectChangeDao extends BaseDAO<Integer, SubjectChange> {
 
     /**
      * 获取待支付的的声部更换列表
+     *
      * @param musicGroupId
      * @return
      */
     List<SubjectChange> getMusicGroupWaitPay(@Param("musicGroupId") String musicGroupId);
+
+    /**
+     * 获取声部更换列表
+     * @param params
+     * @return
+     */
+    List<SubjectChange> getPageList(Map<String, Object> params);
 }

+ 22 - 0
mec-biz/src/main/java/com/ym/mec/biz/dal/entity/SubjectChange.java

@@ -16,6 +16,9 @@ public class SubjectChange {
     @ApiModelProperty(value="合作单位id")
     private Integer cooperationOrganId;
 
+    @ApiModelProperty(value="合作单位名称")
+    private String cooperationOrganName;
+
     @ApiModelProperty(value="学生id")
     private Integer studentId;
 
@@ -24,6 +27,9 @@ public class SubjectChange {
     @ApiModelProperty(value="分部id")
     private Integer organId;
 
+    @ApiModelProperty(value="分部名称")
+    private String organName;
+
     @ApiModelProperty(value="乐团id")
     private String musicGroupId;
 
@@ -450,4 +456,20 @@ public class SubjectChange {
     public void setChangeCost(BigDecimal changeCost) {
         this.changeCost = changeCost;
     }
+
+    public String getCooperationOrganName() {
+        return cooperationOrganName;
+    }
+
+    public void setCooperationOrganName(String cooperationOrganName) {
+        this.cooperationOrganName = cooperationOrganName;
+    }
+
+    public String getOrganName() {
+        return organName;
+    }
+
+    public void setOrganName(String organName) {
+        this.organName = organName;
+    }
 }

+ 55 - 0
mec-biz/src/main/java/com/ym/mec/biz/dal/page/SubjectChangeQueryInfo.java

@@ -0,0 +1,55 @@
+package com.ym.mec.biz.dal.page;
+
+import com.ym.mec.common.page.QueryInfo;
+import io.swagger.annotations.ApiModelProperty;
+
+import java.util.Date;
+
+public class SubjectChangeQueryInfo extends QueryInfo {
+
+    private String organIdList;
+
+
+    @ApiModelProperty(value = "合作单位id",required = false)
+    private Integer cooperationOrganId;
+
+    @ApiModelProperty(value = "开始时间",required = false)
+    private Date startTime;
+
+    @ApiModelProperty(value = "结束时间",required = false)
+    private Date endTime;
+
+
+    public String getOrganIdList() {
+        return organIdList;
+    }
+
+    public void setOrganIdList(String organIdList) {
+        this.organIdList = organIdList;
+    }
+
+
+    public Date getStartTime() {
+        return startTime;
+    }
+
+    public void setStartTime(Date startTime) {
+        this.startTime = startTime;
+    }
+
+    public Date getEndTime() {
+        return endTime;
+    }
+
+    public void setEndTime(Date endTime) {
+        this.endTime = endTime;
+    }
+
+    public Integer getCooperationOrganId() {
+        return cooperationOrganId;
+    }
+
+    public void setCooperationOrganId(Integer cooperationOrganId) {
+        this.cooperationOrganId = cooperationOrganId;
+    }
+}

+ 16 - 0
mec-biz/src/main/java/com/ym/mec/biz/service/SubjectChangeService.java

@@ -1,10 +1,19 @@
 package com.ym.mec.biz.service;
 
+import com.ym.mec.biz.dal.dto.StudentVisitDto;
 import com.ym.mec.biz.dal.entity.StudentPaymentOrder;
 import com.ym.mec.biz.dal.entity.SubjectChange;
+import com.ym.mec.biz.dal.page.StudentVisitQueryInfo;
+import com.ym.mec.biz.dal.page.SubjectChangeQueryInfo;
+import com.ym.mec.common.page.PageInfo;
 import com.ym.mec.common.service.BaseService;
+import com.ym.mec.util.collection.MapUtil;
+import com.ym.mec.util.date.DateUtil;
 
 import java.math.BigDecimal;
+import java.util.ArrayList;
+import java.util.HashMap;
+import java.util.List;
 import java.util.Map;
 
 public interface SubjectChangeService extends BaseService<Integer, SubjectChange> {
@@ -49,4 +58,11 @@ public interface SubjectChangeService extends BaseService<Integer, SubjectChange
      * @param order
      */
     Boolean orderCallback(StudentPaymentOrder order);
+
+    /**
+     * 获取更换列表
+     * @param queryInfo
+     * @return
+     */
+    PageInfo<SubjectChange> getPageList(SubjectChangeQueryInfo queryInfo);
 }

+ 41 - 0
mec-biz/src/main/java/com/ym/mec/biz/service/impl/SubjectChangeServiceImpl.java

@@ -2,14 +2,20 @@ package com.ym.mec.biz.service.impl;
 
 import com.alibaba.fastjson.JSONObject;
 import com.ym.mec.biz.dal.dao.*;
+import com.ym.mec.biz.dal.dto.StudentVisitDto;
 import com.ym.mec.biz.dal.entity.*;
 import com.ym.mec.biz.dal.enums.*;
+import com.ym.mec.biz.dal.page.StudentVisitQueryInfo;
+import com.ym.mec.biz.dal.page.SubjectChangeQueryInfo;
 import com.ym.mec.biz.service.*;
 import com.ym.mec.common.dal.BaseDAO;
 import com.ym.mec.common.exception.BizException;
+import com.ym.mec.common.page.PageInfo;
 import com.ym.mec.common.service.IdGeneratorService;
 import com.ym.mec.common.service.impl.BaseServiceImpl;
 import com.ym.mec.thirdparty.message.MessageSenderPluginContext;
+import com.ym.mec.util.collection.MapUtil;
+import com.ym.mec.util.date.DateUtil;
 import org.apache.commons.lang3.StringUtils;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
@@ -366,4 +372,39 @@ public class SubjectChangeServiceImpl extends BaseServiceImpl<Integer, SubjectCh
         }
         return true;
     }
+
+    @Override
+    public PageInfo<SubjectChange> getPageList(SubjectChangeQueryInfo queryInfo) {
+        if (queryInfo.getEndTime() != null) {
+            queryInfo.setEndTime(DateUtil.getLastTimeWithDay(queryInfo.getEndTime()));
+        }
+        PageInfo<SubjectChange> pageInfo = new PageInfo<>(queryInfo.getPage(), queryInfo.getRows());
+        Map<String, Object> params = new HashMap<String, Object>();
+        MapUtil.populateMap(params, queryInfo);
+
+        List<SubjectChange> dataList = new ArrayList<>();
+        int count = this.findCount(params);
+
+        if (count > 0) {
+            pageInfo.setTotal(count);
+            params.put("offset", pageInfo.getOffset());
+            dataList = subjectChangeDao.getPageList(params);
+            for (SubjectChange subjectChange : dataList) {
+                if (subjectChange.getOriginalMusical() != null) {
+                    subjectChange.setOriginalMusicalGoods(goodsDao.get(subjectChange.getOriginalMusical()));
+                }
+                if (subjectChange.getOriginalAccessories() != null) {
+                    subjectChange.setOriginalAccessoriesGoods(goodsDao.findGoodsByIds(subjectChange.getOriginalAccessories()));
+                }
+                if (subjectChange.getChangeMusical() != null) {
+                    subjectChange.setChangeMusicalGoods(goodsDao.get(subjectChange.getChangeMusical()));
+                }
+                if (subjectChange.getChangeAccessories() != null) {
+                    subjectChange.setChangeAccessoriesGoods(goodsDao.findGoodsByIds(subjectChange.getChangeAccessories()));
+                }
+            }
+        }
+        pageInfo.setRows(dataList);
+        return pageInfo;
+    }
 }

+ 45 - 0
mec-biz/src/main/resources/config/mybatis/SubjectChangeMapper.xml

@@ -8,7 +8,9 @@
         <result column="student_id_" property="studentId"/>
         <result column="studentName" property="studentName"/>
         <result column="organ_id_" property="organId"/>
+        <result column="organName" property="organName"/>
         <result column="cooperation_organ_id_" property="cooperationOrganId"/>
+        <result column="cooperationOrganName" property="cooperationOrganName"/>
         <result column="music_group_id_" property="musicGroupId"/>
         <result column="original_course_fee_" property="originalCourseFee"/>
         <result column="original_musical_" property="originalMusical"/>
@@ -182,4 +184,47 @@
         WHERE music_group_id_ = #{musicGroupId}
           AND status_ = 0
     </select>
+
+    <select id="queryPage" resultMap="SubjectChange">
+        SELECT * FROM subject_change sc
+        <include refid="queryPageSql"/>
+        ORDER BY sc.id_ DESC
+        <include refid="global.limit"/>
+    </select>
+
+    <select id="getPageList" resultMap="SubjectChange">
+        SELECT sc.*,s.username_ studentName,o.name_ organName,co.name_ cooperationOrganName FROM
+        subject_change sc
+        LEFT JOIN sys_user s ON sc.student_id_ = s.id_
+        LEFT JOIN organization o ON sc.organ_id_ = o.id_
+        LEFT JOIN cooperation_organ co ON sc.cooperation_organ_id_ = co.id_
+        <include refid="queryPageSql"/>
+        ORDER BY sc.sell_time_ DESC
+        <include refid="global.limit"/>
+    </select>
+    <sql id="queryPageSql">
+        <where>
+            <if test="search != null and search != ''">
+                AND (sc.order_no_ = #{search} OR sc.trans_no_ = #{search})
+            </if>
+            <if test="organIdList != null and organIdList != ''">
+                AND FIND_IN_SET(sc.organ_id_,#{organIdList})
+            </if>
+            <if test="cooperationOrganId != null">
+                AND sc.cooperation_organ_id_ = #{cooperationOrganId}
+            </if>
+            <if test="startTime != null">
+                AND sc.sell_time_ >= #{startTime}
+            </if>
+            <if test="endTime != null">
+                AND sc.sell_time_ &lt;= #{endTime}
+            </if>
+        </where>
+    </sql>
+    <select id="queryCount" resultType="int">
+        SELECT COUNT(*) FROM subject_change sv
+        LEFT JOIN sys_user t ON sc.teacher_id_ = t.id_
+        LEFT JOIN sys_user s ON s.id_ = sc.student_id_
+        <include refid="queryPageSql"/>
+    </select>
 </mapper>

+ 38 - 9
mec-web/src/main/java/com/ym/mec/web/controller/SubjectChangeController.java

@@ -1,14 +1,23 @@
 package com.ym.mec.web.controller;
 
+import com.ym.mec.auth.api.client.SysUserFeignService;
+import com.ym.mec.auth.api.entity.SysUser;
+import com.ym.mec.biz.dal.dao.EmployeeDao;
 import com.ym.mec.biz.dal.dto.MusicGroupSubjectGoodsAndInfoDto;
 import com.ym.mec.biz.dal.dto.StudentAddDto;
+import com.ym.mec.biz.dal.entity.Employee;
+import com.ym.mec.biz.dal.entity.SellOrder;
 import com.ym.mec.biz.dal.entity.StudentPaymentOrderDetail;
 import com.ym.mec.biz.dal.entity.SubjectChange;
+import com.ym.mec.biz.dal.page.SellOrderQueryInfo;
+import com.ym.mec.biz.dal.page.SubjectChangeQueryInfo;
 import com.ym.mec.biz.service.MusicGroupSubjectPlanService;
 import com.ym.mec.biz.service.StudentRegistrationService;
 import com.ym.mec.biz.service.SubjectChangeService;
 import com.ym.mec.common.controller.BaseController;
 import com.ym.mec.common.entity.HttpResponseResult;
+import com.ym.mec.common.page.PageInfo;
+import com.ym.mec.util.date.DateUtil;
 import io.swagger.annotations.Api;
 import io.swagger.annotations.ApiImplicitParam;
 import io.swagger.annotations.ApiImplicitParams;
@@ -18,6 +27,7 @@ import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.security.access.prepost.PreAuthorize;
 import org.springframework.web.bind.annotation.*;
 
+import java.util.Arrays;
 import java.util.List;
 
 @RequestMapping("subjectChange")
@@ -31,17 +41,36 @@ public class SubjectChangeController extends BaseController {
     private MusicGroupSubjectPlanService musicGroupSubjectPlanService;
     @Autowired
     private SubjectChangeService subjectChangeService;
+    @Autowired
+    private SysUserFeignService sysUserFeignService;
+    @Autowired
+    private EmployeeDao employeeDao;
 
-    @ApiOperation(value = "获取学生报名缴费详情")
-    @GetMapping("/getApplyDetail")
-    @PreAuthorize("@pcs.hasPermissions('subjectChange/getApplyDetail')")
-    @ApiImplicitParams({@ApiImplicitParam(name = "studentId", value = "学生编号", required = true, dataType = "Integer"),
-            @ApiImplicitParam(name = "musicGroupId", value = "乐团编号", required = true, dataType = "String")})
-    public HttpResponseResult<List<StudentPaymentOrderDetail>> getApplyDetail(Integer studentId, String musicGroupId) {
-        if (studentId == null || StringUtils.isEmpty(musicGroupId)) {
-            return failed("参数校验异常");
+    @ApiOperation("销售列表")
+    @GetMapping(value = "/queryPage")
+    @PreAuthorize("@pcs.hasPermissions('sellOrder/queryPage')")
+    public HttpResponseResult<PageInfo<SubjectChange>> queryPage(SubjectChangeQueryInfo queryInfo) {
+        SysUser sysUser = sysUserFeignService.queryUserInfo();
+        if (sysUser == null) {
+            return failed("用户信息获取失败");
+        }
+        if (!sysUser.getIsSuperAdmin()) {
+            Employee employee = employeeDao.get(sysUser.getId());
+            if (StringUtils.isEmpty(queryInfo.getOrganIdList())) {
+                queryInfo.setOrganIdList(employee.getOrganIdList());
+            } else if (StringUtils.isEmpty(employee.getOrganIdList())) {
+                return failed("用户所在分部异常");
+            } else {
+                List<String> list = Arrays.asList(employee.getOrganIdList().split(","));
+                if (!list.containsAll(Arrays.asList(queryInfo.getOrganIdList().split(",")))) {
+                    return failed("非法请求");
+                }
+            }
+        }
+        if (queryInfo.getEndTime() != null) {
+            queryInfo.setEndTime(DateUtil.getLastTimeWithDay(queryInfo.getEndTime()));
         }
-        return succeed(studentRegistrationService.getStudentApplyDetail(studentId, musicGroupId));
+        return succeed(subjectChangeService.getPageList(queryInfo));
     }
 
     @ApiOperation(value = "获取更换前的详情")