Bladeren bron

Merge remote-tracking branch 'origin/feature/1.0.0' into feature/1.0.0

liguosong 4 jaren geleden
bovenliggende
commit
e00f7c78b4
18 gewijzigde bestanden met toevoegingen van 576 en 267 verwijderingen
  1. 0 8
      abi-cloud-qr-platform-server/src/main/java/com/abi/qms/platform/constant/RedisKeysConstant.java
  2. 1 1
      abi-cloud-qr-platform-server/src/main/java/com/abi/qms/platform/controller/console/RoleManagerController.java
  3. 56 0
      abi-cloud-qr-platform-server/src/main/java/com/abi/qms/platform/dao/entity/BreweryActivateFlow.java
  4. 56 0
      abi-cloud-qr-platform-server/src/main/java/com/abi/qms/platform/dao/entity/BreweryProductionLine.java
  5. 53 0
      abi-cloud-qr-platform-server/src/main/java/com/abi/qms/platform/dao/entity/UserRoleDetail.java
  6. 15 0
      abi-cloud-qr-platform-server/src/main/java/com/abi/qms/platform/dao/mapper/BreweryActivateFlowMapper.java
  7. 15 0
      abi-cloud-qr-platform-server/src/main/java/com/abi/qms/platform/dao/mapper/BreweryProductionLineMapper.java
  8. 26 15
      abi-cloud-qr-platform-server/src/main/java/com/abi/qms/platform/dao/mapper/QrPackageMapper.java
  9. 15 0
      abi-cloud-qr-platform-server/src/main/java/com/abi/qms/platform/dao/mapper/UserRoleDetailMapper.java
  10. 32 0
      abi-cloud-qr-platform-server/src/main/java/com/abi/qms/platform/dao/vo/result/QrPackageWxVO.java
  11. 2 8
      abi-cloud-qr-platform-server/src/main/java/com/abi/qms/platform/dto/req/ListQrPackageWxReq.java
  12. 35 1
      abi-cloud-qr-platform-server/src/main/java/com/abi/qms/platform/dto/res/ListQrPackageWxRes.java
  13. 4 7
      abi-cloud-qr-platform-server/src/main/java/com/abi/qms/platform/infrastructure/constant/RedisKey.java
  14. 60 112
      abi-cloud-qr-platform-server/src/main/java/com/abi/qms/platform/service/impl/QrPackageServiceImpl.java
  15. 24 0
      abi-cloud-qr-platform-server/src/main/resources/dao/mapper/BreweryActivateFlowMapper.xml
  16. 24 0
      abi-cloud-qr-platform-server/src/main/resources/dao/mapper/BreweryProductionLineMapper.xml
  17. 135 115
      abi-cloud-qr-platform-server/src/main/resources/dao/mapper/QrPackageMapper.xml
  18. 23 0
      abi-cloud-qr-platform-server/src/main/resources/dao/mapper/UserRoleDetailMapper.xml

+ 0 - 8
abi-cloud-qr-platform-server/src/main/java/com/abi/qms/platform/constant/RedisKeysConstant.java

@@ -1,8 +0,0 @@
-package com.abi.qms.platform.constant;
-
-public class RedisKeysConstant {
-
-    //下载发送短信验证
-    public static final String DOWNLOAD_MOBILE_MSG = "qms.download.key:" ;
-
-}

+ 1 - 1
abi-cloud-qr-platform-server/src/main/java/com/abi/qms/platform/controller/console/RoleManagerController.java

@@ -22,7 +22,7 @@ import org.springframework.web.bind.annotation.*;
 @RestController
 @Api(tags = "角色管理")
 @RequestMapping("role")
-public class RoleManagerController {
+public class UserRoleController {
 
     @Autowired
     private RoleManagerService roleManagerService;

+ 56 - 0
abi-cloud-qr-platform-server/src/main/java/com/abi/qms/platform/dao/entity/BreweryActivateFlow.java

@@ -0,0 +1,56 @@
+package com.abi.qms.platform.dao.entity;
+
+import com.baomidou.mybatisplus.annotation.IdType;
+import com.baomidou.mybatisplus.annotation.TableId;
+import io.swagger.v3.oas.annotations.media.Schema;
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+
+import java.time.LocalDateTime;
+
+/**
+ * <p>
+ * 啤酒厂激活记录
+ * </p>
+ *
+ * @author Andy.Tan
+ */
+@Data
+@EqualsAndHashCode(callSuper = false)
+@Schema(name="啤酒厂激活记录对象", description="啤酒厂激活记录")
+public class BreweryActivateFlow {
+
+	@Schema(name = "id")
+    @TableId(value = "id", type = IdType.AUTO)
+    private Long id;
+
+	@Schema(name = "啤酒厂id 对应base_factory的id")
+    private Long beerFactoryId;
+
+	@Schema(name = "条码序号 对应qr_box_mapping的box_code")
+    private String boxCode;
+
+	@Schema(name = "激活人id")
+    private Long activeBy;
+
+	@Schema(name = "激活时间")
+    private LocalDateTime activeTime;
+
+	@Schema(name = "创建时间")
+    private LocalDateTime createTime;
+
+	@Schema(name = "创建人id")
+    private Long createBy;
+
+	@Schema(name = "修改时间")
+    private LocalDateTime updateTime;
+
+	@Schema(name = "修改人id")
+    private Long updateBy;
+
+	@Schema(name = "是否删除")
+    private Integer isDelete;
+
+
+
+}

+ 56 - 0
abi-cloud-qr-platform-server/src/main/java/com/abi/qms/platform/dao/entity/BreweryProductionLine.java

@@ -0,0 +1,56 @@
+package com.abi.qms.platform.dao.entity;
+
+import com.baomidou.mybatisplus.annotation.IdType;
+import com.baomidou.mybatisplus.annotation.TableId;
+import io.swagger.v3.oas.annotations.media.Schema;
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+
+import java.time.LocalDateTime;
+
+/**
+ * <p>
+ * 啤酒厂员工产号关联表
+ * </p>
+ *
+ * @author Andy.Tan
+ */
+@Data
+@EqualsAndHashCode(callSuper = false)
+@Schema(name="啤酒厂员工产号关联表对象", description="啤酒厂员工产号关联表")
+public class BreweryProductionLine {
+
+	@Schema(name = "id")
+    @TableId(value = "id", type = IdType.AUTO)
+    private Long id;
+
+	@Schema(name = "啤酒厂id 对应base_factory的id")
+    private Long beerFactoryId;
+
+	@Schema(name = "用户id 对应user_info的id")
+    private Long userId;
+
+	@Schema(name = "用户名")
+    private String userName;
+
+	@Schema(name = "产线名称")
+    private String productionLineName;
+
+	@Schema(name = "创建时间")
+    private LocalDateTime createTime;
+
+	@Schema(name = "创建人id")
+    private Long createBy;
+
+	@Schema(name = "修改时间")
+    private LocalDateTime updateTime;
+
+	@Schema(name = "修改人id")
+    private Long updateBy;
+
+	@Schema(name = "是否删除")
+    private Integer isDelete;
+
+
+
+}

+ 53 - 0
abi-cloud-qr-platform-server/src/main/java/com/abi/qms/platform/dao/entity/UserRoleDetail.java

@@ -0,0 +1,53 @@
+package com.abi.qms.platform.dao.entity;
+
+import com.baomidou.mybatisplus.annotation.IdType;
+import com.baomidou.mybatisplus.annotation.TableId;
+import io.swagger.v3.oas.annotations.media.Schema;
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+
+import java.time.LocalDateTime;
+
+/**
+ * <p>
+ * 角色code
+ * </p>
+ *
+ * @author Andy.Tan
+ */
+@Data
+@EqualsAndHashCode(callSuper = false)
+@Schema(name="角色code对象", description="角色code")
+public class UserRoleDetail {
+
+	@Schema(name = "id")
+    @TableId(value = "id", type = IdType.AUTO)
+    private Long id;
+
+	@Schema(name = "角色code")
+    private String roleCode;
+
+	@Schema(name = "激活小程序主账号")
+    private Integer isActivateMiniAppMainAccount;
+
+	@Schema(name = "激活小程序子账号")
+    private Integer isActivateMiniAppSubAccount;
+
+	@Schema(name = "创建时间")
+    private LocalDateTime createTime;
+
+	@Schema(name = "创建人id")
+    private Long createBy;
+
+	@Schema(name = "修改时间")
+    private LocalDateTime updateTime;
+
+	@Schema(name = "修改人id")
+    private Long updateBy;
+
+	@Schema(name = "是否删除")
+    private Integer isDelete;
+
+
+
+}

+ 15 - 0
abi-cloud-qr-platform-server/src/main/java/com/abi/qms/platform/dao/mapper/BreweryActivateFlowMapper.java

@@ -0,0 +1,15 @@
+package com.abi.qms.platform.dao.mapper;
+
+import com.abi.qms.platform.dao.entity.BreweryActivateFlow;
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+
+/**
+ * <p>
+ * 啤酒厂激活记录 Mapper 接口
+ * </p>
+ *
+ * @author Andy.Tan
+ */
+public interface BreweryActivateFlowMapper extends BaseMapper<BreweryActivateFlow> {
+
+}

+ 15 - 0
abi-cloud-qr-platform-server/src/main/java/com/abi/qms/platform/dao/mapper/BreweryProductionLineMapper.java

@@ -0,0 +1,15 @@
+package com.abi.qms.platform.dao.mapper;
+
+import com.abi.qms.platform.dao.entity.BreweryProductionLine;
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+
+/**
+ * <p>
+ * 啤酒厂员工产号关联表 Mapper 接口
+ * </p>
+ *
+ * @author Andy.Tan
+ */
+public interface BreweryProductionLineMapper extends BaseMapper<BreweryProductionLine> {
+
+}

+ 26 - 15
abi-cloud-qr-platform-server/src/main/java/com/abi/qms/platform/dao/mapper/QrPackageMapper.java

@@ -1,13 +1,17 @@
 package com.abi.qms.platform.dao.mapper;
 
 import com.abi.qms.platform.dao.entity.QrPackage;
-import com.abi.qms.platform.dao.vo.result.*;
-import com.abi.qms.platform.dto.req.ListActivePackageAddReq;
+import com.abi.qms.platform.dao.vo.result.QrPackageVO;
+import com.abi.qms.platform.dao.vo.result.QrPackageWxVO;
+import com.abi.qms.platform.dao.vo.result.QrSingleCheckVO;
 import com.abi.qms.platform.dto.req.ListQrPackageReq;
+import com.abi.qms.platform.dto.req.ListQrPackageWxReq;
 import com.baomidou.mybatisplus.core.mapper.BaseMapper;
 import com.baomidou.mybatisplus.core.metadata.IPage;
 import org.apache.ibatis.annotations.Param;
 
+import java.util.List;
+
 /**
  * 码包 Mapper接口
  *
@@ -16,25 +20,32 @@ import org.apache.ibatis.annotations.Param;
  */
 public interface QrPackageMapper extends BaseMapper<QrPackage> {
 
-	/**
-	 * 分页查询码包信息
-	 */
-	IPage<QrPackageVO> listQrPackage(IPage page, @Param("param") ListQrPackageReq param);
+    /**
+     * 分页查询码包信息
+     */
+    IPage<QrPackageVO> listQrPackage(IPage page, @Param("param") ListQrPackageReq param);
 
-	/**
-	 * 查询码包详细信息
-	 */
-	QrPackageVO selectQrPackageDetailById(Long id);
+    /**
+     * 查询码包详细信息
+     */
+    QrPackageVO selectQrPackageDetailById(Long id);
 
 
-	/**
-	 * 单码查询详细信息
-	 */
-	QrSingleCheckVO getQrSingleCheckDetailById(@Param("id") Long id);
+    /**
+     * 单码查询详细信息
+     */
+    QrSingleCheckVO getQrSingleCheckDetailById(@Param("id") Long id);
 
+    /**
+     * 小程序查询码包列表
+     *
+     * @param req
+     * @return
+     */
+    List<QrPackageWxVO> listWxQrPackage(@Param("req") ListQrPackageWxReq req);
 
 
-	//    6.03已废弃
+    //    6.03已废弃
 //	/**
 //	 * 通过码活动id查询关联码包列表
 //	 * @param page

+ 15 - 0
abi-cloud-qr-platform-server/src/main/java/com/abi/qms/platform/dao/mapper/UserRoleDetailMapper.java

@@ -0,0 +1,15 @@
+package com.abi.qms.platform.dao.mapper;
+
+import com.abi.qms.platform.dao.entity.UserRoleDetail;
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+
+/**
+ * <p>
+ * 角色code Mapper 接口
+ * </p>
+ *
+ * @author Andy.Tan
+ */
+public interface UserRoleDetailMapper extends BaseMapper<UserRoleDetail> {
+
+}

+ 32 - 0
abi-cloud-qr-platform-server/src/main/java/com/abi/qms/platform/dao/vo/result/QrPackageWxVO.java

@@ -0,0 +1,32 @@
+package com.abi.qms.platform.dao.vo.result;
+
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+import java.io.Serializable;
+
+/**
+ * @author: fangxinjian
+ * @date: 2021/06/09 10:15
+ * @description:
+ */
+@Data
+@ApiModel
+public class QrPackageWxVO implements Serializable {
+
+    @ApiModelProperty(value = "码包ID")
+    private Long packageId;
+
+    @ApiModelProperty(value = "活动名称")
+    private String activeName;
+
+    @ApiModelProperty(value = "物料名称")
+    private String materialName;
+
+    @ApiModelProperty(value = "条码总数")
+    private Integer packageTotalNum;
+
+    @ApiModelProperty(value = "已激活条码数")
+    private Integer activePackageNum;
+}

+ 2 - 8
abi-cloud-qr-platform-server/src/main/java/com/abi/qms/platform/dto/req/ListQrPackageWxReq.java

@@ -15,14 +15,8 @@ import java.io.Serializable;
 @ApiModel
 public class ListQrPackageWxReq implements Serializable {
 
-    @ApiModelProperty(value = "码包ID")
-    private Long packageId;
-
-    @ApiModelProperty(value = "活动名称")
-    private String activeName;
-
-    @ApiModelProperty(value = "物料名称")
-    private String materialName;
+    @ApiModelProperty(value = "码包ID/活动名称/物料名称")
+    private String queryParam;
 
     @ApiModelProperty(value = "激活状态 0-未激活 1-已激活")
     private Integer activeStatus;

+ 35 - 1
abi-cloud-qr-platform-server/src/main/java/com/abi/qms/platform/dto/res/ListQrPackageWxRes.java

@@ -1,17 +1,51 @@
 package com.abi.qms.platform.dto.res;
 
 import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.AllArgsConstructor;
 import lombok.Data;
+import lombok.NoArgsConstructor;
+import lombok.ToString;
 
 import java.io.Serializable;
+import java.util.List;
 
 /**
  * @author: fangxinjian
  * @date: 2021/06/09 09:57
- * @description:
+ * @description: 小程序码包列表出参
  */
 @Data
 @ApiModel
 public class ListQrPackageWxRes implements Serializable {
 
+    @ApiModelProperty("码包列表")
+    private List<QrPackageWxBean> qrPackageWxBeanList;
+
+    /**
+     * 码包Bean
+     */
+    @Data
+    @NoArgsConstructor
+    @AllArgsConstructor
+    @ToString
+    @ApiModel(value = "ListQrPackageWxRes_QrPackageWxBean")
+    public static class QrPackageWxBean {
+
+        @ApiModelProperty(value = "码包ID")
+        private Long packageId;
+
+        @ApiModelProperty(value = "活动名称")
+        private String activeName;
+
+        @ApiModelProperty(value = "物料名称")
+        private String materialName;
+
+        @ApiModelProperty(value = "条码总数")
+        private Integer packageTotalNum;
+
+        @ApiModelProperty(value = "已激活条码数")
+        private Integer activePackageNum;
+    }
+
 }

+ 4 - 7
abi-cloud-qr-platform-server/src/main/java/com/abi/qms/platform/infrastructure/constant/RedisKey.java

@@ -5,13 +5,6 @@ package com.abi.qms.platform.infrastructure.constant;
  * @date 2021/4/15 16:31
  */
 public class RedisKey {
-
-    //用户key是userID,value是token
-    public static final String USER_ID_TOKEN = "USER_ID_TOKEN_";
-
-    //用户key是token,value是userId
-    public static final String USER_TOKEN_ID = "USER_TOKEN_ID_";
-
     /**
      * 用户登录token key
      */
@@ -22,4 +15,8 @@ public class RedisKey {
      */
     public static final String TOKEN_KEY_USER_ID = "qms:token:user:";
 
+    /**
+     * 下载发送短信验证
+     */
+    public static final String DOWNLOAD_MOBILE_MSG = "qms:download:package:key:" ;
 }

+ 60 - 112
abi-cloud-qr-platform-server/src/main/java/com/abi/qms/platform/service/impl/QrPackageServiceImpl.java

@@ -2,72 +2,16 @@ package com.abi.qms.platform.service.impl;
 
 import cn.hutool.core.collection.CollectionUtil;
 import com.abi.base.foundation.util.RedisClient;
-import com.abi.qms.platform.constant.RedisKeysConstant;
-import com.abi.qms.platform.dao.entity.BaseBrand;
-import com.abi.qms.platform.dao.entity.BaseFactory;
-import com.abi.qms.platform.dao.entity.BaseMaterial;
-import com.abi.qms.platform.dao.entity.QrPackage;
-import com.abi.qms.platform.dao.entity.QrPackageBatch;
-import com.abi.qms.platform.dao.entity.QrPackageDownloadRecord;
-import com.abi.qms.platform.dao.entity.QrPackageSapOrderItem;
-import com.abi.qms.platform.dao.entity.QrRepertoryColumn;
-import com.abi.qms.platform.dao.entity.UserInfo;
-import com.abi.qms.platform.dao.enums.CodePackageOrderTypeEnum;
-import com.abi.qms.platform.dao.enums.FactoryTypeEnum;
-import com.abi.qms.platform.dao.enums.FirstFactoryEnum;
-import com.abi.qms.platform.dao.enums.InvalidEnum;
-import com.abi.qms.platform.dao.enums.MaterialTypeEnum;
-import com.abi.qms.platform.dao.enums.QrPackageApplyStatusEnum;
-import com.abi.qms.platform.dao.enums.QrPackageGenerateStatusEnum;
-import com.abi.qms.platform.dao.enums.QrRepertoryTypeEnum;
-import com.abi.qms.platform.dao.enums.QrTypeEnum;
-import com.abi.qms.platform.dao.mapper.BaseActiveMapper;
-import com.abi.qms.platform.dao.mapper.BaseBrandMapper;
-import com.abi.qms.platform.dao.mapper.BaseFactoryMapper;
-import com.abi.qms.platform.dao.mapper.BaseMaterialMapper;
-import com.abi.qms.platform.dao.mapper.QrBoxMappingMapper;
-import com.abi.qms.platform.dao.mapper.QrPackageBatchMapper;
-import com.abi.qms.platform.dao.mapper.QrPackageDownloadRecordMapper;
-import com.abi.qms.platform.dao.mapper.QrPackageMapper;
-import com.abi.qms.platform.dao.mapper.QrPackageSapOrderItemMapper;
-import com.abi.qms.platform.dao.mapper.QrRepertoryColumnMapper;
+import com.abi.qms.platform.dao.entity.*;
+import com.abi.qms.platform.dao.enums.*;
+import com.abi.qms.platform.dao.mapper.*;
 import com.abi.qms.platform.dao.tablestore.entity.QrCode;
-import com.abi.qms.platform.dao.vo.result.PackageActiveVO;
-import com.abi.qms.platform.dao.vo.result.QrBoxMappingVO;
-import com.abi.qms.platform.dao.vo.result.QrPackageBatchVO;
-import com.abi.qms.platform.dao.vo.result.QrPackageVO;
-import com.abi.qms.platform.dao.vo.result.QrSingleCheckVO;
-import com.abi.qms.platform.dto.req.DeleteQrPackageReq;
-import com.abi.qms.platform.dto.req.DownloadQrPackageReq;
-import com.abi.qms.platform.dto.req.GetPackageCodeReq;
-import com.abi.qms.platform.dto.req.GetQrPackageDetailReq;
-import com.abi.qms.platform.dto.req.GetQrSingleCheckDetailCodeReq;
-import com.abi.qms.platform.dto.req.InvalidQrPackageReq;
-import com.abi.qms.platform.dto.req.InvalidQrSingleReq;
-import com.abi.qms.platform.dto.req.ListQrPackageReq;
-import com.abi.qms.platform.dto.req.ListQrPackageWxReq;
-import com.abi.qms.platform.dto.req.PassQrPackageReq;
-import com.abi.qms.platform.dto.req.QrOneBoxCodeMappingReq;
-import com.abi.qms.platform.dto.req.QrOnePackageBatchReq;
-import com.abi.qms.platform.dto.req.RefuseQrPackageReq;
-import com.abi.qms.platform.dto.req.SaveQrPackageReq;
-import com.abi.qms.platform.dto.req.SendMobileMsgReq;
-import com.abi.qms.platform.dto.req.ValidSAPOrderNoAndMaterialReq;
-import com.abi.qms.platform.dto.res.GetPackageCodeRes;
-import com.abi.qms.platform.dto.res.GetQrPackageDetailRes;
-import com.abi.qms.platform.dto.res.GetQrSingleCheckDetailRes;
-import com.abi.qms.platform.dto.res.ListQrPackageRes;
-import com.abi.qms.platform.dto.res.ListQrPackageWxRes;
-import com.abi.qms.platform.dto.res.ValidSAPOrderNoAndMaterialRes;
+import com.abi.qms.platform.dao.vo.result.*;
+import com.abi.qms.platform.dto.req.*;
+import com.abi.qms.platform.dto.res.*;
+import com.abi.qms.platform.infrastructure.constant.RedisKey;
 import com.abi.qms.platform.infrastructure.mq.GenerateCodeConsumer;
-import com.abi.qms.platform.infrastructure.util.AssertUtil;
-import com.abi.qms.platform.infrastructure.util.FreeMarkerUtils;
-import com.abi.qms.platform.infrastructure.util.OssFileDownloadUtil;
-import com.abi.qms.platform.infrastructure.util.PageUtil;
-import com.abi.qms.platform.infrastructure.util.RandomCodeUtils;
-import com.abi.qms.platform.infrastructure.util.SendmailUtil;
-import com.abi.qms.platform.infrastructure.util.SmsUtil;
-import com.abi.qms.platform.infrastructure.util.UserUtil;
+import com.abi.qms.platform.infrastructure.util.*;
 import com.abi.qms.platform.service.FactoryService;
 import com.abi.qms.platform.service.MaterialService;
 import com.abi.qms.platform.service.QrPackageService;
@@ -92,11 +36,7 @@ import org.springframework.ui.freemarker.FreeMarkerTemplateUtils;
 import javax.servlet.http.HttpServletResponse;
 import java.text.MessageFormat;
 import java.time.LocalDateTime;
-import java.util.ArrayList;
-import java.util.HashMap;
-import java.util.List;
-import java.util.Map;
-import java.util.Objects;
+import java.util.*;
 import java.util.concurrent.TimeUnit;
 import java.util.stream.Collectors;
 
@@ -167,6 +107,9 @@ public class QrPackageServiceImpl implements QrPackageService {
     @Autowired
     private FactoryService factoryService;
 
+    @Autowired
+    private QrBoxCodeFormatMapper qrBoxCodeFormatMapper;
+
     /**
      * 保存码包
      */
@@ -243,7 +186,17 @@ public class QrPackageServiceImpl implements QrPackageService {
         }
 
         //3-如果是盖码,那么查询盖码得默认箱码幅面,并放入入参
-        //TODO
+        QueryWrapper<QrBoxCodeFormat> formatQw = new QueryWrapper<>();
+        formatQw.eq("is_sys",1);
+        //1-盖码默认幅面
+        formatQw.eq("sys_type",1);
+        formatQw.eq("is_delete",0);
+        List<QrBoxCodeFormat> beerFormatList = qrBoxCodeFormatMapper.selectList(formatQw);
+        if(CollectionUtil.isEmpty(beerFormatList)){
+            throw new BusinessException("盖码默认幅面与码格式不存在,请检查初始数据");
+        }
+        QrBoxCodeFormat beerFormat = beerFormatList.get(0);
+        req.setBoxCodeFormatId(beerFormat.getId());
 
         //4-根据物料ID查询物料类型,判断码类型,保存至码包表中
         BaseMaterial material = baseMaterialMapper.selectById(req.getMaterialId());
@@ -355,37 +308,26 @@ public class QrPackageServiceImpl implements QrPackageService {
         }
 
         //根据类型判断订单号不能为空
-        if (CodePackageOrderTypeEnum.SAP_ORDER.is(req.getOrderType()) && StringUtils.isBlank(req.getSapOrderNo())) {
+        if(CodePackageOrderTypeEnum.SAP_ORDER.is(req.getOrderType()) && StringUtils.isBlank(req.getSapOrderNo())){
             throw new BusinessException("SAP订单号不能为空");
         }
-        if (CodePackageOrderTypeEnum.BOOKING_ORDER.is(req.getOrderType()) && StringUtils.isBlank(req.getBookingOrder())) {
+        if(CodePackageOrderTypeEnum.BOOKING_ORDER.is(req.getOrderType()) && StringUtils.isBlank(req.getBookingOrder())){
             throw new BusinessException("预订单号不能为空");
         }
 
         //如果SAP订单号和物料有重复数据,需提交额外申请原因
-        if (StringUtils.isNotBlank(req.getSapOrderNo())) {
+        if(StringUtils.isNotBlank(req.getSapOrderNo()) && req.getReasonApply()==null){
             ValidSAPOrderNoAndMaterialReq reqValid = new ValidSAPOrderNoAndMaterialReq();
             reqValid.setMaterialId(req.getMaterialId());
             reqValid.setSapOrderNo(req.getSapOrderNo());
             ValidSAPOrderNoAndMaterialRes validSAPOrderNoAndMaterialRes = validSAPOrderNoAndMaterial(reqValid);
             if (Objects.nonNull(validSAPOrderNoAndMaterialRes) && CollectionUtil.isNotEmpty(validSAPOrderNoAndMaterialRes.getPackageBeanList())) {
-                Long id = validSAPOrderNoAndMaterialRes.getPackageBeanList().get(0).getId();
-                if (validSAPOrderNoAndMaterialRes.getPackageBeanList().size() > 1) {
-                    if (Objects.isNull(req.getReasonApply())) {
-                        throw new BusinessException("该SAP订单号和物料与码包" + id + "重复,若仍需申请需要提交额外码包申请原因");
-                    }
-                }
-                if (validSAPOrderNoAndMaterialRes.getPackageBeanList().size() == 1) {
-                    if (req.getId() == null) {
-                        if (Objects.isNull(req.getReasonApply())) {
-                            throw new BusinessException("该SAP订单号和物料与码包" + id + "重复,若仍需申请需要提交额外码包申请原因");
-                        }
-                    }
-                    if (!id.equals(req.getId())) {
-                        if (Objects.isNull(req.getReasonApply())) {
-                            throw new BusinessException("该SAP订单号和物料与码包" + id + "重复,若仍需申请需要提交额外码包申请原因");
-                        }
-                    }
+                Set<Long> validQrPackageIdSet = validSAPOrderNoAndMaterialRes.getPackageBeanList().stream().map(bean -> bean.getId()).collect(Collectors.toSet());
+                if(validQrPackageIdSet.size()>1
+                ||(isAdd && validQrPackageIdSet.size()==1)
+                ||(!isAdd && !validQrPackageIdSet.contains(req.getId()))){
+                    Long id = validSAPOrderNoAndMaterialRes.getPackageBeanList().get(0).getId();
+                    throw new BusinessException("该SAP订单号和物料与码包" + id + "重复,若仍需申请需要提交额外码包申请原因");
                 }
             }
         }
@@ -393,8 +335,8 @@ public class QrPackageServiceImpl implements QrPackageService {
         //查询物料信息
         BaseMaterial material = baseMaterialMapper.selectById(req.getMaterialId());
         AssertUtil.isNull(material, "物料信息不存在");
-        if (QrTypeEnum.CARTON.is(getPackageCode(material.getMaterialType()))
-                && req.getBoxCodeFormatId() == null) {
+        if(QrTypeEnum.CARTON.is(getPackageCode(material.getMaterialType()))
+            && req.getBoxCodeFormatId()==null){
             throw new BusinessException("箱码幅面为空");
         }
 
@@ -492,18 +434,17 @@ public class QrPackageServiceImpl implements QrPackageService {
 
         //存在活动数据
         if (ObjectUtils.isNotEmpty(packageActive)) {
-            getBrandCodeName(res, packageActive);
+            getBrandCodeName(res,packageActive);
         }
         return res;
     }
 
     /**
      * 活动详情封装出参,显示品牌名称
-     *
      * @param res
      * @param packageActive
      */
-    private void getBrandCodeName(GetQrPackageDetailRes res, PackageActiveVO packageActive) {
+    private void getBrandCodeName(GetQrPackageDetailRes res,PackageActiveVO packageActive){
 
         res.setActiveCode(packageActive.getActiveCode());
         res.setActiveName(packageActive.getActiveName());
@@ -515,7 +456,7 @@ public class QrPackageServiceImpl implements QrPackageService {
         StringBuffer brandNames = new StringBuffer();
         //查询品牌一级列表
         QueryWrapper<BaseBrand> baseBrandQW = new QueryWrapper<>();
-        baseBrandQW.eq("brand_level", 1);
+        baseBrandQW.eq("brand_level",1);
         List<BaseBrand> baseBrands = baseBrandMapper.selectList(baseBrandQW);
         Map<String, String> brandCodeMap = baseBrands.stream().collect(Collectors.toMap(BaseBrand::getBrandCode, BaseBrand::getBrandName));
 
@@ -528,8 +469,8 @@ public class QrPackageServiceImpl implements QrPackageService {
             }
         }
 
-        if (brandNames.length() > 0) {
-            brandNames.deleteCharAt(brandNames.length() - 1);
+        if (brandNames.length()>0){
+            brandNames.deleteCharAt(brandNames.length()-1);
             res.setBrandNames(brandNames.toString());
         }
     }
@@ -644,7 +585,7 @@ public class QrPackageServiceImpl implements QrPackageService {
                 .setQrPackageId(qrPackage.getId());
         qrPackageDownloadRecordMapper.insert(downloadRecord);
         //更新码包表下载时间
-        QrPackage qrPackages = new QrPackage()
+        QrPackage qrPackages=new QrPackage()
                 .setDownloadTime(LocalDateTime.now());
         qrPackageMapper.updateById(qrPackages);
     }
@@ -733,7 +674,7 @@ public class QrPackageServiceImpl implements QrPackageService {
         //key:packId:mobile
         Long packId = qrPackage.getId();
         String mobile = factory.getKeymanMobile();
-        String key = MessageFormat.format("{0}{1}:{2}", RedisKeysConstant.DOWNLOAD_MOBILE_MSG, packId, mobile);
+        String key = MessageFormat.format("{0}{1}:{2}", RedisKey.DOWNLOAD_MOBILE_MSG, packId, mobile);
 
         //获取随机验证码
         String captcha = RandomCodeUtils.getCaptcha(6);
@@ -754,7 +695,7 @@ public class QrPackageServiceImpl implements QrPackageService {
      * @return
      */
     private boolean verifyCaptcha(String mobile, String inputCaptcha, Long packId) {
-        String key = MessageFormat.format("{0}{1}:{2}", RedisKeysConstant.DOWNLOAD_MOBILE_MSG, packId, mobile);
+        String key = MessageFormat.format("{0}{1}:{2}", RedisKey.DOWNLOAD_MOBILE_MSG, packId, mobile);
         log.info("验证下载key:{}", key);
         String captcha = redisClient.get(key);
         log.info(inputCaptcha + "--------------------" + captcha);
@@ -864,22 +805,22 @@ public class QrPackageServiceImpl implements QrPackageService {
     }
 
     @Override
-    public GetPackageCodeRes getPackageCodeType(GetPackageCodeReq req) {
+    public GetPackageCodeRes getPackageCodeType(GetPackageCodeReq req){
         //1-查询sap订单明细
         QrPackageSapOrderItem orderItem = qrPackageSapOrderItemMapper.selectById(req.getOrderItemId());
-        AssertUtil.isNull(orderItem, "订单明细不存在");
+        AssertUtil.isNull(orderItem,"订单明细不存在");
 
         //2-查询对应物料
         BaseMaterial material = materialService.getMaterialByCode(orderItem.getSapMaterialId());
-        AssertUtil.isNull(material, String.format("SAP物料%s未创建对应的QMS系统内物料!", orderItem.getSapMaterialId()));
+        AssertUtil.isNull(material,String.format("SAP物料%s未创建对应的QMS系统内物料!",orderItem.getSapMaterialId()));
 
         //3-查询包材厂
         BaseFactory coverFactory = factoryService.getFactoryByCode(orderItem.getSapCoverFactoryId(), FactoryTypeEnum.COVER.getCode());
-        AssertUtil.isNull(coverFactory, String.format("SAP包材厂%s未创建对应的QMS系统内包材厂!", orderItem.getSapCoverFactoryId()));
+        AssertUtil.isNull(coverFactory,String.format("SAP包材厂%s未创建对应的QMS系统内包材厂!",orderItem.getSapCoverFactoryId()));
 
         //4-查询啤酒厂
         BaseFactory beerFactory = factoryService.getFactoryByCode(orderItem.getSapBeerFactoryId(), FactoryTypeEnum.BEER.getCode());
-        AssertUtil.isNull(beerFactory, String.format("SAP啤酒厂%s未创建对应的QMS系统内啤酒厂!", orderItem.getSapBeerFactoryId()));
+        AssertUtil.isNull(beerFactory,String.format("SAP啤酒厂%s未创建对应的QMS系统内啤酒厂!",orderItem.getSapBeerFactoryId()));
 
         GetPackageCodeRes res = new GetPackageCodeRes();
         res.setFactoryCoverId(coverFactory.getId());
@@ -896,23 +837,30 @@ public class QrPackageServiceImpl implements QrPackageService {
 
     @Override
     public ListQrPackageWxRes listWxQrPackage(ListQrPackageWxReq listQrPackageWxReq) {
-        return null;
+
+        ListQrPackageWxRes res = new ListQrPackageWxRes();
+
+        List<QrPackageWxVO> qrPackageWxVOList = qrPackageMapper.listWxQrPackage(listQrPackageWxReq);
+
+        List<ListQrPackageWxRes.QrPackageWxBean> beanList = PojoConverterUtils.copyList(qrPackageWxVOList, ListQrPackageWxRes.QrPackageWxBean.class);
+        res.setQrPackageWxBeanList(beanList);
+
+        return res;
     }
 
     /**
      * 根据物料类型转换码类型
      * 物料类型: 3-罐子 4-瓶盖 5-纸板箱
      * 码类型:1-箱码 2-盖码
-     *
      * @param type
      * @return
      */
-    public Integer getPackageCode(Integer type) {
+    public Integer getPackageCode(Integer type){
         if (MaterialTypeEnum.CARTON.is(type)) {
-            return QrTypeEnum.CARTON.getCode();
-        } else if (MaterialTypeEnum.BOTTLE_CAP.is(type) || MaterialTypeEnum.JAR.is(type)) {
+            return  QrTypeEnum.CARTON.getCode();
+        }else if(MaterialTypeEnum.BOTTLE_CAP.is(type) || MaterialTypeEnum.JAR.is(type)){
             return QrTypeEnum.CAP.getCode();
-        } else {
+        }else{
             throw new BusinessException("物料类型和对应的箱码类型不匹配!");
         }
 

+ 24 - 0
abi-cloud-qr-platform-server/src/main/resources/dao/mapper/BreweryActivateFlowMapper.xml

@@ -0,0 +1,24 @@
+<?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.abi.qms.platform.dao.mapper.BreweryActivateFlowMapper">
+
+    <!-- 通用查询映射结果 -->
+    <resultMap id="BaseResultMap" type="com.abi.qms.platform.dao.entity.BreweryActivateFlow">
+        <id column="ID" property="id" />
+        <result column="BEER_FACTORY_ID" property="beerFactoryId" />
+        <result column="BOX_CODE" property="boxCode" />
+        <result column="ACTIVE_BY" property="activeBy" />
+        <result column="ACTIVE_TIME" property="activeTime" />
+        <result column="CREATE_TIME" property="createTime" />
+        <result column="CREATE_BY" property="createBy" />
+        <result column="UPDATE_TIME" property="updateTime" />
+        <result column="UPDATE_BY" property="updateBy" />
+        <result column="IS_DELETE" property="isDelete" />
+    </resultMap>
+
+    <!-- 通用查询结果列 -->
+    <sql id="Base_Column_List">
+        ID, BEER_FACTORY_ID, BOX_CODE, ACTIVE_BY, ACTIVE_TIME, CREATE_TIME, CREATE_BY, UPDATE_TIME, UPDATE_BY, IS_DELETE
+    </sql>
+
+</mapper>

+ 24 - 0
abi-cloud-qr-platform-server/src/main/resources/dao/mapper/BreweryProductionLineMapper.xml

@@ -0,0 +1,24 @@
+<?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.abi.qms.platform.dao.mapper.BreweryProductionLineMapper">
+
+    <!-- 通用查询映射结果 -->
+    <resultMap id="BaseResultMap" type="com.abi.qms.platform.dao.entity.BreweryProductionLine">
+        <id column="ID" property="id" />
+        <result column="BEER_FACTORY_ID" property="beerFactoryId" />
+        <result column="USER_ID" property="userId" />
+        <result column="USER_NAME" property="userName" />
+        <result column="PRODUCTION_LINE_NAME" property="productionLineName" />
+        <result column="CREATE_TIME" property="createTime" />
+        <result column="CREATE_BY" property="createBy" />
+        <result column="UPDATE_TIME" property="updateTime" />
+        <result column="UPDATE_BY" property="updateBy" />
+        <result column="IS_DELETE" property="isDelete" />
+    </resultMap>
+
+    <!-- 通用查询结果列 -->
+    <sql id="Base_Column_List">
+        ID, BEER_FACTORY_ID, USER_ID, USER_NAME, PRODUCTION_LINE_NAME, CREATE_TIME, CREATE_BY, UPDATE_TIME, UPDATE_BY, IS_DELETE
+    </sql>
+
+</mapper>

+ 135 - 115
abi-cloud-qr-platform-server/src/main/resources/dao/mapper/QrPackageMapper.xml

@@ -1,35 +1,35 @@
 <?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">
+        PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
+        "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
 <mapper namespace="com.abi.qms.platform.dao.mapper.QrPackageMapper">
 
     <!-- 通用查询映射结果 -->
     <resultMap id="BaseResultMap" type="com.abi.qms.platform.dao.entity.QrPackage">
-        <id column="ID" property="id" />
-        <result column="MATERIAL_ID" property="materialId" />
-        <result column="FACTORY_COVER_ID" property="factoryCoverId" />
-        <result column="FACTORY_BEER_ID" property="factoryBeerId" />
-        <result column="STANDBY_RATIO" property="standbyRatio" />
-        <result column="BOX_CODE_FORMAT_ID" property="boxCodeFormatId" />
-        <result column="SAP_ORDER_NO" property="sapOrderNo" />
-        <result column="QR_NUMBER" property="qrNumber" />
-        <result column="APPLY_STATUS" property="applyStatus" />
-        <result column="GENERATE_STATUS" property="generateStatus" />
-        <result column="GENERATE_TIME" property="generateTime" />
-        <result column="REASON_APPLY" property="reasonApply" />
-        <result column="DOWNLOAD_PATH" property="downloadPath" />
-        <result column="IS_DOWNLOAD" property="isDownload" />
-        <result column="DOWNLOAD_TIME" property="downloadTime" />
-        <result column="CREATE_TIME" property="createTime" />
-        <result column="CREATE_BY" property="createBy" />
-        <result column="UPDATE_TIME" property="updateTime" />
-        <result column="UPDATE_BY" property="updateBy" />
-        <result column="IS_DELETE" property="isDelete" />
-        <result column="ZIP_PASSWORD" property="zipPassword" />
-        <result column="QR_TYPE" property="qrType" />
-        <result column="FACTORY_COVER_LEVEL_TWO_ID" property="factoryCoverLevelTwoId" />
-        <result column="INVALID" property="invalid" />
+        <id column="ID" property="id"/>
+        <result column="MATERIAL_ID" property="materialId"/>
+        <result column="FACTORY_COVER_ID" property="factoryCoverId"/>
+        <result column="FACTORY_BEER_ID" property="factoryBeerId"/>
+        <result column="STANDBY_RATIO" property="standbyRatio"/>
+        <result column="BOX_CODE_FORMAT_ID" property="boxCodeFormatId"/>
+        <result column="SAP_ORDER_NO" property="sapOrderNo"/>
+        <result column="QR_NUMBER" property="qrNumber"/>
+        <result column="APPLY_STATUS" property="applyStatus"/>
+        <result column="GENERATE_STATUS" property="generateStatus"/>
+        <result column="GENERATE_TIME" property="generateTime"/>
+        <result column="REASON_APPLY" property="reasonApply"/>
+        <result column="DOWNLOAD_PATH" property="downloadPath"/>
+        <result column="IS_DOWNLOAD" property="isDownload"/>
+        <result column="DOWNLOAD_TIME" property="downloadTime"/>
+        <result column="CREATE_TIME" property="createTime"/>
+        <result column="CREATE_BY" property="createBy"/>
+        <result column="UPDATE_TIME" property="updateTime"/>
+        <result column="UPDATE_BY" property="updateBy"/>
+        <result column="IS_DELETE" property="isDelete"/>
+        <result column="ZIP_PASSWORD" property="zipPassword"/>
+        <result column="QR_TYPE" property="qrType"/>
+        <result column="FACTORY_COVER_LEVEL_TWO_ID" property="factoryCoverLevelTwoId"/>
+        <result column="INVALID" property="invalid"/>
     </resultMap>
 
     <resultMap type="com.abi.qms.platform.dao.vo.result.QrPackageVO" id="QrPackageResult">
@@ -68,12 +68,14 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
         <result property="qrRepertoryType" column="qr_repertory_type"/>
         <result property="boxCodeFormatName" column="box_code_format_name"/>
         <!-- 码包下载记录 -->
-        <collection property="qrPackageDownloadRecordList" javaType="java.util.List" ofType="com.abi.qms.platform.dao.vo.result.QrPackageDownloadRecordVO">
+        <collection property="qrPackageDownloadRecordList" javaType="java.util.List"
+                    ofType="com.abi.qms.platform.dao.vo.result.QrPackageDownloadRecordVO">
             <result property="createTime" column="download_time"/>
             <result property="createByName" column="download_user_name"/>
         </collection>
         <!-- 码包批次列表 -->
-        <collection property="qrPackageBatchVOList" javaType="java.util.List" ofType="com.abi.qms.platform.dao.vo.result.QrPackageBatchVO">
+        <collection property="qrPackageBatchVOList" javaType="java.util.List"
+                    ofType="com.abi.qms.platform.dao.vo.result.QrPackageBatchVO">
             <result property="id" column="batch_id"/>
             <result property="packageId" column="package_id"/>
             <result property="batchNumber" column="batch_number"/>
@@ -83,24 +85,24 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
 
     <select id="listQrPackage" resultType="com.abi.qms.platform.dao.vo.result.QrPackageVO">
         SELECT
-            qp.id,
-            qp.material_id,
-            qp.factory_cover_id,
-            qp.box_code_format_id,
-            qp.sap_order_no,
-            qp.qr_number,
-            qp.apply_status,
-            qp.is_download,
-            qp.create_time,
-            qp.create_by,
-            qp.qr_type,
-            bm.material_name,
-            bf.factory_name AS factory_cover_name,
-            bcf.name AS box_code_format_name,
-            ui.user_name AS create_by_name,
-            qp.invalid
+        qp.id,
+        qp.material_id,
+        qp.factory_cover_id,
+        qp.box_code_format_id,
+        qp.sap_order_no,
+        qp.qr_number,
+        qp.apply_status,
+        qp.is_download,
+        qp.create_time,
+        qp.create_by,
+        qp.qr_type,
+        bm.material_name,
+        bf.factory_name AS factory_cover_name,
+        bcf.name AS box_code_format_name,
+        ui.user_name AS create_by_name,
+        qp.invalid
         FROM
-            qr_package qp
+        qr_package qp
         LEFT JOIN qr_box_code_format bcf ON qp.box_code_format_id = bcf.id
         LEFT JOIN base_material bm ON qp.material_id = bm.id
         LEFT JOIN base_factory bf ON qp.factory_cover_id = bf.id
@@ -120,7 +122,8 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
                 AND qp.sap_order_no like concat('%',#{param.sapOrderNo},'%')
             </if>
             <if test="param.factoryCoverId != null">
-                AND (qp.factory_cover_id = #{param.factoryCoverId} or qp.factory_cover_level_two_id = #{param.factoryCoverId})
+                AND (qp.factory_cover_id = #{param.factoryCoverId} or qp.factory_cover_level_two_id =
+                #{param.factoryCoverId})
             </if>
             <if test="param.applyStatus != null">
                 AND qp.apply_status = #{param.applyStatus}
@@ -199,85 +202,102 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
         qp.id = #{id}
     </select>
 
+    <select id="listWxQrPackage" resultType="com.abi.qms.platform.dao.vo.result.QrPackageWxVO">
+        select qp.id as packageId,qbm.index_begin,qbm.index_end,qbm.active_status,ba.active_name,bm.material_name
+        from qr_package qp
+        inner join base_material bm on bm.id=qp.material_id
+        inner join qr_box_mapping qbm on qp.id=qbm.package_id
+        inner join base_active_qr_package_mapping baqpm on baqpm.qr_package_id=qp.id
+        inner join base_active ba on ba.id=baqpm.active_id
+        <where>
+            <if test="req.queryParam != null and req.queryParam != ''">
+                AND (qp.id like binary concat('%',#{req.queryParam},'%')
+                or ba.active_name like binary concat('%',#{req.queryParam},'%')
+                or bm.material_name like binary concat('%',#{req.queryParam},'%'))
+            </if>
+        </where>
+        order by qp.create_time desc
+    </select>
+
     <!--6.03已废弃-->
     <!--通过码活动id查询关联码包列表-->
-<!--    <select id="listPackageById" resultType="com.abi.qms.platform.dao.vo.result.ActivePackageVO">-->
-<!--    select-->
-<!--    qp.id as packageId,-->
-<!--    qp.qr_type,-->
-<!--    bb.brand_name,-->
-<!--    bb.parent_brand_name,-->
-<!--    qp.qr_number-->
-<!--    from qr_package qp-->
-<!--    inner join base_material bm on bm.id=qp.material_id-->
-<!--    inner join base_brand bb on bb.brand_code=bs.sub_brand_code-->
-<!--    left join base_active_qr_package_mapping baqpm on baqpm.qr_package_id=qp.id-->
-<!--    left join base_active ba on ba.id = baqpm.active_id-->
-<!--    where ba.id = #{id}-->
-<!--    </select>-->
+    <!--    <select id="listPackageById" resultType="com.abi.qms.platform.dao.vo.result.ActivePackageVO">-->
+    <!--    select-->
+    <!--    qp.id as packageId,-->
+    <!--    qp.qr_type,-->
+    <!--    bb.brand_name,-->
+    <!--    bb.parent_brand_name,-->
+    <!--    qp.qr_number-->
+    <!--    from qr_package qp-->
+    <!--    inner join base_material bm on bm.id=qp.material_id-->
+    <!--    inner join base_brand bb on bb.brand_code=bs.sub_brand_code-->
+    <!--    left join base_active_qr_package_mapping baqpm on baqpm.qr_package_id=qp.id-->
+    <!--    left join base_active ba on ba.id = baqpm.active_id-->
+    <!--    where ba.id = #{id}-->
+    <!--    </select>-->
 
 
     <!--6.03已废弃-->
     <!--&lt;!&ndash;通过品牌code查询关联码包列表&ndash;&gt;-->
     <!--<select id="listPackageByBrandCode" resultType="com.abi.qms.platform.dao.vo.result.PackageActiveSearchVO">-->
-        <!--select-->
-        <!--qp.id as packageId,-->
-        <!--qp.qr_type,-->
-        <!--bs.sku_name,-->
-        <!--bb.brand_name,-->
-        <!--bb.parent_brand_name,-->
-        <!--qp.qr_number,-->
-        <!--ba.active_name,-->
-        <!--(CASE WHEN ba.active_name IS NULL THEN '0' ELSE '1' END) AS is_join_active-->
-        <!--from qr_package qp-->
-        <!--inner join base_material bm on bm.id=qp.material_id-->
-        <!--inner join base_sku bs on bs.id=bm.sku_id-->
-        <!--inner join base_brand bb on bb.brand_code=bs.sub_brand_code-->
-        <!--left join base_active_qr_package_mapping baqpm on baqpm.qr_package_id=qp.id-->
-        <!--left join base_active ba on ba.id = baqpm.active_id-->
-        <!--where-->
-        <!--bb.brand_code IN(-->
-        <!--<foreach collection="param.brandCodeList" separator="," item="item">-->
-            <!--#{item}-->
-        <!--</foreach>-->
-        <!--)-->
-        <!--and qp.apply_status = 1-->
-        <!--<if test="param.activeId != null">-->
-            <!--AND ba.id is null or ba.id != #{param.activeId}-->
-        <!--</if>-->
-        <!--<if test="param.packageId != null">-->
-            <!--AND qp.id = {param.packageId}-->
-        <!--</if>-->
-        <!--<if test="param.skuName != null and param.skuName != ''">-->
-            <!--AND bs.sku_name like concat('%',#{param.skuName},'%')-->
-        <!--</if>-->
-        <!--<if test="param.qrType != null">-->
-            <!--AND qp.qr_type = #{param.qrType}-->
-        <!--</if>-->
-        <!--and qp.qr_type = 2-->
-        <!--and bb.is_delete = 0-->
-        <!--order by qp.generate_time desc-->
+    <!--select-->
+    <!--qp.id as packageId,-->
+    <!--qp.qr_type,-->
+    <!--bs.sku_name,-->
+    <!--bb.brand_name,-->
+    <!--bb.parent_brand_name,-->
+    <!--qp.qr_number,-->
+    <!--ba.active_name,-->
+    <!--(CASE WHEN ba.active_name IS NULL THEN '0' ELSE '1' END) AS is_join_active-->
+    <!--from qr_package qp-->
+    <!--inner join base_material bm on bm.id=qp.material_id-->
+    <!--inner join base_sku bs on bs.id=bm.sku_id-->
+    <!--inner join base_brand bb on bb.brand_code=bs.sub_brand_code-->
+    <!--left join base_active_qr_package_mapping baqpm on baqpm.qr_package_id=qp.id-->
+    <!--left join base_active ba on ba.id = baqpm.active_id-->
+    <!--where-->
+    <!--bb.brand_code IN(-->
+    <!--<foreach collection="param.brandCodeList" separator="," item="item">-->
+    <!--#{item}-->
+    <!--</foreach>-->
+    <!--)-->
+    <!--and qp.apply_status = 1-->
+    <!--<if test="param.activeId != null">-->
+    <!--AND ba.id is null or ba.id != #{param.activeId}-->
+    <!--</if>-->
+    <!--<if test="param.packageId != null">-->
+    <!--AND qp.id = {param.packageId}-->
+    <!--</if>-->
+    <!--<if test="param.skuName != null and param.skuName != ''">-->
+    <!--AND bs.sku_name like concat('%',#{param.skuName},'%')-->
+    <!--</if>-->
+    <!--<if test="param.qrType != null">-->
+    <!--AND qp.qr_type = #{param.qrType}-->
+    <!--</if>-->
+    <!--and qp.qr_type = 2-->
+    <!--and bb.is_delete = 0-->
+    <!--order by qp.generate_time desc-->
     <!--</select>-->
 
     <!--&lt;!&ndash;通过码活动id查询关联码包列表&ndash;&gt;-->
     <!--<select id="listPackageByActiveApplyId" resultType="com.abi.qms.platform.dao.vo.result.ActiveModifyApplyPackageVO">-->
-        <!--select-->
-        <!--qp.id as packageId,-->
-        <!--qp.qr_type,-->
-        <!--bs.sku_name,-->
-        <!--bb.brand_name,-->
-        <!--bb.parent_brand_name,-->
-        <!--qp.qr_number,-->
-        <!--IFNULL(bamaqpm.modify_type, 3) modify_type-->
-        <!--from qr_package qp-->
-        <!--inner join base_material bm on bm.id=qp.material_id-->
-        <!--inner join base_sku bs on bs.id=bm.sku_id-->
-        <!--inner join base_brand bb on bb.brand_code=bs.sub_brand_code-->
-		<!--left join base_active_qr_package_mapping baqpm on baqpm.qr_package_id=qp.id-->
-        <!--left join base_active ba on ba.id = baqpm.active_id-->
-		<!--left join base_active_modify_apply bama on bama.active_id = ba.id and bama.is_delete = 0-->
-        <!--left join base_active_modify_apply_qr_package_mapping bamaqpm on bamaqpm.apply_id=bama.id and bamaqpm.qr_package_id = qp.id and bamaqpm.is_delete = 0-->
-        <!--where ba.id = #{activeId}-->
-        <!--ORDER BY modify_type ASC-->
+    <!--select-->
+    <!--qp.id as packageId,-->
+    <!--qp.qr_type,-->
+    <!--bs.sku_name,-->
+    <!--bb.brand_name,-->
+    <!--bb.parent_brand_name,-->
+    <!--qp.qr_number,-->
+    <!--IFNULL(bamaqpm.modify_type, 3) modify_type-->
+    <!--from qr_package qp-->
+    <!--inner join base_material bm on bm.id=qp.material_id-->
+    <!--inner join base_sku bs on bs.id=bm.sku_id-->
+    <!--inner join base_brand bb on bb.brand_code=bs.sub_brand_code-->
+    <!--left join base_active_qr_package_mapping baqpm on baqpm.qr_package_id=qp.id-->
+    <!--left join base_active ba on ba.id = baqpm.active_id-->
+    <!--left join base_active_modify_apply bama on bama.active_id = ba.id and bama.is_delete = 0-->
+    <!--left join base_active_modify_apply_qr_package_mapping bamaqpm on bamaqpm.apply_id=bama.id and bamaqpm.qr_package_id = qp.id and bamaqpm.is_delete = 0-->
+    <!--where ba.id = #{activeId}-->
+    <!--ORDER BY modify_type ASC-->
     <!--</select>-->
 </mapper>

+ 23 - 0
abi-cloud-qr-platform-server/src/main/resources/dao/mapper/UserRoleDetailMapper.xml

@@ -0,0 +1,23 @@
+<?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.abi.qms.platform.dao.mapper.UserRoleDetailMapper">
+
+    <!-- 通用查询映射结果 -->
+    <resultMap id="BaseResultMap" type="com.abi.qms.platform.dao.entity.UserRoleDetail">
+        <id column="ID" property="id" />
+        <result column="ROLE_CODE" property="roleCode" />
+        <result column="IS_ACTIVATE_MINI_APP_MAIN_ACCOUNT" property="isActivateMiniAppMainAccount" />
+        <result column="IS_ACTIVATE_MINI_APP_SUB_ACCOUNT" property="isActivateMiniAppSubAccount" />
+        <result column="CREATE_TIME" property="createTime" />
+        <result column="CREATE_BY" property="createBy" />
+        <result column="UPDATE_TIME" property="updateTime" />
+        <result column="UPDATE_BY" property="updateBy" />
+        <result column="IS_DELETE" property="isDelete" />
+    </resultMap>
+
+    <!-- 通用查询结果列 -->
+    <sql id="Base_Column_List">
+        ID, ROLE_CODE, IS_ACTIVATE_MINI_APP_MAIN_ACCOUNT, IS_ACTIVATE_MINI_APP_SUB_ACCOUNT, CREATE_TIME, CREATE_BY, UPDATE_TIME, UPDATE_BY, IS_DELETE
+    </sql>
+
+</mapper>