renqianlong před 1 rokem
rodič
revize
f6f4f5c7d3
18 změnil soubory, kde provedl 237 přidání a 114 odebrání
  1. 5 4
      zhongzheng-admin-business/src/main/java/com/zhongzheng/controller/goods/BsUserGoodsCollectionController.java
  2. 0 2
      zhongzheng-admin-business/src/main/java/com/zhongzheng/controller/staff/StaffController.java
  3. 2 2
      zhongzheng-system/src/main/java/com/zhongzheng/modules/bs/goods/service/IBsUserGoodsCollectionService.java
  4. 92 30
      zhongzheng-system/src/main/java/com/zhongzheng/modules/bs/goods/service/impl/BsUserGoodsCollectionServiceImpl.java
  5. 1 0
      zhongzheng-system/src/main/java/com/zhongzheng/modules/bs/goods/vo/BsUserGoodsCollectionVo.java
  6. 8 3
      zhongzheng-system/src/main/java/com/zhongzheng/modules/bs/staff/bo/StaffAddBo.java
  7. 6 3
      zhongzheng-system/src/main/java/com/zhongzheng/modules/bs/staff/bo/StaffEditBo.java
  8. 6 3
      zhongzheng-system/src/main/java/com/zhongzheng/modules/bs/staff/bo/StaffQueryBo.java
  9. 4 2
      zhongzheng-system/src/main/java/com/zhongzheng/modules/bs/staff/domain/Staff.java
  10. 4 0
      zhongzheng-system/src/main/java/com/zhongzheng/modules/bs/staff/service/impl/StaffCertificateServiceImpl.java
  11. 66 54
      zhongzheng-system/src/main/java/com/zhongzheng/modules/bs/staff/service/impl/StaffServiceImpl.java
  12. 6 2
      zhongzheng-system/src/main/java/com/zhongzheng/modules/bs/staff/vo/StaffVo.java
  13. 3 3
      zhongzheng-system/src/main/java/com/zhongzheng/modules/bs/system/domain/BsSysRole.java
  14. 25 2
      zhongzheng-system/src/main/java/com/zhongzheng/modules/goods/service/impl/GoodsServiceImpl.java
  15. 1 0
      zhongzheng-system/src/main/java/com/zhongzheng/modules/goods/vo/CompanyGoodsVo.java
  16. 1 0
      zhongzheng-system/src/main/java/com/zhongzheng/modules/goods/vo/GoodsVo.java
  17. 1 0
      zhongzheng-system/src/main/java/com/zhongzheng/modules/order/vo/CompanyOrderBusinessConfigGoodsVo.java
  18. 6 4
      zhongzheng-system/src/main/resources/mapper/modules/staff/StaffMapper.xml

+ 5 - 4
zhongzheng-admin-business/src/main/java/com/zhongzheng/controller/goods/BsUserGoodsCollectionController.java

@@ -12,6 +12,7 @@ import com.zhongzheng.framework.web.service.BsTokenService;
 import com.zhongzheng.modules.bs.goods.bo.BsUserGoodsCollectionAddBo;
 import com.zhongzheng.modules.bs.goods.bo.BsUserGoodsCollectionEditBo;
 import com.zhongzheng.modules.bs.goods.bo.BsUserGoodsCollectionQueryBo;
+import com.zhongzheng.modules.bs.goods.domain.BsUserGoodsCollection;
 import com.zhongzheng.modules.bs.goods.service.IBsUserGoodsCollectionService;
 import com.zhongzheng.modules.bs.goods.vo.BsUserGoodsCollectionVo;
 import io.swagger.annotations.Api;
@@ -69,9 +70,9 @@ public class BsUserGoodsCollectionController extends BaseController {
      */
     @ApiOperation("获取用户商品收藏详细信息")
     @PreAuthorize("@ss.hasPermi('goods:collection:query')")
-    @GetMapping("/{id}")
-    public AjaxResult<BsUserGoodsCollectionVo> getInfo(@PathVariable("id" ) Long id) {
-        return AjaxResult.success(iBsUserGoodsCollectionService.queryById(id));
+    @GetMapping("/id")
+    public AjaxResult<BsUserGoodsCollection> getInfo(BsUserGoodsCollectionQueryBo bo) {
+        return AjaxResult.success(iBsUserGoodsCollectionService.selectById(bo));
     }
 
     /**
@@ -93,7 +94,7 @@ public class BsUserGoodsCollectionController extends BaseController {
     @PreAuthorize("@ss.hasPermi('goods:collection:edit')")
     @Log(title = "用户商品收藏", businessType = BusinessType.UPDATE)
     @PostMapping("/cancel")
-    public AjaxResult<Void> edit(@RequestBody BsUserGoodsCollectionEditBo bo) {
+    public AjaxResult<Void> edit(@RequestBody BsUserGoodsCollectionQueryBo bo) {
         return toAjax(iBsUserGoodsCollectionService.updateByEditBo(bo) ? 1 : 0);
     }
 

+ 0 - 2
zhongzheng-admin-business/src/main/java/com/zhongzheng/controller/staff/StaffController.java

@@ -79,8 +79,6 @@ public class StaffController extends BaseController {
      * 新增企业部门员工
      */
     @ApiOperation("新增企业部门员工")
-    @PreAuthorize("@ss.hasPermi('system:staff:add')")
-    @Log(title = "企业部门员工", businessType = BusinessType.INSERT)
     @PostMapping("/insertOrUpdateStaff")
     public AjaxResult<Void> add(@RequestBody StaffAddBo bo) {
         return toAjax(iStaffService.insertByAddBo(bo) ? 1 : 0);

+ 2 - 2
zhongzheng-system/src/main/java/com/zhongzheng/modules/bs/goods/service/IBsUserGoodsCollectionService.java

@@ -22,7 +22,7 @@ public interface IBsUserGoodsCollectionService extends IService<BsUserGoodsColle
 	 * @return
 	 */
 	BsUserGoodsCollectionVo queryById(Long id);
-
+	BsUserGoodsCollection selectById(BsUserGoodsCollectionQueryBo bo);
 	/**
 	 * 查询列表
 	 */
@@ -40,7 +40,7 @@ public interface IBsUserGoodsCollectionService extends IService<BsUserGoodsColle
 	 * @param bo 用户商品收藏编辑业务对象
 	 * @return
 	 */
-	Boolean updateByEditBo(BsUserGoodsCollectionEditBo bo);
+	Boolean updateByEditBo(BsUserGoodsCollectionQueryBo bo);
 
 	/**
 	 * 校验并删除数据

+ 92 - 30
zhongzheng-system/src/main/java/com/zhongzheng/modules/bs/goods/service/impl/BsUserGoodsCollectionServiceImpl.java

@@ -2,7 +2,7 @@ package com.zhongzheng.modules.bs.goods.service.impl;
 
 import cn.hutool.core.bean.BeanUtil;
 import cn.hutool.core.lang.Validator;
-import cn.hutool.core.util.StrUtil;
+import cn.hutool.core.util.ObjectUtil;
 import com.zhongzheng.common.exception.CustomException;
 import com.zhongzheng.common.utils.DateUtils;
 import com.zhongzheng.modules.bs.goods.bo.BsUserGoodsCollectionAddBo;
@@ -22,7 +22,6 @@ import com.zhongzheng.modules.order.service.IOrderBusinessConfigGoodsService;
 import com.zhongzheng.modules.order.service.IOrderBusinessConfigService;
 import com.zhongzheng.modules.order.vo.CompanyOrderBusinessConfigGoodsVo;
 import com.zhongzheng.modules.order.vo.OrderBusinessConfigVo;
-import net.bytebuddy.implementation.bytecode.Throw;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
@@ -51,10 +50,41 @@ public class BsUserGoodsCollectionServiceImpl extends ServiceImpl<BsUserGoodsCol
 
     @Override
     public BsUserGoodsCollectionVo queryById(Long id) {
-        BsUserGoodsCollection db = this.baseMapper.selectById(id);
-        return BeanUtil.toBean(db, BsUserGoodsCollectionVo.class);
+        BsUserGoodsCollection bsUserGoodsCollection = this.baseMapper.selectById(id);
+        return BeanUtil.toBean(bsUserGoodsCollection, BsUserGoodsCollectionVo.class);
     }
 
+    @Override
+    public BsUserGoodsCollection selectById(BsUserGoodsCollectionQueryBo bo) {
+        BsUserGoodsCollection bsUserGoodsCollectionVo = new BsUserGoodsCollection();
+        if (Validator.isNotEmpty(bo.getConfigId())){
+            List<BsUserGoodsCollection> bsUserGoodsCollections = this.list(new LambdaQueryWrapper<BsUserGoodsCollection>()
+                    .eq(BsUserGoodsCollection::getConfigId, bo.getConfigId())
+                    .eq(BsUserGoodsCollection::getStatus, 1));
+            if (!bsUserGoodsCollections.isEmpty()){
+                bsUserGoodsCollectionVo = bsUserGoodsCollections.get(0);
+            }
+        }
+        if (Validator.isNotEmpty(bo.getGoodsId())){
+            if (Validator.isNotEmpty(bo.getGoodsId())){;
+                List<BsUserGoodsCollection> bsUserGoodsCollections = this.list(new LambdaQueryWrapper<BsUserGoodsCollection>()
+                        .eq(BsUserGoodsCollection::getGoodsId, bo.getGoodsId())
+                        .eq(BsUserGoodsCollection::getStatus, 1));
+                if (!bsUserGoodsCollections.isEmpty()){
+                    bsUserGoodsCollectionVo = bsUserGoodsCollections.get(0);
+                }
+            }
+        }
+        return bsUserGoodsCollectionVo;
+    }
+
+    public String getReplace(List<String> string){
+        if (Validator.isEmpty(string)){
+            return null;
+        }
+        String strings = string.toString().replace("[", "").replace("]", "").toString();
+        return strings;
+    }
     @Override
     public List<BsUserGoodsCollectionVo> queryList(BsUserGoodsCollectionQueryBo bo) {
         LambdaQueryWrapper<BsUserGoodsCollection> lqw = Wrappers.lambdaQuery();
@@ -68,10 +98,11 @@ public class BsUserGoodsCollectionServiceImpl extends ServiceImpl<BsUserGoodsCol
         lqw.eq(bo.getUserId() != null, BsUserGoodsCollection::getUserId, bo.getUserId());
         lqw.eq(bo.getStatus() != null, BsUserGoodsCollection::getStatus, bo.getStatus());
         lqw.eq(bo.getConfigId() != null, BsUserGoodsCollection::getConfigId, bo.getConfigId());
-        lqw.eq(bo.getCollectStatus() != null, BsUserGoodsCollection::getCollectStatus,1);
+        lqw.eq( BsUserGoodsCollection::getCollectStatus,1);
         List<BsUserGoodsCollectionVo> bsUserGoodsCollectionVos = entity2Vo(this.list(lqw));
         bsUserGoodsCollectionVos.forEach(item -> {
             if (Validator.isNotEmpty(item.getConfigId())) {
+                item.setTypeName(getTypeName(item.getType()));
                 OrderBusinessConfigGoodsQueryBo orderBusinessConfigGoodsQueryBo = new OrderBusinessConfigGoodsQueryBo();
                 orderBusinessConfigGoodsQueryBo.setConfigId(item.getConfigId());
                 List<CompanyOrderBusinessConfigGoodsVo> companyOrderBusinessConfigGoodsVos = iOrderBusinessConfigGoodsService.selectCompanyMergeList(orderBusinessConfigGoodsQueryBo);
@@ -91,42 +122,42 @@ public class BsUserGoodsCollectionServiceImpl extends ServiceImpl<BsUserGoodsCol
                             strings.add(companyGoodsVos.get(0).getGoodsName());
                             strings.add(companyGoodsVos.get(1).getGoodsName());
                             strings.add("等" + companyGoodsVos.size() + "个课程");
-                            item.setGoods(strings.toString().replace("[","").replace("]",""));
+                            item.setGoods(getReplace(strings));
                         }else {
-                            List<String> collect2 = companyGoodsVos.stream().map(s -> s.getGoodsName()).distinct().collect(Collectors.toList());
-                            item.setGoods(collect2.toString().replace("[","").replace("]",""));
+                            List<String> collect2 = companyGoodsVos.stream().map(CompanyGoodsVo::getGoodsName).distinct().collect(Collectors.toList());
+                            item.setGoods(getReplace(collect2));
                         }
-                        List<String> subjectNames = companyGoodsVos.stream().map(s -> s.getSubjectNames()).distinct().collect(Collectors.toList());
+                        List<String> subjectNames = companyGoodsVos.stream().map(CompanyGoodsVo::getSubjectNames).distinct().collect(Collectors.toList());
                         if (Validator.isNotEmpty(subjectNames) && subjectNames.size() > 2) {
                             List<String> strings = new ArrayList<>();
                             strings.add(subjectNames.get(0));
                             strings.add(subjectNames.get(1));
                             strings.add("等" + subjectNames.size() + "个科目");
-                            item.setSubjectName(strings.toString().replace("[","").replace("]",""));
+                            item.setSubjectName(getReplace(strings));
                         }else {
-                            item.setSubjectName(subjectNames.toString().replace("[","").replace("]",""));
+                            item.setSubjectName(getReplace(subjectNames));
                         }
-                        List<Long> years = companyGoodsVos.stream().map(s -> s.getYear()).collect(Collectors.toList());
+                        List<Long> years = companyGoodsVos.stream().map(CompanyGoodsVo::getYear).collect(Collectors.toList());
                         List<String> yearList = years.stream().map(String::valueOf).collect(Collectors.toList());
                         if (Validator.isNotEmpty(yearList)&&yearList.size()>2){
                             List<String> strings = new ArrayList<>();
                             strings.add(yearList.get(0));
                             strings.add(yearList.get(1));
                             strings.add("等" + yearList.size() + "个年份");
-                            item.setYear(strings.toString().replace("[","").replace("]",""));
+                            item.setYear(getReplace(strings));
                         }else {
-                            item.setYear(yearList.toString().replace("[","").replace("]",""));
+                            item.setYear(getReplace(yearList));
                         }
-                        List<BigDecimal> prices = companyGoodsVos.stream().map(s -> s.getStandPrice()).collect(Collectors.toList());
+                        List<BigDecimal> prices = companyGoodsVos.stream().map(CompanyGoodsVo::getStandPrice).collect(Collectors.toList());
                         List<String> priecsList = prices.stream().map(String::valueOf).collect(Collectors.toList());
                         if (Validator.isNotEmpty(priecsList)&&priecsList.size()>2){
                             List<String> strings = new ArrayList<>();
                             strings.add(priecsList.get(0));
                             strings.add(priecsList.get(1));
                             strings.add("等" + priecsList.size() + "个价格");
-                            item.setYear(strings.toString().replace("[","").replace("]",""));
+                            item.setYear(getReplace(strings));
                         }else {
-                            item.setYear(priecsList.toString().replace("[","").replace("]",""));
+                            item.setYear(getReplace(priecsList));
                         }
                     }
 
@@ -134,6 +165,7 @@ public class BsUserGoodsCollectionServiceImpl extends ServiceImpl<BsUserGoodsCol
             }
             if(Validator.isNotEmpty(item.getGoodsId())){
                 GoodsVo goodsVo = iGoodsService.selectDetail(item.getGoodsId());
+                item.setTypeName(getTypeName(item.getType()));
                 item.setSubjectName(goodsVo.getSubjectNames());
                 item.setGoods(goodsVo.getGoodsName());
                 item.setYear(goodsVo.getYear().toString());
@@ -168,6 +200,13 @@ public class BsUserGoodsCollectionServiceImpl extends ServiceImpl<BsUserGoodsCol
         BsUserGoodsCollection add = BeanUtil.toBean(bo, BsUserGoodsCollection.class);
         validEntityBeforeSave(add);
         if (Validator.isNotEmpty(bo.getConfigId())) {
+            List<BsUserGoodsCollection> bsUserGoodsCollections = this.list(new LambdaQueryWrapper<BsUserGoodsCollection>()
+                    .eq(BsUserGoodsCollection::getConfigId, bo.getConfigId())
+                    .eq(BsUserGoodsCollection::getCollectStatus, 1)
+                    .eq(BsUserGoodsCollection::getStatus, 1));
+            if (!bsUserGoodsCollections.isEmpty()){
+                throw new CustomException("请勿重复收藏");
+            }
             OrderBusinessConfigQueryBo orderBusinessConfigQueryBo = new OrderBusinessConfigQueryBo();
             orderBusinessConfigQueryBo.setId(bo.getConfigId());
             OrderBusinessConfigVo detail = iOrderBusinessConfigService.getDetail(orderBusinessConfigQueryBo);
@@ -176,10 +215,16 @@ public class BsUserGoodsCollectionServiceImpl extends ServiceImpl<BsUserGoodsCol
             add.setEducationType(detail.getEducationType());
             add.setEducationName(detail.getEducationName());
             add.setProjectId(detail.getProjectId());
-            add.setProjectName(detail.getProjectName());
-
+            add.setProjectName(detail.getBusinessName()+detail.getProjectName());
         }
         if (Validator.isNotEmpty(bo.getGoodsId())) {
+            List<BsUserGoodsCollection> bsUserGoodsCollections = this.list(new LambdaQueryWrapper<BsUserGoodsCollection>()
+                    .eq(BsUserGoodsCollection::getGoodsId, bo.getGoodsId())
+                    .eq(BsUserGoodsCollection::getCollectStatus, 1)
+                    .eq(BsUserGoodsCollection::getStatus, 1));
+            if (!bsUserGoodsCollections.isEmpty()){
+                throw new CustomException("请勿重复收藏");
+            }
             GoodsQueryBo goodsQueryBo = new GoodsQueryBo();
             goodsQueryBo.setGoodsId(bo.getGoodsId());
             List<Integer> integers = new ArrayList<>();
@@ -193,7 +238,7 @@ public class BsUserGoodsCollectionServiceImpl extends ServiceImpl<BsUserGoodsCol
                 add.setEducationType(goods.getEducationTypeId());
                 add.setEducationName(goods.getEducationName());
                 add.setProjectId(goods.getProjectId());
-                add.setProjectName(goods.getProjectName());
+                add.setProjectName(goods.getBusinessName()+goods.getProjectName());
             }
         }
         add.setUserId(bo.getUserId());
@@ -203,19 +248,36 @@ public class BsUserGoodsCollectionServiceImpl extends ServiceImpl<BsUserGoodsCol
     }
 
     @Override
-    public Boolean updateByEditBo(BsUserGoodsCollectionEditBo bo) {
-        BsUserGoodsCollection update = BeanUtil.toBean(bo, BsUserGoodsCollection.class);
-        validEntityBeforeSave(update);
-        BsUserGoodsCollectionVo bsUserGoodsCollectionVo = this.queryById(update.getId());
-        if (Validator.isNotEmpty(bsUserGoodsCollectionVo)&&bsUserGoodsCollectionVo.getCollectStatus()!=0){
-            update.setCollectStatus(0);
-            update.setUpdateTime(DateUtils.getNowTime());
-        }else {
-            throw new CustomException("当前收藏商品不存在");
+    public Boolean updateByEditBo(BsUserGoodsCollectionQueryBo bo) {
+        BsUserGoodsCollection bsUserGoodsCollection = new BsUserGoodsCollection();
+        if (Validator.isNotEmpty(bo.getConfigId())||Validator.isNotEmpty(bo.getGoodsId())){
+             bsUserGoodsCollection = this.selectById(bo);
+            if (ObjectUtil.isEmpty(bsUserGoodsCollection)){
+                throw new CustomException("当前商品不存在收藏列表");
+            }
         }
-        return this.updateById(update);
+        return this.removeById(bsUserGoodsCollection.getId());
     }
 
+    public String getTypeName(Long Type){
+        if (Type == 1L) {
+            return "课程";
+        } else if (Type == 2L) {
+            return "题库";
+        } else if (Type == 3L) {
+            return "";
+        } else if (Type == 4L) {
+            return "";
+        } else if (Type == 5L) {
+            return "";
+        } else if (Type == 6L) {
+            return "直播";
+        } else if (Type == 10L) {
+            return "商品包";
+        }
+        return null;
+
+    }
     /**
      * 保存前的数据校验
      *

+ 1 - 0
zhongzheng-system/src/main/java/com/zhongzheng/modules/bs/goods/vo/BsUserGoodsCollectionVo.java

@@ -33,6 +33,7 @@ public class BsUserGoodsCollectionVo {
 	/** 类型 */
 	@ApiModelProperty("类型")
 	private Long type;
+	private String typeName;
 	/** 用户id */
 	@Excel(name = "用户id")
 	@ApiModelProperty("用户id")

+ 8 - 3
zhongzheng-system/src/main/java/com/zhongzheng/modules/bs/staff/bo/StaffAddBo.java

@@ -1,9 +1,11 @@
 package com.zhongzheng.modules.bs.staff.bo;
 
+import com.zhongzheng.common.annotation.Excel;
 import io.swagger.annotations.ApiModel;
 import io.swagger.annotations.ApiModelProperty;
 import lombok.Data;
 
+import java.io.Serializable;
 import java.util.List;
 
 
@@ -15,7 +17,7 @@ import java.util.List;
  */
 @Data
 @ApiModel("企业部门员工添加对象")
-public class StaffAddBo {
+public class StaffAddBo implements Serializable {
 
     /** 企业id */
     @ApiModelProperty("企业id")
@@ -70,6 +72,9 @@ public class StaffAddBo {
     /** 招聘渠道 */
     @ApiModelProperty("招聘渠道")
     private String recruitmentChannel;
+    /** 是否内荐 1 是 0 否 */
+    @ApiModelProperty("是否内荐 1 是 0 否")
+    private Long recommendFlag;
     /** 参与工作时间 */
     @ApiModelProperty("参与工作时间")
     private Long workDate;
@@ -81,10 +86,10 @@ public class StaffAddBo {
     private Long leaveDate;
     /** 身份证正面 */
     @ApiModelProperty("身份证正面")
-    private String zCard;
+    private String frontCard;
     /** 身份证反面 */
     @ApiModelProperty("身份证反面")
-    private String fCard;
+    private String oppositeCard;
     /** 身份证签发机关 */
     @ApiModelProperty("身份证签发机关")
     private String issuingOrganization;

+ 6 - 3
zhongzheng-system/src/main/java/com/zhongzheng/modules/bs/staff/bo/StaffEditBo.java

@@ -1,5 +1,6 @@
 package com.zhongzheng.modules.bs.staff.bo;
 
+import com.zhongzheng.common.annotation.Excel;
 import io.swagger.annotations.ApiModel;
 import io.swagger.annotations.ApiModelProperty;
 import com.fasterxml.jackson.annotation.JsonFormat;
@@ -94,7 +95,9 @@ public class StaffEditBo {
     /** 招聘渠道 */
     @ApiModelProperty("招聘渠道")
     private String recruitmentChannel;
-
+    /** 是否内荐 1 是 0 否 */
+    @ApiModelProperty("是否内荐 1 是 0 否")
+    private Long recommendFlag;
     /** 参与工作时间 */
     @ApiModelProperty("参与工作时间")
     private Long workDate;
@@ -109,11 +112,11 @@ public class StaffEditBo {
 
     /** 身份证正面 */
     @ApiModelProperty("身份证正面")
-    private String zCard;
+    private String frontCard;
 
     /** 身份证反面 */
     @ApiModelProperty("身份证反面")
-    private String fCard;
+    private String oppositeCard;
 
     /** 身份证签发机关 */
     @ApiModelProperty("身份证签发机关")

+ 6 - 3
zhongzheng-system/src/main/java/com/zhongzheng/modules/bs/staff/bo/StaffQueryBo.java

@@ -37,7 +37,7 @@ public class StaffQueryBo extends BaseEntity {
 	private String isAsc;
 	/** 身份证结束期限 */
 	@ApiModelProperty("身份证结束期限")
-	private int longFlag;
+	private Integer longFlag;
 
 	/** 企业id */
 	@ApiModelProperty("企业id")
@@ -90,6 +90,9 @@ public class StaffQueryBo extends BaseEntity {
 	/** 招聘渠道 */
 	@ApiModelProperty("招聘渠道")
 	private String recruitmentChannel;
+	/** 是否内荐 1 是 0 否 */
+	@ApiModelProperty("是否内荐 1 是 0 否")
+	private Long recommendFlag;
 	/** 参与工作时间 */
 	@ApiModelProperty("参与工作时间")
 	private Long workDate;
@@ -101,10 +104,10 @@ public class StaffQueryBo extends BaseEntity {
 	private Long leaveDate;
 	/** 身份证正面 */
 	@ApiModelProperty("身份证正面")
-	private String zCard;
+	private String frontCard;
 	/** 身份证反面 */
 	@ApiModelProperty("身份证反面")
-	private String fCard;
+	private String oppositeCard;
 	/** 身份证签发机关 */
 	@ApiModelProperty("身份证签发机关")
 	private String issuingOrganization;

+ 4 - 2
zhongzheng-system/src/main/java/com/zhongzheng/modules/bs/staff/domain/Staff.java

@@ -65,6 +65,8 @@ private static final long serialVersionUID=1L;
     private Long positionStatus;
     /** 招聘渠道 */
     private String recruitmentChannel;
+    /** 是否内荐 1 是 0 否 */
+    private Long recommendFlag;
     /** 参与工作时间 */
     private Long workDate;
     /** 入职时间 */
@@ -72,9 +74,9 @@ private static final long serialVersionUID=1L;
     /** 离职时间 */
     private Long leaveDate;
     /** 身份证正面 */
-    private String zCard;
+    private String frontCard;
     /** 身份证反面 */
-    private String fCard;
+    private String oppositeCard;
     /** 身份证签发机关 */
     private String issuingOrganization;
     /** 身份证开始期限 */

+ 4 - 0
zhongzheng-system/src/main/java/com/zhongzheng/modules/bs/staff/service/impl/StaffCertificateServiceImpl.java

@@ -27,9 +27,11 @@ import com.github.pagehelper.Page;
 import com.zhongzheng.modules.bs.staff.mapper.StaffCertificateMapper;
 import com.zhongzheng.modules.bs.staff.vo.StaffCertificateVo;
 import com.zhongzheng.modules.bs.staff.service.IStaffCertificateService;
+import org.springframework.transaction.annotation.Transactional;
 import org.springframework.web.multipart.MultipartFile;
 
 import java.util.*;
+import java.util.concurrent.atomic.AtomicInteger;
 import java.util.stream.Collectors;
 
 /**
@@ -241,7 +243,9 @@ public class StaffCertificateServiceImpl extends ServiceImpl<StaffCertificateMap
         return null;
     }
 
+
     @Override
+    @Transactional(rollbackFor = Exception.class)
     public Boolean importStaffCertificateList(MultipartFile file) {
         List<ExcelStaffCertificateVo> excelStaffCertificateVos = EasyPoiUtil.importExcel(file, 0, 1, ExcelStaffCertificateVo.class);
         if (ObjectUtil.isEmpty(excelStaffCertificateVos)) {

+ 66 - 54
zhongzheng-system/src/main/java/com/zhongzheng/modules/bs/staff/service/impl/StaffServiceImpl.java

@@ -1,6 +1,7 @@
 package com.zhongzheng.modules.bs.staff.service.impl;
 
 import cn.hutool.core.bean.BeanUtil;
+import cn.hutool.core.lang.Validator;
 import cn.hutool.core.util.ObjectUtil;
 import cn.hutool.core.util.StrUtil;
 import com.zhongzheng.common.exception.CustomException;
@@ -50,6 +51,7 @@ public class StaffServiceImpl extends ServiceImpl<StaffMapper, Staff> implements
     private ICompanyService iCompanyService;
     @Autowired
     private ICompanyDepartmentService iCompanyDepartmentService;
+
     @Override
     public StaffVo queryById(Long staffId) {
         Staff db = this.baseMapper.selectById(staffId);
@@ -80,14 +82,14 @@ public class StaffServiceImpl extends ServiceImpl<StaffMapper, Staff> implements
         lqw.eq(bo.getWorkDate() != null, Staff::getWorkDate, bo.getWorkDate());
         lqw.eq(bo.getEntryDate() != null, Staff::getEntryDate, bo.getEntryDate());
         lqw.eq(bo.getLeaveDate() != null, Staff::getLeaveDate, bo.getLeaveDate());
-        lqw.eq(StrUtil.isNotBlank(bo.getZCard()), Staff::getZCard, bo.getZCard());
-        lqw.eq(StrUtil.isNotBlank(bo.getFCard()), Staff::getFCard, bo.getFCard());
+        lqw.eq(StrUtil.isNotBlank(bo.getFrontCard()), Staff::getFrontCard, bo.getFrontCard());
+        lqw.eq(StrUtil.isNotBlank(bo.getOppositeCard()), Staff::getOppositeCard, bo.getOppositeCard());
         lqw.eq(StrUtil.isNotBlank(bo.getIssuingOrganization()), Staff::getIssuingOrganization, bo.getIssuingOrganization());
         lqw.eq(bo.getStartDate() != null, Staff::getStartDate, bo.getStartDate());
         lqw.eq(bo.getEndDate() != null, Staff::getEndDate, bo.getEndDate());
         lqw.eq(StrUtil.isNotBlank(bo.getLabel()), Staff::getLabel, bo.getLabel());
         lqw.eq(StrUtil.isNotBlank(bo.getRemarks()), Staff::getRemarks, bo.getRemarks());
-        lqw.eq(bo.getStatus() != null, Staff::getStatus, bo.getStatus());
+        lqw.eq( Staff::getStatus, bo.getStatus());
         return entity2Vo(this.list(lqw));
     }
 
@@ -115,56 +117,64 @@ public class StaffServiceImpl extends ServiceImpl<StaffMapper, Staff> implements
     @Transactional(rollbackFor = Exception.class)
     public Boolean insertByAddBo(StaffAddBo bo) {
         Staff add = BeanUtil.toBean(bo, Staff.class);
-        validEntityBeforeSave(add);
-        Company company = iCompanyService.getOne(new LambdaQueryWrapper<Company>().eq(Company::getCompanyId, bo.getCompanyId()).eq(Company::getStatus, 1));
-        if (ObjectUtil.isNotEmpty(company)){
-            add.setCompanyName(company.getCompanyName());
-        }
-        add.setCreateTime(DateUtils.getNowTime());
-        add.setUpdateTime(DateUtils.getNowTime());
-        boolean save = this.save(add);
-        if (save) {
-            StaffQueryBo staffQueryBo = new StaffQueryBo();
-            List<StaffVo> staffVos = this.queryList(staffQueryBo);
-            List<StaffVo> collect = staffVos.stream().filter(s -> s.getIdCard().equals(bo.getIdCard())).collect(Collectors.toList());
-            StaffVo staffVo = collect.get(0);
-            Long staffId = staffVo.getStaffId();
-            List<StaffEduBgAddBo> staffEduBgList = bo.getStaffEduBgList();
-            if (ObjectUtil.isNotEmpty(staffEduBgList)) {
-                staffEduBgList.forEach(item -> {
-                    item.setCompanyId(staffVo.getCompanyId());
-                    item.setStaffId(staffId);
-                    iStaffEduBgService.insertByAddBo(item);
-                });
+        StaffQueryBo staffQueryBo = new StaffQueryBo();
+        staffQueryBo.setStatus(1);
+        List<StaffVo> staffVos = this.queryList(staffQueryBo);
+        if (Validator.isNotEmpty(bo.getIdCard()) && Validator.isEmpty(bo.getStaffId())) {
+            List<Staff> staff = this.list(new LambdaQueryWrapper<Staff>().eq(Staff::getIdCard, bo.getIdCard()).eq(Staff::getStatus, 1));
+            if (!staff.isEmpty()) {
+                throw new CustomException("请勿重复添加员工信息");
             }
-            List<StaffEmergencyContactAddBo> staffEmergencyContactList = bo.getStaffEmergencyContactList();
-            if (ObjectUtil.isNotEmpty(staffEmergencyContactList)) {
-                staffEmergencyContactList.forEach(item -> {
-                    item.setCompanyId(staffVo.getCompanyId());
-                    item.setStaffId(staffId);
-                    iStaffEmergencyContactService.insertByAddBo(item);
-                });
+            Company company = iCompanyService.getOne(new LambdaQueryWrapper<Company>().eq(Company::getCompanyId, bo.getCompanyId()).eq(Company::getStatus, 1));
+            if (ObjectUtil.isNotEmpty(company)) {
+                add.setCompanyName(company.getCompanyName());
             }
-            List<StaffBankInfoAddBo> staffBankInfoList = bo.getStaffBankInfoList();
-            if (ObjectUtil.isNotEmpty(staffBankInfoList)) {
-                staffBankInfoList.forEach(item -> {
-                    item.setCompanyId(staffVo.getCompanyId());
-                    item.setStaffId(staffId);
-                    iStaffBankInfoService.insertByAddBo(item);
-                });
-            }
-            List<StaffContractArchivesAddBo> staffContractArchivesList = bo.getStaffContractArchivesList();
-            if (ObjectUtil.isNotEmpty(staffContractArchivesList)) {
-                staffContractArchivesList.forEach(item -> {
-                    item.setCompanyId(staffVo.getCompanyId());
-                    item.setStaffId(staffId);
-                    iStaffContractArchivesService.insertByAddBo(item);
-                });
+            add.setCreateTime(DateUtils.getNowTime());
+            add.setUpdateTime(DateUtils.getNowTime());
+            boolean save = this.save(add);
+            if (save) {
+                List<StaffVo> staffVoList = this.queryList(staffQueryBo);
+                staffVos = staffVoList.stream().filter(s -> s.getIdCard().equals(bo.getIdCard())).collect(Collectors.toList());
             }
         } else {
-            throw new CustomException("保存员工信息错误");
+            validEntityBeforeSave(add);
+            staffVos = staffVos.stream().filter(s -> s.getStaffId().equals(bo.getStaffId())).collect(Collectors.toList());
+        }
+        StaffVo staffVo = staffVos.get(0);
+        Long staffId = staffVo.getStaffId();
+        List<StaffEduBgAddBo> staffEduBgList = bo.getStaffEduBgList();
+        if (ObjectUtil.isNotEmpty(staffEduBgList)) {
+            staffEduBgList.forEach(item -> {
+                item.setCompanyId(staffVo.getCompanyId());
+                item.setStaffId(staffId);
+                iStaffEduBgService.insertByAddBo(item);
+            });
+        }
+        List<StaffEmergencyContactAddBo> staffEmergencyContactList = bo.getStaffEmergencyContactList();
+        if (ObjectUtil.isNotEmpty(staffEmergencyContactList)) {
+            staffEmergencyContactList.forEach(item -> {
+                item.setCompanyId(staffVo.getCompanyId());
+                item.setStaffId(staffId);
+                iStaffEmergencyContactService.insertByAddBo(item);
+            });
+        }
+        List<StaffBankInfoAddBo> staffBankInfoList = bo.getStaffBankInfoList();
+        if (ObjectUtil.isNotEmpty(staffBankInfoList)) {
+            staffBankInfoList.forEach(item -> {
+                item.setCompanyId(staffVo.getCompanyId());
+                item.setStaffId(staffId);
+                iStaffBankInfoService.insertByAddBo(item);
+            });
+        }
+        List<StaffContractArchivesAddBo> staffContractArchivesList = bo.getStaffContractArchivesList();
+        if (ObjectUtil.isNotEmpty(staffContractArchivesList)) {
+            staffContractArchivesList.forEach(item -> {
+                item.setCompanyId(staffVo.getCompanyId());
+                item.setStaffId(staffId);
+                iStaffContractArchivesService.insertByAddBo(item);
+            });
         }
-        return save;
+        return true;
     }
 
     @Override
@@ -188,7 +198,8 @@ public class StaffServiceImpl extends ServiceImpl<StaffMapper, Staff> implements
     private void validEntityBeforeSave(Staff entity) {
         //TODO 做一些数据校验,如唯一约束
         if (ObjectUtil.isNotEmpty(entity.getStaffId())) {
-            this.baseMapper.deleteById(entity.getStaffId());
+            entity.setUpdateTime(DateUtils.getNowTime());
+            this.baseMapper.updateById(entity);
             List<StaffEduBg> staffEduBgList = iStaffEduBgService.list(new LambdaQueryWrapper<StaffEduBg>().eq(StaffEduBg::getStaffId, entity.getStaffId()).eq(StaffEduBg::getStatus, 1));
             if (ObjectUtil.isNotEmpty(staffEduBgList)) {
                 staffEduBgList.forEach(item -> {
@@ -287,7 +298,7 @@ public class StaffServiceImpl extends ServiceImpl<StaffMapper, Staff> implements
 
 
     public Integer getDegreeType(String degree) {
-        //公司类型判断
+        //学历类型判断
         switch (degree) {
             case "小学":
                 return 1;
@@ -310,7 +321,7 @@ public class StaffServiceImpl extends ServiceImpl<StaffMapper, Staff> implements
     }
 
     public Integer getSexType(String sex) {
-        //公司类型判断
+        //性别类型判断
         switch (sex) {
             case "男":
                 return 1;
@@ -321,7 +332,7 @@ public class StaffServiceImpl extends ServiceImpl<StaffMapper, Staff> implements
     }
 
     public Integer getLearnIngType(String learnIngType) {
-        //公司类型判断
+        //学历类型判断
         switch (learnIngType) {
             case "全日制":
                 return 1;
@@ -330,8 +341,9 @@ public class StaffServiceImpl extends ServiceImpl<StaffMapper, Staff> implements
         }
         return null;
     }
+
     public Long getArchivesType(String archivesType) {
-        //公司类型判断
+        //员工合同类型判断
         switch (archivesType) {
             case "劳动合同":
                 return 1L;
@@ -394,7 +406,7 @@ public class StaffServiceImpl extends ServiceImpl<StaffMapper, Staff> implements
                     staff.setCompanyName(company.getCompanyName());
                     staff.setDepartmentName(excelStaffVo.getDepartmentName());
                     List<CompanyDepartment> departments = iCompanyDepartmentService.list(new LambdaQueryWrapper<CompanyDepartment>().eq(CompanyDepartment::getDepartmentName, excelStaffVo.getDepartmentName()).eq(CompanyDepartment::getStatus, 1));
-                    if (ObjectUtil.isNotEmpty(departments)){
+                    if (ObjectUtil.isNotEmpty(departments)) {
                         CompanyDepartment companyDepartment = departments.get(0);
                         staff.setDepartmentId(companyDepartment.getDepartmentId());
                     }

+ 6 - 2
zhongzheng-system/src/main/java/com/zhongzheng/modules/bs/staff/vo/StaffVo.java

@@ -97,6 +97,10 @@ public class StaffVo {
 	@Excel(name = "招聘渠道")
 	@ApiModelProperty("招聘渠道")
 	private String recruitmentChannel;
+	/** 是否内荐 1 是 0 否 */
+	@Excel(name = "是否内荐 1 是 0 否")
+	@ApiModelProperty("是否内荐 1 是 0 否")
+	private Long recommendFlag;
 	/** 参与工作时间 */
 	@Excel(name = "参与工作时间")
 	@ApiModelProperty("参与工作时间")
@@ -112,11 +116,11 @@ public class StaffVo {
 	/** 身份证正面 */
 	@Excel(name = "身份证正面")
 	@ApiModelProperty("身份证正面")
-	private String zCard;
+	private String frontCard;
 	/** 身份证反面 */
 	@Excel(name = "身份证反面")
 	@ApiModelProperty("身份证反面")
-	private String fCard;
+	private String oppositeCard;
 	/** 身份证签发机关 */
 	@Excel(name = "身份证签发机关")
 	@ApiModelProperty("身份证签发机关")

+ 3 - 3
zhongzheng-system/src/main/java/com/zhongzheng/modules/bs/system/domain/BsSysRole.java

@@ -59,7 +59,7 @@ public class BsSysRole implements Serializable
 
     /** 数据范围(1:所有数据权限;2:自定义数据权限;3:本部门数据权限;4:本部门及以下数据权限) */
     @Excel(name = "数据范围", readConverterExp = "1=所有数据权限,2=自定义数据权限,3=本部门数据权限")
-    private int dataScope;
+    private Integer dataScope;
 
     @Value("true")
     /** 菜单树选择项是否关联显示( 0:父子不互相关联显示 1:父子互相关联显示) */
@@ -68,11 +68,11 @@ public class BsSysRole implements Serializable
     /** 角色状态(0正常 1停用) */
     @ApiModelProperty(value ="状态 1=正常,0=停用")
     @Excel(name = "角色状态", readConverterExp = "1=正常,0=停用")
-    private int status;
+    private Integer status;
 
     /** 删除标志(0代表存在 2代表删除) */
     @TableLogic
-    private int delFlag;
+    private Integer delFlag;
 
     /** 创建者 */
     @TableField(fill = FieldFill.INSERT)

+ 25 - 2
zhongzheng-system/src/main/java/com/zhongzheng/modules/goods/service/impl/GoodsServiceImpl.java

@@ -28,6 +28,10 @@ import com.zhongzheng.modules.bank.mapper.QuestionMapper;
 import com.zhongzheng.modules.bank.service.*;
 import com.zhongzheng.modules.base.domain.*;
 import com.zhongzheng.modules.base.service.*;
+import com.zhongzheng.modules.bs.goods.bo.BsUserGoodsCollectionQueryBo;
+import com.zhongzheng.modules.bs.goods.domain.BsUserGoodsCollection;
+import com.zhongzheng.modules.bs.goods.service.IBsUserGoodsCollectionService;
+import com.zhongzheng.modules.bs.goods.vo.BsUserGoodsCollectionVo;
 import com.zhongzheng.modules.course.bo.*;
 import com.zhongzheng.modules.course.domain.*;
 import com.zhongzheng.modules.course.mapper.CourseMapper;
@@ -279,7 +283,8 @@ public class GoodsServiceImpl extends ServiceImpl<GoodsMapper, Goods> implements
     private IActivityGoodsPriceService iActivityGoodsPriceService;
     @Autowired
     private IOrderBusinessConfigGoodsService iOrderBusinessConfigGoodsService;
-
+    @Autowired
+    private IBsUserGoodsCollectionService iBsUserGoodsCollectionService;
 
     @Value("${oldStudySys.educationalInspector}")
     private String INFORM_PATH;
@@ -542,6 +547,15 @@ public class GoodsServiceImpl extends ServiceImpl<GoodsMapper, Goods> implements
                 bo.setStatus(new ArrayList<Integer>() {{
                     add(1);
                 }});
+                BsUserGoodsCollectionQueryBo bsUserGoodsCollection = new BsUserGoodsCollectionQueryBo();
+                bsUserGoodsCollection.setConfigId(item.getConfigId());
+                bsUserGoodsCollection.setStatus(1);
+                BsUserGoodsCollection bsUserGoodsCollectionVo = iBsUserGoodsCollectionService.selectById(bsUserGoodsCollection);
+                if (ObjectUtil.isEmpty(bsUserGoodsCollectionVo)){
+                    item.setCollectStatus(0);
+                }else {
+                    item.setCollectStatus(bsUserGoodsCollectionVo.getCollectStatus());
+                }
                 List<Long> collect1 = longs.stream().distinct().collect(Collectors.toList());
                 bo.setGoodsType(null);
                 bo.setGoodsIds(collect1);
@@ -561,7 +575,7 @@ public class GoodsServiceImpl extends ServiceImpl<GoodsMapper, Goods> implements
                                     listByIDs.forEach(courseSubject -> {
                                         courseSubject.setGoodsId(goodsVo.getGoodsId());
                                         courseSubject.setGoodsType(goodsVo.getGoodsType());
-                                        if (Validator.isNotEmpty(goodsVo.getGoodsType())&&goodsVo.getGoodsType()==6){
+                                        if (Validator.isNotEmpty(goodsVo.getGoodsType()) && goodsVo.getGoodsType() == 6) {
                                             GoodsAttachedQueryBo goodsAttached = new GoodsAttachedQueryBo();
                                             goodsAttached.setGoodsId(goodsVo.getGoodsId());
                                         }
@@ -645,6 +659,15 @@ public class GoodsServiceImpl extends ServiceImpl<GoodsMapper, Goods> implements
     @Override
     public GoodsVo selectDetail(Long goodsId) {
         GoodsVo goodsVo = baseMapper.selectDetail(goodsId);
+        BsUserGoodsCollectionQueryBo bsUserGoodsCollection = new BsUserGoodsCollectionQueryBo();
+        bsUserGoodsCollection.setGoodsId(goodsId);
+        bsUserGoodsCollection.setStatus(1);
+        BsUserGoodsCollection bsUserGoodsCollectionVo = iBsUserGoodsCollectionService.selectById(bsUserGoodsCollection);
+        if(ObjectUtil.isEmpty(bsUserGoodsCollectionVo)){
+            goodsVo.setCollectStatus(0);
+        }else {
+            goodsVo.setCollectStatus(bsUserGoodsCollectionVo.getCollectStatus());
+        }
 //        if (ObjectUtils.isNull(goodsVo.getSpecTemplateId()) ||
 //                goodsSpecTemplateService.count(new LambdaQueryWrapper<GoodsSpecTemplate>()
 //                        .eq(GoodsSpecTemplate::getSpecTemplateId,goodsVo.getSpecTemplateId())

+ 1 - 0
zhongzheng-system/src/main/java/com/zhongzheng/modules/goods/vo/CompanyGoodsVo.java

@@ -211,4 +211,5 @@ public class CompanyGoodsVo {
 	private Integer viewSign;
 	@ApiModelProperty("寄件标签:1是 0否")
 	private Integer mailSign;
+	private Integer collectStatus;
 }

+ 1 - 0
zhongzheng-system/src/main/java/com/zhongzheng/modules/goods/vo/GoodsVo.java

@@ -406,4 +406,5 @@ public class GoodsVo {
 	private Integer viewSign;
 	@ApiModelProperty("寄件标签:1是 0否")
 	private Integer mailSign;
+	private Integer collectStatus;
 }

+ 1 - 0
zhongzheng-system/src/main/java/com/zhongzheng/modules/order/vo/CompanyOrderBusinessConfigGoodsVo.java

@@ -59,5 +59,6 @@ public class CompanyOrderBusinessConfigGoodsVo {
 	@Excel(name = "配置名称")
 	@ApiModelProperty("配置名称")
 	private String configName;
+	private Integer collectStatus;
 	private List<CourseSubject> courseSubjectList;
 }

+ 6 - 4
zhongzheng-system/src/main/resources/mapper/modules/staff/StaffMapper.xml

@@ -23,11 +23,12 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
         <result property="position" column="position"/>
         <result property="positionStatus" column="position_status"/>
         <result property="recruitmentChannel" column="recruitment_channel"/>
+        <result property="recommendFlag" column="recommend_flag"/>
         <result property="workDate" column="work_date"/>
         <result property="entryDate" column="entry_date"/>
         <result property="leaveDate" column="leave_date"/>
-        <result property="zCard" column="z_card"/>
-        <result property="fCard" column="f_card"/>
+        <result property="frontCard" column="front_card"/>
+        <result property="oppositeCard" column="opposite_card"/>
         <result property="issuingOrganization" column="issuing_organization"/>
         <result property="startDate" column="Start_date"/>
         <result property="endDate" column="end_date"/>
@@ -59,11 +60,12 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
         <result property="position" column="position"/>
         <result property="positionStatus" column="position_status"/>
         <result property="recruitmentChannel" column="recruitment_channel"/>
+        <result property="recommendFlag" column="recommend_flag"/>
         <result property="workDate" column="work_date"/>
         <result property="entryDate" column="entry_date"/>
         <result property="leaveDate" column="leave_date"/>
-        <result property="zCard" column="z_card"/>
-        <result property="fCard" column="f_card"/>
+        <result property="frontCard" column="front_card"/>
+        <result property="oppositeCard" column="opposite_card"/>
         <result property="issuingOrganization" column="issuing_organization"/>
         <result property="startDate" column="Start_date"/>
         <result property="endDate" column="end_date"/>