Merge remote-tracking branch 'xfsg/cc_partner_init' into cc_partner_init

This commit is contained in:
苏竹红
2024-05-09 17:05:54 +08:00
17 changed files with 105 additions and 48 deletions

View File

@@ -1,13 +1,16 @@
package com.cool.store.dao;
import com.cool.store.entity.AssessmentDataDO;
import com.cool.store.entity.EmployeeTrainingDO;
import com.cool.store.mapper.EmployeeTrainingMapper;
import com.cool.store.vo.EmployeeTrainingVO;
import lombok.extern.slf4j.Slf4j;
import org.apache.ibatis.annotations.Param;
import org.springframework.stereotype.Repository;
import tk.mybatis.mapper.entity.Example;
import javax.annotation.Resource;
import java.util.ArrayList;
import java.util.List;
/**
@@ -64,4 +67,14 @@ public class EmployeeTrainingDAO {
return employeeTrainingMapper.assessmentUserList(name, practicalAssessmentUserId, assessmentStatus, estimatedAssessmentBeginTime,
estimatedAssessmentEndTime, actualAssessmentBeginTime, actualAssessmentEndTime);
}
public List<EmployeeTrainingDO> theoreticalList() {
List<Integer> statusList = new ArrayList<>();
statusList.add(2);
statusList.add(3);
Example example = new Example(EmployeeTrainingDO.class);
example.createCriteria().andCondition("assessment_num = assessment_total_num").andEqualTo("theoretical_exam_status", 0)
.andIn("assessment_status", statusList);
return employeeTrainingMapper.selectByExample(example);
}
}

View File

@@ -115,6 +115,7 @@
u.shop_id as shopId,
s.shop_name as shopName,
u.id_card as idCard,
u.register_time as registerTime,
e.id as employeeTrainingId,
e.training_store_id as trainingStoreId,
e.training_teacher_user_id as trainingTeacherUserId,

View File

@@ -37,7 +37,7 @@
</select>
<sql id="Base_Column_List">
id,shop_id,audit_type,submitted_user_id,submitted_user_name,result_type,pass_reason,reject_reason,
certify_file,create_time,update_time,deleted
certify_file,create_time,update_time,deleted,data_type
</sql>
<select id="selectAuditIdByShopId" resultType="java.lang.Long">
select

View File

@@ -145,7 +145,7 @@
actual_complete_time = #{shopStageInfoDO.actualCompleteTime},
</if>
</set>
where shop_id = #{shopStageInfoDO.shopId}
where shop_id = #{shopStageInfoDO.shopId} AND shop_sub_stage = #{shopStageInfoDO.shopSubStage}
</update>

View File

@@ -63,7 +63,7 @@ public class EmployeeTrainingVO {
@ApiModelProperty("实操考试分值")
private Integer practicalExamScore;
@ApiModelProperty("考核状态 0-培训中 1-带考核 2-考核通过 3-考核不通过")
@ApiModelProperty("考核状态 -1 未开始 0-培训中 1-带考核 2-考核通过 3-考核不通过")
private Integer assessmentStatus;

View File

@@ -22,11 +22,11 @@ public class DecorationStageVO {
private Integer shopSubStageStatus;
@ApiModelProperty("创建时间")
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
private Date creatTime;
private Date createDate;
@ApiModelProperty("计划开始时间")
private String planBeginTime;
private String planBeginDate;
@ApiModelProperty("计划结束时间")
private String planEndTime;
private String planEndTDate;
@ApiModelProperty("实际完成时间")
private String actualEndTime;
private String actualEndDate;
}

View File

@@ -5,6 +5,7 @@ import com.cool.store.request.LicenseListRequest;
import com.cool.store.request.SubmitLicenseRequest;
import com.cool.store.response.LicenseListResponse;
import com.cool.store.response.SubmitLicenseResponse;
import com.cool.store.vo.PartnerUserInfoVO;
import com.github.pagehelper.PageInfo;
public interface ApplyLicenseService {
@@ -13,7 +14,7 @@ public interface ApplyLicenseService {
* @param request
* @return
*/
Boolean submitLicense(SubmitLicenseRequest request, LoginUserInfo user);
Boolean submitLicense(SubmitLicenseRequest request, PartnerUserInfoVO user);
/**
* 获取默认值

View File

@@ -52,7 +52,7 @@ public interface DecorationService {
* @Date: 2024/4/28
* @description:提交装修款付款凭证
*/
String submitDecorationModel(LinePaySubmitRequest LinePaySubmitRequest, PartnerUserInfoVO partnerUserInfoVO);
Boolean submitDecorationModel(LinePaySubmitRequest LinePaySubmitRequest, PartnerUserInfoVO partnerUserInfoVO);
/**
* @Auther: wangshuo

View File

@@ -25,6 +25,7 @@ import com.cool.store.service.RegionService;
import com.cool.store.utils.StringUtil;
import com.cool.store.utils.poi.StringUtils;
import com.cool.store.utils.poi.constant.Constants;
import com.cool.store.vo.PartnerUserInfoVO;
import com.cool.store.vo.ShopAuditInfoVO;
import com.github.pagehelper.PageHelper;
import com.github.pagehelper.PageInfo;
@@ -79,7 +80,7 @@ public class ApplyLicenseServiceImpl implements ApplyLicenseService {
@Override
@Transactional(rollbackFor = Exception.class)
public Boolean submitLicense(SubmitLicenseRequest request,LoginUserInfo user) {
public Boolean submitLicense(SubmitLicenseRequest request, PartnerUserInfoVO user) {
log.info("submitLicense request{}", JSONObject.toJSONString(request));
if (Objects.isNull(request)) {
return false;
@@ -95,8 +96,8 @@ public class ApplyLicenseServiceImpl implements ApplyLicenseService {
ShopAuditInfoDO shopAuditInfoDO = new ShopAuditInfoDO();
shopAuditInfoDO.setShopId(request.getShopId());
shopAuditInfoDO.setAuditType(AuditTypeEnum.LICENSE_APPROVAL.getCode());
shopAuditInfoDO.setSubmittedUserId(user.getUserId());
shopAuditInfoDO.setSubmittedUserName(user.getName());
shopAuditInfoDO.setSubmittedUserId(user.getOpenid());
shopAuditInfoDO.setSubmittedUserName(user.getUsername());
shopAuditInfoDO.setDataType(0);
shopAuditInfoMapper.insertSelective(shopAuditInfoDO);
shopStageInfoDAO.updateShopStageAndAuditInfo(request.getShopId(), ShopSubStageStatusEnum.SHOP_SUB_STAGE_STATUS_41, null);

View File

@@ -153,8 +153,13 @@ public class DecorationServiceImpl implements DecorationService {
}
DecorationStageVO decorationStageVO = new DecorationStageVO();
decorationStageVO.setShopSubStageStatus(shopSubStageInfo.getShopSubStageStatus());
decorationStageVO.setPlanBeginTime(shopSubStageInfo.getPlanCompleteTime());
decorationStageVO.setActualEndTime(shopSubStageInfo.getActualCompleteTime());
decorationStageVO.setPlanEndTDate(shopSubStageInfo.getPlanCompleteTime());
decorationStageVO.setActualEndDate(shopSubStageInfo.getActualCompleteTime());
LinePayVO linePayInfo = linePayService.
getLinePayInfo(shopSubStageInfo.getLineId(), PayBusinessTypeEnum.DECORATION_MODEL.getCode(), shopId);
if (Objects.nonNull(linePayInfo)) {
decorationStageVO.setCreateDate(linePayInfo.getCreateTime());
}
return decorationStageVO;
}
@@ -193,7 +198,7 @@ public class DecorationServiceImpl implements DecorationService {
@Transactional(rollbackFor = Exception.class)
@Override
public String submitDecorationModel(LinePaySubmitRequest request, PartnerUserInfoVO partnerUserInfoVO) {
public Boolean submitDecorationModel(LinePaySubmitRequest request, PartnerUserInfoVO partnerUserInfoVO) {
DecorationDTO decoration = getDecorationDTO(request.getShopId());
if (decoration == null) {
log.error("拉取云立方接口获取数据为空");
@@ -208,8 +213,8 @@ public class DecorationServiceImpl implements DecorationService {
shopStageInfoDAO.updateShopStageInfo(request.getShopId(), ShopSubStageStatusEnum.SHOP_SUB_STAGE_STATUS_101);
}
request.setPayBusinessType(PayBusinessTypeEnum.DECORATION_MODEL.getCode());
Long payId = linePayService.submitPayInfo(request, partnerUserInfoVO);
return payId.toString();
linePayService.submitPayInfo(request, partnerUserInfoVO);
return Boolean.TRUE;
}
@Override
@@ -456,26 +461,23 @@ public class DecorationServiceImpl implements DecorationService {
List<LineInfoDO> lineInfos = lineInfoMapper.getByLineIds(lineIds);
Map<Long, LineInfoDO> lineInfoDOMap = lineInfos.stream().collect(Collectors.toMap(LineInfoDO::getId, dto -> dto));
//招商name
List<String> InvestmentManagerIds = lineInfos.stream().map(LineInfoDO::getInvestmentManager).collect(Collectors.toList());
List<UserNameDTO> nameByUserId = enterpriseUserDAO.getNameByUserId(InvestmentManagerIds);
Map<String, UserNameDTO> vonameMap = nameByUserId.stream()
.collect(Collectors.toMap(UserNameDTO::getUserId, vo -> vo));
List<String> userIds = new ArrayList<>();
userIds.addAll(lineInfos.stream().filter(o -> o.getInvestmentManager() != null)
.map(LineInfoDO::getInvestmentManager).distinct().collect(Collectors.toList()));
//选址人员拓展经理name
List<String> setterIds = lineInfos.stream().map(LineInfoDO::getDevelopmentManager).collect(Collectors.toList());
List<UserNameDTO> setterName = enterpriseUserDAO.getNameByUserId(setterIds);
Map<String, UserNameDTO> setterNameMap = setterName.stream()
.collect(Collectors.toMap(UserNameDTO::getUserId, vo -> vo));
userIds.addAll(lineInfos.stream().filter(o -> o.getDevelopmentManager() != null)
.map(LineInfoDO::getDevelopmentManager).distinct().collect(Collectors.toList()));
Map<String, String> userNameMap = enterpriseUserDAO.getUserNameMap(userIds);
//所属战区
List<Long> regionIds = shopInfoDOS.stream().map(ShopInfoDO::getRegionId).collect(Collectors.toList());
List<Long> regionIds = shopInfoDOS.stream().filter(o -> o.getRegionId() != null).
map(ShopInfoDO::getRegionId).distinct().collect(Collectors.toList());
Map<Long, String> regionNameMap = regionService.getBelongWarRegionNameMap(regionIds);
//战区经理name
Map<Long, String> fightManger = new HashMap<>();
for (Long regionId : regionIds) {
String fightMangerUserId = sysRoleService.getUserIdByRegionIdWithRolePriority(regionId, Arrays.asList(UserRoleEnum.THEATER_MANAGER));
List<UserNameDTO> fightMangerName = enterpriseUserDAO.getNameByUserId(Arrays.asList(fightMangerUserId));
if (!fightMangerName.isEmpty()) {
fightManger.put(regionId, fightMangerName.get(CommonConstants.ZERO).getName());
}
String userName = enterpriseUserDAO.getUserName(fightMangerUserId);
fightManger.put(regionId, userName);
}
//施工计划完成时间 //施工实际完成实际//验收状态//计划验收时间//验收实际时间
Map<Long, ShopStageInfoDO> ShopStageInfoDOMap = new HashMap<>();
@@ -483,7 +485,6 @@ public class DecorationServiceImpl implements DecorationService {
ShopStageInfoDO shopSubStageInfo = shopStageInfoDAO.getShopSubStageInfo(shopId, ShopSubStageEnum.SHOP_STAGE_12);
ShopStageInfoDOMap.put(shopId, shopSubStageInfo);
}
for (ShopInfoDO shopInfoDO : shopInfoDOS) {
fitmentCheckVO fitmentCheckVO = new fitmentCheckVO();
fitmentCheckVO.setShopId(shopInfoDO.getId());
@@ -492,15 +493,16 @@ public class DecorationServiceImpl implements DecorationService {
fitmentCheckVO.setLineId(shopInfoDO.getLineId());
fitmentCheckVO.setRegionId(shopInfoDO.getRegionId());
fitmentCheckVO.setRegion(regionNameMap.get(shopInfoDO.getRegionId()));
fitmentCheckVO.setFightManager(fightManger.get(shopInfoDO.getRegionId()));
if (shopInfoDO.getLineId() != null) {
fitmentCheckVO.setInvestmentManagerId(lineInfoDOMap.get(shopInfoDO.getLineId())
.getInvestmentManager());
fitmentCheckVO.setInvestmentManager(vonameMap.get(lineInfoDOMap.get(shopInfoDO.getLineId())
.getInvestmentManager()).getName());
fitmentCheckVO.setInvestmentManager(userNameMap.get(lineInfoDOMap.get(shopInfoDO.getLineId())
.getInvestmentManager()));
fitmentCheckVO.setSitterId(lineInfoDOMap.get(shopInfoDO.getLineId())
.getDevelopmentManager());
fitmentCheckVO.setSitterName(setterNameMap.get(lineInfoDOMap.get(shopInfoDO.getLineId())
.getDevelopmentManager()).getName());
fitmentCheckVO.setSitterName(userNameMap.get(lineInfoDOMap.get(shopInfoDO.getLineId())
.getDevelopmentManager()));
fitmentCheckVO.setPartnerName(lineInfoDOMap.get(shopInfoDO.getLineId()).getUsername());
}
if (shopInfoDO.getId() != null) {
@@ -512,9 +514,8 @@ public class DecorationServiceImpl implements DecorationService {
Date PlanAcceptanceTime = CoolDateUtils.parseDate(ShopStageInfoDOMap.get(shopInfoDO.getId()).getPlanCompleteTime(), CoolDateUtils.DATE_FORMAT_DAY);
fitmentCheckVO.setPlanAcceptanceTime(PlanAcceptanceTime);
fitmentCheckVO.setShopSubStageStatus(ShopStageInfoDOMap.get(shopInfoDO.getId()).getShopSubStageStatus());
}
}
}
fitmentCheckVOList.add(fitmentCheckVO);
}
pageInfo.setList(fitmentCheckVOList);
@@ -591,7 +592,9 @@ public class DecorationServiceImpl implements DecorationService {
shopStageInfoDAO.updateShopStageInfo(request.getShopId(), ShopSubStageStatusEnum.SHOP_SUB_STAGE_STATUS_121);
ShopStageInfoDO newShopStageInfoDO = new ShopStageInfoDO();
CoolDateUtils.parseDate(request.getBookingAcceptanceTime().toString(), CoolDateUtils.DATE_FORMAT_SEC);
newShopStageInfoDO.setPlanCompleteTime(request.getBookingAcceptanceTime().toString());
newShopStageInfoDO.setShopSubStage(ShopSubStageEnum.SHOP_STAGE_12.getShopSubStage());
newShopStageInfoDO.setShopId(request.getShopId());
shopStageInfoDAO.updateByShopId(newShopStageInfoDO);
return Boolean.TRUE;

View File

@@ -265,7 +265,10 @@ public class EmployeeTrainingServiceImpl implements EmployeeTrainingService {
list.forEach(item -> {
item.setTrainingStoreName(storeNameMap.get(item.getTrainingStoreId()));
item.setRegionNodeName(regionNameMap.get(item.getRegionId()));
if(item.getAssessmentStatus() == null){
//培训未开始
item.setAssessmentStatus(-1);
}
});
return list;
}

View File

@@ -116,7 +116,7 @@ public class TempUserDetailServiceImpl implements TempUserDetailService {
tempUserDetailDO.setIdCardNegativeUrl(tempUserDetailRequest.getEmblemPhoto());
tempUserDetailDO.setIdCardPositiveUrl(tempUserDetailRequest.getIdNumPhoto());
tempUserDetailDO.setHealthCertificateUrl(tempUserDetailRequest.getHealthCertificate());
tempUserDetailDO.setRegisterTime(new Date());
tempUserDetailDO.setRegisterTime(tempUserDetailRequest.getRegisterTime());
tempUserDetailDO.setSubmitTime(new Date());
tempUserDetailDO.setSource("create");
tempUserDetailDAO.insertSelective(tempUserDetailDO);

View File

@@ -159,7 +159,7 @@ public class VodServiceImpl implements VodService {
smallVideoDTO.setVideoUrlBefore(smallVideoDTO.getVideoUrlBefore().replace("http://", "https://"));
}
SmallVideoParam smallVideoParam = JSONObject.parseObject(notCompleteCache, SmallVideoParam.class);
if (UploadTypeEnum.TB_DATA_STA_TABLE_COLUMN.getValue().equals(smallVideoParam.getUploadType())) {
if (UploadTypeEnum.ASSESSMENT_DATA_CONTENT.getValue().equals(smallVideoParam.getUploadType())) {
//检查项提交
dealVideo(smallVideoDTO, smallVideoParam);
//保存完删除缓存

View File

@@ -65,9 +65,9 @@ public class PCDecorationController {
}
@ApiOperation("获取验收列表三方验收1200待预约1210 待验收1220验收中1230已验收视觉验收1300待验收,1310验收不通过,1320验收通过")
@GetMapping("/getAcceptanceList")
public ResponseResult<PageInfo<fitmentCheckVO>> getAcceptanceList(@RequestParam Integer status, @RequestParam Integer pageNum,@RequestParam Integer pageSize){
public ResponseResult<PageInfo<fitmentCheckVO>> getAcceptanceList(@RequestParam Integer subStageStatus, @RequestParam Integer pageNum,@RequestParam Integer pageSize){
LoginUserInfo user = CurrentUserHolder.getUser();
return ResponseResult.success(decorationService.getFitmentAcceptanceList(status,user,pageNum,pageSize));
return ResponseResult.success(decorationService.getFitmentAcceptanceList(subStageStatus,user,pageNum,pageSize));
}
@ApiOperation("预约验收")
@PostMapping("/bookingAcceptance")

View File

@@ -2,11 +2,13 @@ package com.cool.store.controller.webc;
import com.cool.store.context.CurrentUserHolder;
import com.cool.store.context.LoginUserInfo;
import com.cool.store.context.PartnerUserHolder;
import com.cool.store.request.SubmitLicenseRequest;
import com.cool.store.response.ResponseResult;
import com.cool.store.response.SubmitLicenseResponse;
import com.cool.store.service.ApplyLicenseService;
import com.cool.store.service.CoolStoreStartFlowService;
import com.cool.store.vo.PartnerUserInfoVO;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import lombok.extern.slf4j.Slf4j;
@@ -30,7 +32,7 @@ public class ApplyLicenseController {
@ApiOperation("证照办理提交")
@PostMapping("/submit")
public ResponseResult submitLicense(@RequestBody SubmitLicenseRequest request) {
LoginUserInfo user = CurrentUserHolder.getUser();
PartnerUserInfoVO user = PartnerUserHolder.getUser();
return ResponseResult.success(applyLicenseService.submitLicense(request,user));
}

View File

@@ -54,7 +54,7 @@ public class MiniDecorationController {
}
@PostMapping("/submitDecorationModel")
@ApiOperation("提交装修款")
public ResponseResult submitDecorationModel(@RequestBody LinePaySubmitRequest linePaySubmitRequest){
public ResponseResult<Boolean> submitDecorationModel(@RequestBody LinePaySubmitRequest linePaySubmitRequest){
return ResponseResult.success(decorationService.submitDecorationModel(linePaySubmitRequest, PartnerUserHolder.getUser()));
}
@ApiOperation("获取装修款信息,和二维码")

View File

@@ -4,13 +4,11 @@ import cn.hutool.core.date.DateUtil;
import com.alibaba.fastjson.JSONObject;
import com.cool.store.constants.CommonConstants;
import com.cool.store.dao.*;
import com.cool.store.dto.StaffExamInfoDTO;
import com.cool.store.dto.decoration.ConstructionScheduleDTO;
import com.cool.store.dto.openPreparation.OpenPlanShopInfoDTO;
import com.cool.store.dto.xfsgFirstOderDTO;
import com.cool.store.entity.AcceptanceInfoDO;
import com.cool.store.entity.LeaseBaseInfoDO;
import com.cool.store.entity.LineInterviewDO;
import com.cool.store.entity.ShopStageInfoDO;
import com.cool.store.entity.*;
import com.cool.store.enums.*;
import com.cool.store.enums.point.ShopSubStageEnum;
import com.cool.store.enums.point.ShopSubStageStatusEnum;
@@ -23,6 +21,7 @@ import com.cool.store.response.xfsgFirstOderListResponse;
import com.cool.store.service.CoolStoreStartFlowService;
import com.cool.store.service.DecorationService;
import com.cool.store.service.PreparationService;
import com.cool.store.service.XfsgEhrService;
import com.cool.store.service.impl.CommonService;
import com.cool.store.utils.poi.DateUtils;
import com.cool.store.utils.poi.StringUtils;
@@ -76,6 +75,14 @@ public class XxlJobHandler {
private DecorationService decorationService;
@Resource
private CommonService commonService;
@Resource
private EmployeeTrainingDAO employeeTrainingDAO;
@Resource
private XfsgEhrService xfsgEhrService;
@Resource
private TempUserDetailDAO tempUserDetailDAO;
@Resource
private EnterpriseUserDAO enterpriseUserDAO;
/**
* 每天都将待体验门店信息变更到体验中
@@ -266,4 +273,30 @@ public class XxlJobHandler {
XxlJobHelper.handleSuccess();
}
@XxlJob("theoreticalExam")
public void theoreticalExam() {
log.info("------理论考试更新------");
List<EmployeeTrainingDO> theoreticalList = employeeTrainingDAO.theoreticalList();
if (CollectionUtils.isEmpty(theoreticalList)) {
log.info("------今日没有待更新数据------");
return;
}
for (EmployeeTrainingDO employeeTrainingDO : theoreticalList) {
TempUserDetailDO tempUserDetailDO = tempUserDetailDAO.selectById(employeeTrainingDO.getXfsgUserDetailId());
EnterpriseUserDO enterpriseUserDO = enterpriseUserDAO.getUserInfoByThirdOaUniqueFlag(tempUserDetailDO.getIdCard());
//查询理论分支并更新
StaffExamInfoDTO staffExamInfoDTO = xfsgEhrService.getUserExamInfo(enterpriseUserDO.getJobnumber());
if (staffExamInfoDTO != null && StringUtils.isNotBlank(staffExamInfoDTO.getExamResult())
&& StringUtils.isNotBlank(staffExamInfoDTO.getExamScore())) {
employeeTrainingDO.setTheoreticalExamScore(StringUtils.isNotBlank(staffExamInfoDTO.getExamScore()) ? Integer.valueOf(staffExamInfoDTO.getExamScore()) : null);
employeeTrainingDO.setTheoreticalExamStatus(ExamStatusEnum.matchCodeByDesc(staffExamInfoDTO.getExamResult()));
employeeTrainingDAO.updateByPrimaryKeySelective(employeeTrainingDO);
}
}
XxlJobHelper.handleSuccess();
}
}