Browse Source

MERGE EXAM

he2802 2 years ago
parent
commit
83dfd9914e
15 changed files with 139 additions and 24 deletions
  1. 8 0
      zhongzheng-api/src/main/java/com/zhongzheng/controller/wx/WxLoginController.java
  2. 16 0
      zhongzheng-system/src/main/java/com/zhongzheng/modules/goods/service/impl/GoodsServiceImpl.java
  3. 4 0
      zhongzheng-system/src/main/java/com/zhongzheng/modules/grade/bo/ClassGradeOpenUpBo.java
  4. 2 0
      zhongzheng-system/src/main/java/com/zhongzheng/modules/grade/domain/ClassGradeInterface.java
  5. 4 0
      zhongzheng-system/src/main/java/com/zhongzheng/modules/grade/mapper/ClassGradeInterfaceMapper.java
  6. 2 0
      zhongzheng-system/src/main/java/com/zhongzheng/modules/grade/mapper/ClassGradeMapper.java
  7. 2 0
      zhongzheng-system/src/main/java/com/zhongzheng/modules/grade/service/IClassGradeInterfaceService.java
  8. 5 0
      zhongzheng-system/src/main/java/com/zhongzheng/modules/grade/service/impl/ClassGradeInterfaceServiceImpl.java
  9. 40 21
      zhongzheng-system/src/main/java/com/zhongzheng/modules/grade/service/impl/ClassGradeServiceImpl.java
  10. 2 1
      zhongzheng-system/src/main/java/com/zhongzheng/modules/inform/domain/InformRemind.java
  11. 42 2
      zhongzheng-system/src/main/java/com/zhongzheng/modules/inform/service/impl/InformSysUserServiceImpl.java
  12. 4 0
      zhongzheng-system/src/main/java/com/zhongzheng/modules/inform/vo/InformSysUserVo.java
  13. 1 0
      zhongzheng-system/src/main/java/com/zhongzheng/modules/order/service/impl/OrderServiceImpl.java
  14. 3 0
      zhongzheng-system/src/main/resources/mapper/modules/grade/ClassGradeInterfaceMapper.xml
  15. 4 0
      zhongzheng-system/src/main/resources/mapper/modules/grade/ClassGradeMapper.xml

+ 8 - 0
zhongzheng-api/src/main/java/com/zhongzheng/controller/wx/WxLoginController.java

@@ -1,6 +1,7 @@
 package com.zhongzheng.controller.wx;
 
 import cn.hutool.core.lang.Validator;
+import com.alibaba.fastjson.JSON;
 import com.github.xiaoymin.knife4j.annotations.ApiSupport;
 import com.zhongzheng.common.constant.Constants;
 import com.zhongzheng.common.core.domain.AjaxResult;
@@ -19,6 +20,8 @@ import com.zhongzheng.modules.wx.bo.WxLoginBody;
 import com.zhongzheng.modules.wx.bo.WxShareGoodsBo;
 import io.swagger.annotations.Api;
 import io.swagger.annotations.ApiOperation;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.web.bind.annotation.*;
 
@@ -43,6 +46,7 @@ public class WxLoginController
     private  IUserService iUserService;
     @Autowired
     private  RedisCache redisCache;
+    private static final Logger log = LoggerFactory.getLogger(WxLoginController.class);
 
     /**
      * 登录方法
@@ -99,10 +103,14 @@ public class WxLoginController
     @PostMapping("/scan_login_check")
     public AjaxResult scanLoginCheck(@RequestBody WxLoginBody loginBody)
     {
+        log.info("loginBody:"+ JSON.toJSONString(loginBody));
         ClientLoginUser loginUser = wxTokenService.getLoginUser(ServletUtils.getRequest());
+        log.info("loginUser:"+ JSON.toJSONString(loginUser));
         String scanCode = loginBody.getScanCode();
         String key = "SCAN_LOGIN_"+scanCode;
+        log.info("key:"+ key);
         String keyStatus = "SCAN_LOGIN_STATUS_"+scanCode; //0未扫码 1已扫码 2已登录
+        log.info("keyStatus:"+ keyStatus);
         Long status = redisCache.getCacheObject(keyStatus);
         if(Validator.isNotEmpty(status)&&status.equals(1L)){
             redisCache.setCacheObject(key, loginUser.getUser().getUserId(),60, TimeUnit.SECONDS);//60秒锁定

+ 16 - 0
zhongzheng-system/src/main/java/com/zhongzheng/modules/goods/service/impl/GoodsServiceImpl.java

@@ -40,6 +40,8 @@ import com.zhongzheng.modules.goods.domain.*;
 import com.zhongzheng.modules.goods.mapper.GoodsMapper;
 import com.zhongzheng.modules.goods.service.*;
 import com.zhongzheng.modules.goods.vo.*;
+import com.zhongzheng.modules.grade.domain.ClassGradeInterface;
+import com.zhongzheng.modules.grade.service.IClassGradeInterfaceService;
 import com.zhongzheng.modules.grade.vo.ClassGradeVo;
 import com.zhongzheng.modules.grade.vo.SyncGoodsExport;
 import com.zhongzheng.modules.inform.domain.InformRemind;
@@ -123,6 +125,8 @@ public class GoodsServiceImpl extends ServiceImpl<GoodsMapper, Goods> implements
 
     @Autowired
     private IOrderInputTemplateService iOrderInputTemplateService;
+    @Autowired
+    private IClassGradeInterfaceService iClassGradeInterfaceService;
 
     @Autowired
     private ICourseMenuService iCourseMenuService;
@@ -3392,6 +3396,18 @@ public class GoodsServiceImpl extends ServiceImpl<GoodsMapper, Goods> implements
             iOrderInputTemplateService.saveBatch(newTemplateList);
         }
 
+        //班级官方通知模板
+        List<ClassGradeInterface> gradeInterfaceList = iClassGradeInterfaceService.list();
+        if (CollectionUtils.isNotEmpty(gradeInterfaceList)){
+            List<ClassGradeInterface> newGradeInterfaceList = gradeInterfaceList.stream().map(x -> {
+                ClassGradeInterface gradeInterface = BeanUtil.toBean(x, ClassGradeInterface.class);
+                gradeInterface.setId(null);
+                gradeInterface.setTenantId(newTenantId);
+                return gradeInterface;
+            }).collect(Collectors.toList());
+            iClassGradeInterfaceService.saveBatch(newGradeInterfaceList);
+        }
+
         //保存记录
         iSysGoodsCopyRecordService.saveBatch(copyRecordList);
         return true;

+ 4 - 0
zhongzheng-system/src/main/java/com/zhongzheng/modules/grade/bo/ClassGradeOpenUpBo.java

@@ -29,4 +29,8 @@ public class ClassGradeOpenUpBo implements Serializable {
 
     @ApiModelProperty("班级名称")
     private String className;
+
+    private Long gradeId;
+
+    private Long interfacePushId;
 }

+ 2 - 0
zhongzheng-system/src/main/java/com/zhongzheng/modules/grade/domain/ClassGradeInterface.java

@@ -40,4 +40,6 @@ private static final long serialVersionUID=1L;
     /** 修改时间 */
     @TableField(fill = FieldFill.INSERT_UPDATE)
     private Long updateTime;
+
+    private Long tenantId;
 }

+ 4 - 0
zhongzheng-system/src/main/java/com/zhongzheng/modules/grade/mapper/ClassGradeInterfaceMapper.java

@@ -1,7 +1,9 @@
 package com.zhongzheng.modules.grade.mapper;
 
+import com.baomidou.mybatisplus.annotation.InterceptorIgnore;
 import com.zhongzheng.modules.grade.domain.ClassGradeInterface;
 import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import org.apache.ibatis.annotations.Param;
 
 /**
  * 官方接口Mapper接口
@@ -11,4 +13,6 @@ import com.baomidou.mybatisplus.core.mapper.BaseMapper;
  */
 public interface ClassGradeInterfaceMapper extends BaseMapper<ClassGradeInterface> {
 
+    @InterceptorIgnore(tenantLine = "true")
+    ClassGradeInterface getInfterFaceByTenant(@Param("type") Integer type,@Param("tenantId") Long tenantId);
 }

+ 2 - 0
zhongzheng-system/src/main/java/com/zhongzheng/modules/grade/mapper/ClassGradeMapper.java

@@ -83,4 +83,6 @@ public interface ClassGradeMapper extends BaseMapper<ClassGrade> {
     @InterceptorIgnore(tenantLine = "true")
     void UpGradeCodeByIdTenant(@Param("ids") List<Long> ids);
 
+    @InterceptorIgnore(tenantLine = "true")
+    void UpGradeInterfaceByTenant(ClassGradeOpenUpBo upBo);
 }

+ 2 - 0
zhongzheng-system/src/main/java/com/zhongzheng/modules/grade/service/IClassGradeInterfaceService.java

@@ -49,4 +49,6 @@ public interface IClassGradeInterfaceService extends IService<ClassGradeInterfac
 	 * @return
 	 */
 	Boolean deleteWithValidByIds(Collection<Long> ids, Boolean isValid);
+
+    ClassGradeInterface getInfterFaceByTenant(Integer type, Long tenantId);
 }

+ 5 - 0
zhongzheng-system/src/main/java/com/zhongzheng/modules/grade/service/impl/ClassGradeInterfaceServiceImpl.java

@@ -100,4 +100,9 @@ public class ClassGradeInterfaceServiceImpl extends ServiceImpl<ClassGradeInterf
         }
         return this.removeByIds(ids);
     }
+
+    @Override
+    public ClassGradeInterface getInfterFaceByTenant(Integer type, Long tenantId) {
+        return baseMapper.getInfterFaceByTenant(type, tenantId);
+    }
 }

+ 40 - 21
zhongzheng-system/src/main/java/com/zhongzheng/modules/grade/service/impl/ClassGradeServiceImpl.java

@@ -27,12 +27,8 @@ import com.zhongzheng.modules.goods.domain.Goods;
 import com.zhongzheng.modules.goods.service.IGoodsService;
 import com.zhongzheng.modules.goods.vo.GoodsVo;
 import com.zhongzheng.modules.grade.bo.*;
-import com.zhongzheng.modules.grade.domain.ClassGradeGoods;
-import com.zhongzheng.modules.grade.domain.ClassGradeSys;
-import com.zhongzheng.modules.grade.domain.ClassGradeUser;
-import com.zhongzheng.modules.grade.service.IClassGradeGoodsService;
-import com.zhongzheng.modules.grade.service.IClassGradeSysService;
-import com.zhongzheng.modules.grade.service.IClassGradeUserService;
+import com.zhongzheng.modules.grade.domain.*;
+import com.zhongzheng.modules.grade.service.*;
 import com.zhongzheng.modules.grade.vo.*;
 import com.zhongzheng.modules.inform.bo.InformUserAddBo;
 import com.zhongzheng.modules.inform.service.IInformRemindService;
@@ -66,9 +62,7 @@ import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
 import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
 import com.baomidou.mybatisplus.core.toolkit.Wrappers;
 import com.github.pagehelper.Page;
-import com.zhongzheng.modules.grade.domain.ClassGrade;
 import com.zhongzheng.modules.grade.mapper.ClassGradeMapper;
-import com.zhongzheng.modules.grade.service.IClassGradeService;
 import org.springframework.transaction.annotation.Transactional;
 
 import java.io.IOException;
@@ -149,6 +143,9 @@ public class ClassGradeServiceImpl extends ServiceImpl<ClassGradeMapper, ClassGr
     @Autowired
     private IClassGradeGoodsService iClassGradeGoodsService;
 
+    @Autowired
+    private IClassGradeInterfaceService iClassGradeInterfaceService;
+
     @Autowired
     private ISysOldOrgService iSysOldOrgService;
 
@@ -404,6 +401,13 @@ public class ClassGradeServiceImpl extends ServiceImpl<ClassGradeMapper, ClassGr
                 if (StringUtils.isNotBlank(gradeGrade.getOfficialName())){
                     update.setRegisterCode(gradeGrade.getOfficialName());
                 }
+                //二建/二造官方信息推送开关打开
+                List<ClassGradeInterface> interfaceList = iClassGradeInterfaceService
+                        .list(new LambdaQueryWrapper<ClassGradeInterface>()
+                        .eq(ClassGradeInterface::getType, 1).last("limit 1"));
+                if (CollectionUtils.isNotEmpty(interfaceList)){
+                    update.setInterfacePushId(interfaceList.get(0).getId());
+                }
             }
         }
 
@@ -490,25 +494,28 @@ public class ClassGradeServiceImpl extends ServiceImpl<ClassGradeMapper, ClassGr
         if (("继续教育二级建造师".equals(fullName)) || ("继续教育二级造价师".equals(fullName))) {
             if (ObjectUtils.isNotNull(grade) && ObjectUtils.isNotNull(grade.getClassStatus())
                     && StringUtils.isNotBlank(grade.getOfficialName()) && grade.getClassStatus() == 1){
-                //开班修改预报名班级下 所有班级
-                List<ClassGrade> list = list(new LambdaQueryWrapper<ClassGrade>().eq(ClassGrade::getOfficialName, update.getRegisterCode()));
-                if (CollectionUtils.isNotEmpty(list)){
-                    update(new LambdaUpdateWrapper<ClassGrade>()
-                            .set(ClassGrade::getOfficialName,update.getOfficialName())
-                            .set(ClassGrade::getRegisterCode,update.getRegisterCode())
-                            .set(ClassGrade::getClassStartTime,update.getClassStartTime())
-                            .set(ClassGrade::getClassEndTime,update.getClassEndTime())
-                            .set(ClassGrade::getClassStatus,update.getClassStatus())
-                            .set(ClassGrade::getLearningStatus,update.getLearningStatus())
-                            .in(ClassGrade::getGradeId,list.stream().map(ClassGrade::getGradeId).collect(Collectors.toList())));
-                }
-                //官方班级开班通知旧系统
+//                List<ClassGrade> list = list(new LambdaQueryWrapper<ClassGrade>().eq(ClassGrade::getOfficialName, update.getRegisterCode()));
+//                if (CollectionUtils.isNotEmpty(list)){
+//                    update(new LambdaUpdateWrapper<ClassGrade>()
+//                            .set(ClassGrade::getOfficialName,update.getOfficialName())
+//                            .set(ClassGrade::getRegisterCode,update.getRegisterCode())
+//                            .set(ClassGrade::getClassStartTime,update.getClassStartTime())
+//                            .set(ClassGrade::getClassEndTime,update.getClassEndTime())
+//                            .set(ClassGrade::getClassStatus,update.getClassStatus())
+//                            .set(ClassGrade::getLearningStatus,update.getLearningStatus())
+//                            .set(ClassGrade::getInterfacePushId,update.getInterfacePushId())
+//                            .in(ClassGrade::getGradeId,list.stream().map(ClassGrade::getGradeId).collect(Collectors.toList())));
+//                }
+
                 ClassGradeOpenBo openBo = new ClassGradeOpenBo();
                 openBo.setOfficialName(grade.getOfficialName());
                 openBo.setRegisterCode(grade.getRegisterCode());
                 openBo.setClassName(grade.getClassName());
                 openBo.setClassStartTime(grade.getClassStartTime());
                 openBo.setClassEndTime(grade.getClassEndTime());
+                //开班修改预报名班级下 所有班级
+                this.openOfficialGrade(openBo);
+                //官方班级开班通知旧系统
                 Long nowTime = DateUtils.getNowTime();
                 String sign = ToolsUtils.EncoderByMd5(nowTime.toString()+"pubilc2022");
                 openBo.setSign(sign);
@@ -1273,6 +1280,18 @@ public class ClassGradeServiceImpl extends ServiceImpl<ClassGradeMapper, ClassGr
         openUpBo.setClassStartTime(bo.getClassStartTime());
         openUpBo.setClassEndTime(bo.getClassEndTime());
         baseMapper.UpGradeStatusByTenant(openUpBo);
+
+        //开启官方信息推送
+        list.forEach(item -> {
+            ClassGradeInterface interfaceInterface = iClassGradeInterfaceService.getInfterFaceByTenant(1,item.getTenantId());
+            if (ObjectUtils.isNotNull(interfaceInterface)){
+                ClassGradeOpenUpBo upBo = new ClassGradeOpenUpBo();
+                upBo.setGradeId(item.getGradeId());
+                upBo.setInterfacePushId(interfaceInterface.getId());
+                baseMapper.UpGradeInterfaceByTenant(upBo);
+            }
+        });
+
     }
 
     @Override

+ 2 - 1
zhongzheng-system/src/main/java/com/zhongzheng/modules/inform/domain/InformRemind.java

@@ -50,6 +50,7 @@ private static final long serialVersionUID=1L;
     private Integer gzhTpStatus;
     /** 1学员 2教务 */
     private Integer userType;
-
+    /** 类型:1,普通 2,订单初审 3,订单复审 */
+    private Integer type;
     private Long tenantId;
 }

+ 42 - 2
zhongzheng-system/src/main/java/com/zhongzheng/modules/inform/service/impl/InformSysUserServiceImpl.java

@@ -2,23 +2,31 @@ package com.zhongzheng.modules.inform.service.impl;
 
 import cn.hutool.core.bean.BeanUtil;
 import cn.hutool.core.util.StrUtil;
+import com.baomidou.mybatisplus.core.toolkit.CollectionUtils;
+import com.baomidou.mybatisplus.core.toolkit.ObjectUtils;
 import com.zhongzheng.common.utils.DateUtils;
 import com.zhongzheng.modules.inform.bo.InformSysUserAddBo;
 import com.zhongzheng.modules.inform.bo.InformSysUserEditBo;
 import com.zhongzheng.modules.inform.bo.InformSysUserQueryBo;
 import com.zhongzheng.modules.inform.bo.InformUserEditBo;
+import com.zhongzheng.modules.inform.domain.InformRemind;
 import com.zhongzheng.modules.inform.domain.InformSysUser;
 import com.zhongzheng.modules.inform.mapper.InformSysUserMapper;
+import com.zhongzheng.modules.inform.service.IInformRemindService;
 import com.zhongzheng.modules.inform.service.IInformSysUserService;
 import com.zhongzheng.modules.inform.vo.InformSysUserVo;
+import com.zhongzheng.modules.order.domain.OrderGoods;
+import com.zhongzheng.modules.order.service.IOrderGoodsService;
 import com.zhongzheng.modules.user.domain.User;
 import io.swagger.models.auth.In;
+import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
 import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
 import com.baomidou.mybatisplus.core.toolkit.Wrappers;
 import com.github.pagehelper.Page;
 
+import java.util.ArrayList;
 import java.util.Collection;
 import java.util.Collections;
 import java.util.List;
@@ -33,10 +41,26 @@ import java.util.stream.Collectors;
 @Service
 public class InformSysUserServiceImpl extends ServiceImpl<InformSysUserMapper, InformSysUser> implements IInformSysUserService {
 
+    @Autowired
+    private IOrderGoodsService iOrderGoodsService;
+    @Autowired
+    private IInformRemindService iInformRemindService;
+
     @Override
     public InformSysUserVo queryById(Long id){
         InformSysUser db = this.baseMapper.selectById(id);
-        return BeanUtil.toBean(db, InformSysUserVo.class);
+        InformSysUserVo vo = BeanUtil.toBean(db, InformSysUserVo.class);
+        if (ObjectUtils.isNotNull(vo.getOrderGoodsId())){
+            OrderGoods orderGoods = iOrderGoodsService.getById(vo.getOrderGoodsId());
+            vo.setOrderSn(orderGoods.getOrderSn());
+        }
+        if (ObjectUtils.isNotNull(vo.getRemindId())){
+            InformRemind informRemind = iInformRemindService.getById(vo.getRemindId());
+            vo.setType(informRemind.getType());
+        }else {
+            vo.setType(1);
+        }
+        return vo;
     }
 
     @Override
@@ -56,7 +80,23 @@ public class InformSysUserServiceImpl extends ServiceImpl<InformSysUserMapper, I
         lqw.eq(bo.getGradeId() != null, InformSysUser::getGradeId, bo.getGradeId());
         lqw.eq(bo.getOrderGoodsId() != null, InformSysUser::getOrderGoodsId, bo.getOrderGoodsId());
         lqw.eq(bo.getStatus() != null, InformSysUser::getStatus, bo.getStatus());
-        return entity2Vo(this.list(lqw));
+        List<InformSysUserVo> informSysUserVos = entity2Vo(this.list(lqw));
+        if (CollectionUtils.isEmpty(informSysUserVos)){
+            return new ArrayList<>();
+        }
+        informSysUserVos.forEach(item -> {
+            if (ObjectUtils.isNotNull(item.getOrderGoodsId())){
+                OrderGoods orderGoods = iOrderGoodsService.getById(item.getOrderGoodsId());
+                item.setOrderSn(orderGoods.getOrderSn());
+            }
+            if (ObjectUtils.isNotNull(item.getRemindId())){
+                InformRemind informRemind = iInformRemindService.getById(item.getRemindId());
+                item.setType(informRemind.getType());
+            }else {
+                item.setType(1);
+            }
+        });
+        return informSysUserVos;
     }
 
     /**

+ 4 - 0
zhongzheng-system/src/main/java/com/zhongzheng/modules/inform/vo/InformSysUserVo.java

@@ -76,6 +76,10 @@ public class InformSysUserVo {
 	@Excel(name = "订单商品ID")
 	@ApiModelProperty("订单商品ID")
 	private Long orderGoodsId;
+	@ApiModelProperty("订单号")
+	private String orderSn;
+	@ApiModelProperty("消息类型:1,普通 2,订单初审 3,订单复审")
+	private Integer type;
 	/** 状态 1有效 0无效 */
 	@Excel(name = "状态 1有效 0无效")
 	@ApiModelProperty("状态 1有效 0无效")

+ 1 - 0
zhongzheng-system/src/main/java/com/zhongzheng/modules/order/service/impl/OrderServiceImpl.java

@@ -1287,6 +1287,7 @@ public class OrderServiceImpl extends ServiceImpl<OrderMapper, Order> implements
 
 
     @Override
+    @Transactional(rollbackFor = Exception.class)
     public Boolean updateByEditBo(OrderEditBo bo) {
         Order order = this.getOne(new LambdaQueryWrapper<Order>().eq(Order::getOrderId, bo.getOrderId()));
         if (order.getOrderStatus() > 0) {

+ 3 - 0
zhongzheng-system/src/main/resources/mapper/modules/grade/ClassGradeInterfaceMapper.xml

@@ -14,5 +14,8 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
         <result property="updateTime" column="update_time"/>
     </resultMap>
 
+    <select id="getInfterFaceByTenant" parameterType="map" resultType="com.zhongzheng.modules.grade.domain.ClassGradeInterface">
+        SELECT * FROM class_grade_interface WHERE `type` = #{type} AND tenant_id = #{tenantId}
+    </select>
 
 </mapper>

+ 4 - 0
zhongzheng-system/src/main/resources/mapper/modules/grade/ClassGradeMapper.xml

@@ -1063,4 +1063,8 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
             </foreach>
         </if>
     </update>
+
+    <update id="UpGradeInterfaceByTenant" parameterType="com.zhongzheng.modules.grade.bo.ClassGradeOpenUpBo" >
+        update class_grade set interface_push_id = #{interfacePushId} where grade_id = #{gradeId}
+    </update>
 </mapper>