浏览代码

Merge branch '2021-04-21_music_replace' into online1

周箭河 4 年之前
父节点
当前提交
148e8616c5

+ 33 - 0
mec-biz/src/main/java/com/ym/mec/biz/dal/dto/ReplacementInstrumentActivityStatDto.java

@@ -2,6 +2,7 @@ package com.ym.mec.biz.dal.dto;
 
 import com.ym.mec.biz.dal.entity.ReplacementInstrument;
 import com.ym.mec.biz.dal.entity.ReplacementInstrumentActivity;
+import io.swagger.annotations.ApiModelProperty;
 
 import java.math.BigDecimal;
 
@@ -11,6 +12,8 @@ import java.math.BigDecimal;
  */
 public class ReplacementInstrumentActivityStatDto extends ReplacementInstrumentActivity {
 
+    private String organName;
+
     private String subjectName;
 
     /** 品牌 */
@@ -30,6 +33,12 @@ public class ReplacementInstrumentActivityStatDto extends ReplacementInstrumentA
 
     private BigDecimal salePrice;
 
+    @ApiModelProperty(value = "是否参与校赛")
+    private String hasYesFirstAnswer;
+
+    @ApiModelProperty(value="是否有置换乐器")
+    private String hasInstrumentsId;
+
     public String getSubjectName() {
         return subjectName;
     }
@@ -93,4 +102,28 @@ public class ReplacementInstrumentActivityStatDto extends ReplacementInstrumentA
     public void setParam(String param) {
         this.param = param;
     }
+
+    public String getOrganName() {
+        return organName;
+    }
+
+    public void setOrganName(String organName) {
+        this.organName = organName;
+    }
+
+    public String getHasInstrumentsId() {
+        return hasInstrumentsId;
+    }
+
+    public void setHasInstrumentsId(String hasInstrumentsId) {
+        this.hasInstrumentsId = hasInstrumentsId;
+    }
+
+    public String getHasYesFirstAnswer() {
+        return hasYesFirstAnswer;
+    }
+
+    public void setHasYesFirstAnswer(String hasYesFirstAnswer) {
+        this.hasYesFirstAnswer = hasYesFirstAnswer;
+    }
 }

+ 15 - 0
mec-biz/src/main/java/com/ym/mec/biz/dal/entity/ReplacementInstrumentActivity.java

@@ -1,5 +1,6 @@
 package com.ym.mec.biz.dal.entity;
 
+import com.ym.mec.biz.dal.enums.YesOrNoEnum;
 import io.swagger.annotations.ApiModelProperty;
 import org.apache.commons.lang3.builder.ToStringBuilder;
 
@@ -48,6 +49,12 @@ public class ReplacementInstrumentActivity {
 
 	@ApiModelProperty(value = "缴费状态 0-未缴费 1-缴费中 2-已缴费")
 	private Integer payStatus = 0;
+
+	/**
+	 * 是否有问卷 0-没有 1-有
+	 */
+	@ApiModelProperty(value = "是否有问卷 0-没有 1-有")
+	private YesOrNoEnum showQuestion = YesOrNoEnum.YES;
 	
 	/**  */
 	private java.util.Date createTime;
@@ -187,4 +194,12 @@ public class ReplacementInstrumentActivity {
 	public String toString() {
 		return ToStringBuilder.reflectionToString(this);
 	}
+
+	public YesOrNoEnum getShowQuestion() {
+		return showQuestion;
+	}
+
+	public void setShowQuestion(YesOrNoEnum showQuestion) {
+		this.showQuestion = showQuestion;
+	}
 }

+ 15 - 0
mec-biz/src/main/java/com/ym/mec/biz/dal/entity/ReplacementInstrumentCooperation.java

@@ -30,6 +30,13 @@ public class ReplacementInstrumentCooperation {
     @ApiModelProperty(value = "是否开启缴费 0-未开启 1-已开启")
     private YesOrNoEnum openPay = YesOrNoEnum.NO;
 
+
+    /**
+     * 是否有问卷 0-没有 1-有
+     */
+    @ApiModelProperty(value = "是否有问卷 0-没有 1-有")
+    private YesOrNoEnum showQuestion = YesOrNoEnum.YES;
+
     /**
      * 创建时间
      */
@@ -182,4 +189,12 @@ public class ReplacementInstrumentCooperation {
     public void setPayScale(BigDecimal payScale) {
         this.payScale = payScale;
     }
+
+    public YesOrNoEnum getShowQuestion() {
+        return showQuestion;
+    }
+
+    public void setShowQuestion(YesOrNoEnum showQuestion) {
+        this.showQuestion = showQuestion;
+    }
 }

+ 11 - 0
mec-biz/src/main/java/com/ym/mec/biz/dal/page/ReplacementInstrumentActivityQueryInfo.java

@@ -25,6 +25,9 @@ public class ReplacementInstrumentActivityQueryInfo extends QueryInfo {
     @ApiModelProperty(value = "缴费状态 0-未缴费 1-缴费中 2-已缴费")
     private Integer payStatus;
 
+    @ApiModelProperty(value = "是否参与校赛")
+    private Boolean hasYesFirstAnswer;
+
     public Integer getPayStatus() {
         return payStatus;
     }
@@ -88,4 +91,12 @@ public class ReplacementInstrumentActivityQueryInfo extends QueryInfo {
     public void setCooperationOrganIdOrName(String cooperationOrganIdOrName) {
         this.cooperationOrganIdOrName = cooperationOrganIdOrName;
     }
+
+    public Boolean getHasYesFirstAnswer() {
+        return hasYesFirstAnswer;
+    }
+
+    public void setHasYesFirstAnswer(Boolean hasYesFirstAnswer) {
+        this.hasYesFirstAnswer = hasYesFirstAnswer;
+    }
 }

+ 16 - 4
mec-biz/src/main/resources/config/mybatis/ReplacementInstrumentActivityMapper.xml

@@ -28,6 +28,7 @@
     <resultMap id="ReplacementInstrumentActivityStatDto"
                type="com.ym.mec.biz.dal.dto.ReplacementInstrumentActivityStatDto"
                extends="ReplacementInstrumentActivity">
+        <result property="organName" column="organ_name_"/>
         <result property="subjectName" column="subject_name_"/>
         <result property="brand" column="brand_"/>
         <result property="specification" column="specification_"/>
@@ -36,6 +37,7 @@
         <result property="discountPrice" column="discount_price_"/>
         <result property="depreciationPrice" column="depreciation_price_"/>
         <result property="salePrice" column="sale_price_"/>
+        <result property="mobileNo" column="phone_"/>
     </resultMap>
 
     <!-- 根据主键查询一条记录 -->
@@ -142,6 +144,15 @@
             <if test="hasInstrumentsId!=null and hasInstrumentsId==true">
                 AND ria.instruments_id_ >=1
             </if>
+            <if test="hasInstrumentsId!=null and hasInstrumentsId==false">
+                AND ria.instruments_id_ IS NULL
+            </if>
+            <if test="hasYesFirstAnswer!=null and hasYesFirstAnswer==true">
+                AND ria.question_result_ LIKE CONCAT('1', '%')
+            </if>
+            <if test="hasYesFirstAnswer!=null and hasYesFirstAnswer==false ">
+                AND ria.question_result_ LIKE CONCAT('0', '%')
+            </if>
             <if test="brand!=null and brand!=''">
                 AND ri.brand_ = #{brand}
             </if>
@@ -250,12 +261,13 @@
 
     <!-- 获取问卷分页数据 -->
     <select id="getPageList" resultMap="ReplacementInstrumentActivityStatDto" parameterType="map">
-        SELECT ria.*,ri.brand_,ri.specification_,ri.param_,ri.market_price_,ri.discount_price_,ri.depreciation_price_,
+        SELECT ria.*,su.phone_,o.name_ organ_name_,ri.brand_,ri.specification_,ri.param_,ri.market_price_,ri.discount_price_,ri.depreciation_price_,
         ri.sale_price_,s.name_ subject_name_,co.name_ cooperationOrganName FROM replacement_instrument_activity ria
         LEFT JOIN replacement_instrument ri ON ri.id_ = ria.instruments_id_
-        LEFT JOIN subject s on s.id_ = ri.subject_id_
-        LEFT JOIN cooperation_organ co on co.id_ = ria.cooperation_organ_id_
-        LEFT JOIN organization o on o.id_ = co.organ_id_
+        LEFT JOIN subject s ON s.id_ = ria.subject_id_
+        lEFT JOIN sys_user su ON su.id_ = ria.user_id_
+        LEFT JOIN cooperation_organ co ON co.id_ = ria.cooperation_organ_id_
+        LEFT JOIN organization o ON o.id_ = co.organ_id_
         <include refid="queryReplacementsCondition"/>
         ORDER BY ria.id_ DESC
         <include refid="global.limit"/>

+ 6 - 2
mec-biz/src/main/resources/config/mybatis/ReplacementInstrumentCooperationMapper.xml

@@ -8,6 +8,7 @@
         <result column="organ_id_" property="organId"/>
         <result column="cooperation_organ_id_" property="cooperationOrganId"/>
         <result column="open_pay_" property="openPay" typeHandler="com.ym.mec.common.dal.CustomEnumTypeHandler"/>
+        <result column="show_question_" property="showQuestion" typeHandler="com.ym.mec.common.dal.CustomEnumTypeHandler"/>
         <result column="organName" property="organName"/>
         <result column="cooperationOrganName" property="cooperationOrganName"/>
         <result column="create_time_" property="createTime"/>
@@ -23,11 +24,11 @@
     <insert id="insert" parameterType="com.ym.mec.biz.dal.entity.ReplacementInstrumentCooperation"
             useGeneratedKeys="true" keyColumn="id" keyProperty="id">
         <!--@mbg.generated-->
-        insert into replacement_instrument_cooperation (id_, organ_id_, cooperation_organ_id_, open_pay_, create_time_,
+        insert into replacement_instrument_cooperation (id_, organ_id_, cooperation_organ_id_, open_pay_,show_question_, create_time_,
         update_time_
         )
         values (#{id}, #{organId}, #{cooperationOrganId},
-        #{openPay,typeHandler=com.ym.mec.common.dal.CustomEnumTypeHandler}, #{createTime}, #{updateTime}
+        #{openPay,typeHandler=com.ym.mec.common.dal.CustomEnumTypeHandler},#{showQuestion,typeHandler=com.ym.mec.common.dal.CustomEnumTypeHandler}, #{createTime}, #{updateTime}
         )
     </insert>
 
@@ -75,6 +76,9 @@
             <if test="openPay != null">
                 AND ric.open_pay_ = #{openPay,typeHandler=com.ym.mec.common.dal.CustomEnumTypeHandler}
             </if>
+            <if test="showQuestion != null">
+                AND ric.show_question_ = #{showQuestion,typeHandler=com.ym.mec.common.dal.CustomEnumTypeHandler}
+            </if>
             <if test="search != null and search != ''">
                 AND (ric.cooperation_organ_id_ = #{search} OR co.name_ LIKE CONCAT('%',#{search},'%'))
             </if>

+ 7 - 0
mec-student/src/main/java/com/ym/mec/student/controller/ReplacementInstrumentActivityController.java

@@ -2,13 +2,16 @@ 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.dao.ReplacementInstrumentCooperationDao;
 import com.ym.mec.biz.dal.dto.ReplacementInstrumentActivityStatDto;
 import com.ym.mec.biz.dal.dto.ReplacementPayDto;
 import com.ym.mec.biz.dal.entity.CooperationOrgan;
 import com.ym.mec.biz.dal.entity.ReplacementInstrumentActivity;
+import com.ym.mec.biz.dal.entity.ReplacementInstrumentCooperation;
 import com.ym.mec.biz.dal.entity.Student;
 import com.ym.mec.biz.service.CooperationOrganService;
 import com.ym.mec.biz.service.ReplacementInstrumentActivityService;
+import com.ym.mec.biz.service.ReplacementInstrumentCooperationService;
 import com.ym.mec.biz.service.StudentService;
 import com.ym.mec.common.controller.BaseController;
 import com.ym.mec.common.entity.HttpResponseResult;
@@ -38,6 +41,8 @@ public class ReplacementInstrumentActivityController extends BaseController {
     private StudentService studentService;
     @Autowired
     private CooperationOrganService cooperationOrganService;
+    @Autowired
+    private ReplacementInstrumentCooperationService replacementInstrumentCooperationService;
 
     @ApiOperation(value = "新增调查问卷")
     @PostMapping("/insert")
@@ -73,6 +78,8 @@ public class ReplacementInstrumentActivityController extends BaseController {
         if (cooperationOrgan != null) {
             replacementInstrumentActivity.setCooperationOrganName(cooperationOrgan.getName());
         }
+        ReplacementInstrumentCooperation replacementInstrumentCooperation = replacementInstrumentCooperationService.getByCooperationId(cooperationOrganId);
+        replacementInstrumentActivity.setShowQuestion(replacementInstrumentCooperation.getShowQuestion());
         return succeed(replacementInstrumentActivity);
     }
 

+ 52 - 13
mec-web/src/main/java/com/ym/mec/web/controller/ReplacementInstrumentActivityController.java

@@ -4,19 +4,25 @@ 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.dao.ReplacementInstrumentActivityDao;
+import com.ym.mec.biz.dal.dao.ReplacementInstrumentDao;
+import com.ym.mec.biz.dal.dao.SysConfigDao;
 import com.ym.mec.biz.dal.dto.ReplacementInstrumentActivityStatDto;
 import com.ym.mec.biz.dal.dto.StudentInstrumentExportDto;
-import com.ym.mec.biz.dal.entity.Employee;
-import com.ym.mec.biz.dal.entity.ReplacementInstrumentActivity;
-import com.ym.mec.biz.dal.entity.StudentRegistration;
+import com.ym.mec.biz.dal.entity.*;
+import com.ym.mec.biz.dal.enums.MessageTypeEnum;
+import com.ym.mec.biz.dal.enums.YesOrNoEnum;
 import com.ym.mec.biz.dal.page.ReplacementInstrumentActivityQueryInfo;
 import com.ym.mec.biz.service.ReplacementInstrumentActivityService;
+import com.ym.mec.biz.service.ReplacementInstrumentCooperationService;
+import com.ym.mec.biz.service.SysMessageService;
 import com.ym.mec.common.controller.BaseController;
 import com.ym.mec.common.entity.HttpResponseResult;
 import com.ym.mec.common.exception.BizException;
 import com.ym.mec.common.page.PageInfo;
+import com.ym.mec.thirdparty.message.MessageSenderPluginContext;
 import com.ym.mec.util.date.DateUtil;
 import com.ym.mec.util.excel.POIUtil;
+import com.ym.mec.util.http.HttpUtil;
 import io.swagger.annotations.Api;
 import io.swagger.annotations.ApiOperation;
 import org.apache.commons.lang3.StringUtils;
@@ -24,15 +30,14 @@ import org.apache.poi.hssf.usermodel.HSSFWorkbook;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.security.access.prepost.PreAuthorize;
 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;
 
 import javax.servlet.http.HttpServletResponse;
 import java.io.IOException;
 import java.io.OutputStream;
-import java.util.Arrays;
-import java.util.Date;
-import java.util.List;
+import java.util.*;
 
 @RequestMapping("replacementInstrumentActivity")
 @Api(tags = "乐器置换-调查问卷服务")
@@ -47,6 +52,14 @@ public class ReplacementInstrumentActivityController extends BaseController {
     private EmployeeDao employeeDao;
     @Autowired
     private ReplacementInstrumentActivityDao replacementInstrumentActivityDao;
+    @Autowired
+    private ReplacementInstrumentCooperationService replacementInstrumentCooperationService;
+    @Autowired
+    private ReplacementInstrumentDao replacementInstrumentDao;
+    @Autowired
+    private SysConfigDao sysConfigDao;
+    @Autowired
+    private SysMessageService sysMessageService;
 
     @ApiOperation(value = "分页查询列表")
     @GetMapping("/queryPage")
@@ -67,7 +80,6 @@ public class ReplacementInstrumentActivityController extends BaseController {
                 return failed("非法请求");
             }
         }
-        queryInfo.setHasInstrumentsId(true);
         return succeed(replacementInstrumentActivityService.getPageList(queryInfo));
     }
 
@@ -78,20 +90,36 @@ public class ReplacementInstrumentActivityController extends BaseController {
     }
 
     @ApiOperation(value = "修改")
-    @GetMapping("/update")
+    @PostMapping("/update")
     @PreAuthorize("@pcs.hasPermissions('replacementInstrumentActivity/update')")
     public HttpResponseResult<ReplacementInstrumentActivity> update(ReplacementInstrumentActivity replacementInstrumentActivity) {
         ReplacementInstrumentActivity oldReplacementInstrumentActivity = replacementInstrumentActivityDao.getLock(replacementInstrumentActivity.getId());
         if (!oldReplacementInstrumentActivity.getPayStatus().equals(0)) {
             return failed("支付中、已支付的乐器置换,不能修改");
         }
-        if (oldReplacementInstrumentActivity.getInstrumentsId().equals(replacementInstrumentActivity.getInstrumentsId())) {
-            return succeed();
+
+        ReplacementInstrumentCooperation byCooperationId = replacementInstrumentCooperationService.getByCooperationId(oldReplacementInstrumentActivity.getCooperationOrganId());
+        if (byCooperationId.getOpenPay().equals(YesOrNoEnum.YES) && oldReplacementInstrumentActivity.getInstrumentsId() == null && replacementInstrumentActivity.getInstrumentsId() != null) {
+            ReplacementInstrument replacementInstrument = replacementInstrumentDao.get(replacementInstrumentActivity.getInstrumentsId());
+            Map<Integer, String> userMap = new HashMap<>();
+            Map<Integer, String> userPhoneMap = new HashMap<>();
+            Integer userId = oldReplacementInstrumentActivity.getUserId();
+            String baseApiUrl = sysConfigDao.findConfigValue("base_api_url");
+            String pushUrl = baseApiUrl + "/#/questionGoodsSale?id=";
+            userMap.put(userId, userId.toString());
+            sysMessageService.batchSendMessage(MessageSenderPluginContext.MessageSender.JIGUANG, MessageTypeEnum.REPLACEMENT_PAY_PUSH,
+                    userMap, null, 0, "5?" + pushUrl + replacementInstrumentActivity.getId(), "STUDENT", replacementInstrument.getBrand(), "");
+
+            userPhoneMap.put(userId, oldReplacementInstrumentActivity.getMobileNo());
+            sysMessageService.batchSendMessage(MessageSenderPluginContext.MessageSender.AWSMS, MessageTypeEnum.REPLACEMENT_PAY_PUSH,
+                    userPhoneMap, null, 0, null, "STUDENT", replacementInstrument.getBrand(), HttpUtil.getSortUrl(pushUrl + replacementInstrumentActivity.getId()));
         }
+
         oldReplacementInstrumentActivity.setSubjectId(replacementInstrumentActivity.getSubjectId());
         oldReplacementInstrumentActivity.setInstrumentsId(replacementInstrumentActivity.getInstrumentsId());
         oldReplacementInstrumentActivity.setUpdateTime(new Date());
         replacementInstrumentActivityService.update(oldReplacementInstrumentActivity);
+
         return succeed(replacementInstrumentActivity);
     }
 
@@ -114,19 +142,30 @@ public class ReplacementInstrumentActivityController extends BaseController {
                 throw new BizException("非法请求");
             }
         }
-        queryInfo.setHasInstrumentsId(true);
         queryInfo.setRows(99999);
         PageInfo<ReplacementInstrumentActivityStatDto> pageList = replacementInstrumentActivityService.getPageList(queryInfo);
 
         if (pageList.getTotal() <= 0) {
             throw new BizException("没有可导出的记录");
         }
+        for (ReplacementInstrumentActivityStatDto row : pageList.getRows()) {
+            if (row.getQuestionResult().substring(0, 1).equals("1")) {
+                row.setHasYesFirstAnswer("是");
+            } else {
+                row.setHasYesFirstAnswer("否");
+            }
+            if(row.getInstrumentsId() == null){
+                row.setHasInstrumentsId("否");
+            }else {
+                row.setHasInstrumentsId("是");
+            }
+        }
 
         OutputStream outputStream = response.getOutputStream();
         HSSFWorkbook workbook = null;
         try {
-            String[] header = {"合作单位编号", "合作单位", "学员编号", "学员姓名", "联系电话", "声部", "品牌", "型号"};
-            String[] body = {"cooperationOrganId", "cooperationOrganName", "userId", "userName", "mobileNo", "subjectName", "brand", "specification"};
+            String[] header = {"分部", "合作单位编号", "合作单位", "学员编号", "学员姓名", "联系电话", "声部", "品牌", "型号", "是否参与市赛", "是否置换乐器"};
+            String[] body = {"organName", "cooperationOrganId", "cooperationOrganName", "userId", "userName", "mobileNo", "subjectName", "brand", "specification","hasYesFirstAnswer","hasInstrumentsId"};
             workbook = POIUtil.exportExcel(header, body, pageList.getRows());
             response.setContentType("application/octet-stream");
             response.setHeader("Content-Disposition", "attachment;filename=replacement-" + DateUtil.getDate(new Date()) + ".xls");