提交 c6bd7240 作者: 恶龙咆哮

Merge remote-tracking branch 'origin/develop' into develop

流水线 #8136 已通过 于阶段
in 3 分 2 秒
stages:
- clean
- dockerbuild
- kustomize_tag_push
variables:
REGION_id: cn-shenzhen
REGISTRY: mmc-registry.cn-shenzhen.cr.aliyuncs.com
IMAGE: ims
TAG: $CI_COMMIT_SHA
ACR_EE_USERNAME: QD--KeBiTeHangKong@1354706964800968
ACR_EE_PASSWORD: MMC@2023&ACR
ACR_EE_REGISTRY: mmc-registry.cn-shenzhen.cr.aliyuncs.com
ACR_EE_INSTANCE_ID: cri-yhk5zgfc2v1sia6l
ACR_EE_IMAGE: ims
ACR_EE_TAG: $CI_COMMIT_SHA
JAVA_VERSION: '8'
GITLAB_URL: https://oauth2:MjVJKxB7m4tCy7symBzn@git.mmcuav.cn/iuav/ims.git
mvn_clean:
stage: clean
script:
- echo "情理中..."
- mvn clean -B -Dmaven.test.skip=true --settings /usr/local/maven/conf/settings.xml
docker_build_dev:
stage: dockerbuild
variables:
NAMESPACE: sharefly-dev
ACR_EE_NAMESPACE: sharefly-dev
only:
- develop
script:
- echo "dev docker build"
- echo $ACR_EE_USERNAME
- echo $ACR_EE_REGISTRY
- mvn package -Dmaven.test.skip=true --settings /usr/local/maven/conf/settings.xml
- docker login -u $ACR_EE_USERNAME -p 'MMC@2023&ACR' $ACR_EE_REGISTRY
- docker build -t ${ACR_EE_REGISTRY}/${ACR_EE_NAMESPACE}/${ACR_EE_IMAGE}:${TAG} .
- docker push "${ACR_EE_REGISTRY}/${ACR_EE_NAMESPACE}/${ACR_EE_IMAGE}:${TAG}"
- docker logout
docker_build_prod:
stage: dockerbuild
variables:
NAMESPACE: sharefly
ACR_EE_NAMESPACE: sharefly
only:
- master
script:
- echo "prod docker build"
- echo $ACR_EE_USERNAME
- echo $ACR_EE_REGISTRY
- mvn package -Dmaven.test.skip=true --settings /usr/local/maven/conf/settings.xml
- docker login -u $ACR_EE_USERNAME -p 'MMC@2023&ACR' $ACR_EE_REGISTRY
- docker build -t ${ACR_EE_REGISTRY}/${ACR_EE_NAMESPACE}/${ACR_EE_IMAGE}:${TAG} .
- docker push "${ACR_EE_REGISTRY}/${ACR_EE_NAMESPACE}/${ACR_EE_IMAGE}:${TAG}"
- docker logout
kustomize_set_image_dev:
stage: kustomize_tag_push
variables:
NAMESPACE: sharefly-dev
ACR_EE_NAMESPACE: sharefly-dev
only:
- develop
before_script:
- echo "dev set image"
- git config --global user.name "bax" #配置本地仓库用户名信息
- git config --global user.email "baoaxin1999@163.com" #配置本地仓库邮箱信息
script:
- git remote -v
- git checkout -B develop
- cd kustomization/overlays/dev
- kustomize edit set image REGISTRY/NAMESPACE/IMAGE:TAG=$REGISTRY/$NAMESPACE/$IMAGE:$TAG
- cat kustomization.yaml
- git remote set-url origin "$GITLAB_URL"
- git commit -am '[skip ci] DEV image update' #git 本地提交,注意“skip ci”为gitlab流水线文件内置关键字,作用为跳过ci流水线操作,未设置可能导致流水线进入死循环
- git push --set-upstream origin develop #重新提交修改镜像版本后的代码
kustomize_set_image_prod:
stage: kustomize_tag_push
variables:
NAMESPACE: sharefly
ACR_EE_NAMESPACE: sharefly
only:
- master
before_script:
- echo "prod set image"
- echo "master"
- git config --global user.name "bax" #配置本地仓库用户名信息
- git config --global user.email "baoaxin1999@163.com" #配置本地仓库邮箱信息
script:
- git remote -v
- git checkout -B master
- cd kustomization/overlays/prod
- kustomize edit set image REGISTRY/NAMESPACE/IMAGE:TAG=$REGISTRY/$NAMESPACE/$IMAGE:$TAG
- cat kustomization.yaml
- git remote set-url origin "$GITLAB_URL"
- git commit -am '[skip ci] DEV image update' #git 本地提交,注意“skip ci”为gitlab流水线文件内置关键字,作用为跳过ci流水线操作,未设置可能导致流水线进入死循环
- git push --set-upstream origin master #重新提交修改镜像版本后的代码
......@@ -41,7 +41,11 @@
<artifactId>commons-lang</artifactId>
<version>2.6</version>
</dependency>
<dependency>
<groupId>com.alibaba.fastjson2</groupId>
<artifactId>fastjson2</artifactId>
<version>2.0.29</version>
</dependency>
<dependency>
<groupId>org.hibernate.validator</groupId>
<artifactId>hibernate-validator</artifactId>
......
......@@ -32,4 +32,8 @@ public class RequirementsAmountUpdateDTO {
@ApiModelProperty(value = "服务需求id", required = true)
private Integer requirementsInfoId;
@ApiModelProperty(value = "图片地址", example = "http://")
private String url;
}
......@@ -11,6 +11,7 @@ import lombok.NoArgsConstructor;
import javax.validation.constraints.NotBlank;
import javax.validation.constraints.NotNull;
import java.math.BigDecimal;
import java.util.List;
/**
* @Author small
......@@ -65,4 +66,19 @@ public class ServiceOrderFormDTO {
@ApiModelProperty(value = "等待状态", example = "等待状态")
private String waiting;
@ApiModelProperty(value = "父订单id")
private Integer fatherRequireId;
@ApiModelProperty(value = "子订单详情")
private List<ServiceOrderFormDTO> childrenRequire;
@ApiModelProperty(value = "发布者基本信息")
private UserBaseInfoDTO orderRelease;
@ApiModelProperty(value = "接单人基本信息")
private UserBaseInfoDTO orderReceive;
@ApiModelProperty(value = "订单项目号")
private String projectCode;
}
......@@ -116,4 +116,13 @@ public class ServiceOrderFormDetailsDTO {
@ApiModelProperty(value = "1:双方无责 2:发布者责任 3:飞手责任")
private Integer duty;
@ApiModelProperty(value = "订单对应的项目号")
private String projectCode;
@ApiModelProperty(value = "二级服务id")
private Integer inspectionId;
@ApiModelProperty(value = "二级服务名称")
private String inspectionName;
}
package com.mmc.csf.infomation.dto;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;
import java.io.Serializable;
/**
* @author han
*/
@Data
@AllArgsConstructor
@NoArgsConstructor
public class TeamMessageDO{
/**
* 飞手ID
*/
private Integer pilotId;
/**
* 飞手的用户ID
*/
private Integer pilotUserId;
/**
* 飞手的团队管理员ID
*/
private Integer pilotMessageId;
}
package com.mmc.csf.infomation.dto;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
import java.io.Serializable;
/**
* @author Admin
*/
@Data
@NoArgsConstructor
@AllArgsConstructor
public class UserBaseInfoDTO implements Serializable {
private Integer userAccountId;
private String userName;
private String phoneNum;
private String nickName;
}
package com.mmc.csf.infomation.qo;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiModelProperty;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
import javax.validation.constraints.NotNull;
/**
* @author 张培
*/
......@@ -16,9 +17,10 @@ public class AgreeOrRefusePilotQO {
@ApiModelProperty(value = "订单id")
private Integer requireInfoId;
@ApiModelProperty(value = "同意传2 进入飞手到达现场 拒绝传 11")
@ApiModelProperty(value = "同意传2 进入飞手到达现场 拒绝传 1")
private Integer serviceFlowId;
@ApiModelProperty(value = "接单飞手的user_id")
@ApiModelProperty(value = "接单飞手的user_id",required = true)
@NotNull(message = "飞手id不能为空")
private Integer pilotCertificationUserId;
}
......@@ -54,6 +54,10 @@ public class IndustryCaseQO implements Serializable {
@Min(value = 1, groups = Page.class)
private Integer pageSize;
@ApiModelProperty(value = "是否是热点新闻")
private Integer isHot;
public void buildCurrentPage() {
this.pageNo = (pageNo - 1) * pageSize;
}
......
......@@ -40,6 +40,9 @@ public class IndustryNewsQO implements Serializable {
@Min(value = 1, groups = Page.class)
private Integer pageSize;
@ApiModelProperty(value = "是否是热点新闻")
private Integer isHot;
public void buildCurrentPage() {
this.pageNo = (pageNo - 1) * pageSize;
}
......
package com.mmc.csf.infomation.qo;
import com.fasterxml.jackson.annotation.JsonIgnore;
import com.mmc.csf.release.model.group.Freeze;
import com.mmc.csf.release.model.group.Page;
import io.swagger.annotations.ApiModelProperty;
......@@ -40,6 +41,8 @@ public class MyPublishQO {
@ApiModelProperty(value = "描述",example = "hh")
private String requireDescription;
@JsonIgnore
private int type;
public void buildCurrentPage() {
this.pageNo = (pageNo - 1) * pageSize;
}
......
package com.mmc.csf.infomation.qo;
import io.swagger.annotations.ApiModelProperty;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
/**
* @author Admin
*/
@Data
@AllArgsConstructor
@NoArgsConstructor
public class RequirementsInfoQO {
@ApiModelProperty(value = "是否按时间排序",example = "true")
private Boolean isNewRequirements;
@ApiModelProperty(value = "是否按金额排序",example = "true")
private Boolean isHighCommission;
@ApiModelProperty(value = "省份编码",example = "802323")
private Integer provinceCode;
@ApiModelProperty(value = "市编码", example = "802323")
private Integer cityCode;
@ApiModelProperty(value = "区编码", example = "802323")
private Integer districtCode;
}
package com.mmc.csf.infomation.qo;
import com.fasterxml.jackson.annotation.JsonIgnore;
import com.mmc.csf.release.model.group.Freeze;
import com.mmc.csf.release.model.group.Page;
import io.swagger.annotations.ApiModelProperty;
......@@ -9,6 +10,7 @@ import lombok.NoArgsConstructor;
import javax.validation.constraints.Min;
import javax.validation.constraints.NotNull;
import java.util.List;
/**
* @Author small
......@@ -30,6 +32,9 @@ public class ServiceOrderQO {
@ApiModelProperty(value = "1:正常 2:争议订单", required = false, example = "1")
private Integer orderAttribute;
@ApiModelProperty(value = "订单状态")
private Integer orderStatus;
@ApiModelProperty(value = "页码", required = true, example = "1")
@NotNull(message = "页码不能为空", groups = {Page.class, Freeze.class})
@Min(value = 1, groups = Page.class)
......@@ -39,6 +44,15 @@ public class ServiceOrderQO {
@Min(value = 1, groups = Page.class)
private Integer pageSize;
@ApiModelProperty(value = "0 查看飞手团队中飞手发的单子,1 查找的是飞手团队中飞手接的订单")
private int isPilotOrder;
@ApiModelProperty(value = "查询指定飞手列表中飞手的订单")
@JsonIgnore
private List<Integer> pilotUserIdList = null;
@ApiModelProperty(value = "发布者订单编号", example = "R3123132132132131")
private String publisherNumber;
public void buildCurrentPage() {
this.pageNo = (pageNo - 1) * pageSize;
}
......
package com.mmc.csf.infomation.vo;
import java.io.Serializable;
import java.util.Date;
import javax.validation.constraints.NotEmpty;
import javax.validation.constraints.NotNull;
import javax.validation.constraints.Size;
import com.mmc.csf.release.model.group.Create;
import com.mmc.csf.release.model.group.Others;
import com.mmc.csf.release.model.group.Update;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
import javax.validation.constraints.NotEmpty;
import javax.validation.constraints.NotNull;
import javax.validation.constraints.Size;
import java.io.Serializable;
import java.util.Date;
/**
* @Author small
* @Date 2023/5/23 14:23
......
......@@ -37,4 +37,6 @@ public class IndustryNewsDTO implements Serializable {
private Date createTime;
@ApiModelProperty(value = "最新修改时间")
private Date updateTime;
@ApiModelProperty(value = "是否是热点新闻")
private Integer isHot;
}
......@@ -44,4 +44,7 @@ public class IndustryNewsVO implements Serializable {
@ApiModelProperty(value = "来源",example = "来源")
private String origin;
@ApiModelProperty(value = "是否是热点新闻 1是 0不是")
private Integer isHot;
}
package com.mmc.csf.infomation.vo;
import io.swagger.annotations.ApiModelProperty;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;
import javax.validation.constraints.NotNull;
import java.io.Serializable;
/**
* @author han
*/
@Data
@AllArgsConstructor
@NoArgsConstructor
@Builder
public class PersonSendOrderVO implements Serializable {
private static final long serialVersionUID = 1L;
@ApiModelProperty(value = "服务需求订单id")
@NotNull(message = "id不能为空")
private Integer requirementsInfoId;
@ApiModelProperty(value = "派单飞手id")
private Integer pilotCertificationId;
@ApiModelProperty(value = "派单飞手用户id")
private Integer pilotCertificationUserId;
@ApiModelProperty(value = "是否是管理员派单")
private int isAdminSend;
}
package com.mmc.csf.infomation.vo;
import com.mmc.csf.infomation.dto.*;
import io.swagger.annotations.ApiModelProperty;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
/**
* @author Admin
*/
@Data
@AllArgsConstructor
@NoArgsConstructor
public class RequireEveryStatusVO {
//抵达现场地址
// service_arrive_scene
@ApiModelProperty(value = "抵达现场", example = "抵达现场")
private ServiceArriveSceneDTO serviceArriveSceneDTO;
//完成任务
// service_fulfil_a_task
@ApiModelProperty(value = "完成任务", example = "完成任务")
private ServiceFulfilATaskDTO serviceFulfilATaskDTO;
//评价
// service_evaluate
@ApiModelProperty(value = "评价", example = "评价")
private ServiceEvaluateDTO serviceEvaluateDTO;
@ApiModelProperty(value = "修改任务佣金", example = "修改任务佣金")
private RequirementsAmountUpdateDTO amountUpdate;
private ServiceOrderFormDetailsDTO serviceOrderFormDetailsDTO;
@ApiModelProperty(value = "发布者基本信息")
private UserBaseInfoDTO orderRelease;
@ApiModelProperty(value = "接单人基本信息")
private UserBaseInfoDTO orderReceive;
}
......@@ -31,6 +31,8 @@ public class RequirementsInfoVO implements Serializable {
@NotNull(message = "id不能为空", groups = {Update.class})
private Integer id;
private Integer tempId;
@ApiModelProperty(value = "需求发布id", hidden = true)
private Integer requirementsInfoId;
......@@ -64,6 +66,10 @@ public class RequirementsInfoVO implements Serializable {
@ApiModelProperty(value = "任务纬度", example = "44.344324")
private Double latitude;
@ApiModelProperty(value = "当前订单状态")
private Integer serviceFlowId;
@ApiModelProperty(value = "订单的父订单id")
private Integer fatherRequireId;
......@@ -75,7 +81,6 @@ public class RequirementsInfoVO implements Serializable {
@ApiModelProperty(value = "描述图片", example = "http://,http://", required = false)
private String requireUrl;
@ApiModelProperty(value = "发布者姓名", example = "张三")
// @NotNull(message = "发布者姓名不能为空", groups = {Insert.class})
private String publishName;
......@@ -191,4 +196,18 @@ public class RequirementsInfoVO implements Serializable {
@ApiModelProperty(value = "订单共需多少人")
private Integer requireNum;
@ApiModelProperty(value = "后台修改后的金额")
private BigDecimal changedOrderAmount;
@ApiModelProperty(value = "管理员操作")
private int teamStatus;
@ApiModelProperty(value = "二级分类id")
private int inspectionId;
@ApiModelProperty(value = "项目号")
private String projectCode;
@ApiModelProperty(value = "二级分类名称")
private String inspectionName;
}
......@@ -115,5 +115,9 @@ public class ServiceRequirementsVO implements Serializable {
@ApiModelProperty(value = "订单总共需要多少人")
private Integer requireNum;
@ApiModelProperty(value = "订单项目号")
private String projectCode;
@ApiModelProperty(value = "二级服务分类")
private String inspectionId;
}
package com.mmc.csf.infomation.vo;
import java.io.Serializable;
import javax.validation.constraints.NotNull;
import com.mmc.csf.release.model.group.Update;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
import javax.validation.constraints.NotNull;
import java.io.Serializable;
/**
* author:zhenjie
* Date:2022/5/21
......
package com.mmc.csf.infomation.vo;
import io.swagger.annotations.ApiModelProperty;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;
/**
* @author Admin
*/
@Data
@NoArgsConstructor
@AllArgsConstructor
@Builder
public class UpdateTaskUrlVO {
private Integer id;
@ApiModelProperty(value = "完成任务图片", example = "http://")
private String taskUrl;
@ApiModelProperty(value = "需求id", example = "83")
private Integer requirementsInfoId;
}
......@@ -46,6 +46,9 @@ public class LicenseOrganizationsQO {
@ApiModelProperty(value = "地域region", example = "110000", required = false)
private String region;
@ApiModelProperty(value = "后台id")
private Integer backUserId;
@ApiModelProperty(value = "当前页", required = true, example = "1")
@NotNull(message = "当前页不能为空", groups = {Page.class, Freeze.class})
@Min(value = 1, groups = Page.class)
......
package com.mmc.csf.licence.vo;
import com.mmc.csf.release.model.group.Create;
import com.mmc.csf.release.model.group.Page;
import com.mmc.csf.release.model.group.Update;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.Value;
import org.springframework.validation.annotation.Validated;
import javax.validation.Valid;
import javax.validation.constraints.*;
import javax.validation.constraints.Max;
import javax.validation.constraints.NotBlank;
import javax.validation.constraints.NotNull;
import javax.validation.constraints.Size;
import java.util.List;
/**
......@@ -41,7 +41,7 @@ public class LicenseOrganizationsVO {
private String name;
@ApiModelProperty(value = "机构地区编号", example = "110000,130100", required = true)
@NotBlank(message = "机构地区不能为空", groups = {Create.class, Update.class})
// @NotBlank(message = "机构地区不能为空", groups = {Create.class, Update.class})
private String region;
@ApiModelProperty(value = "机构地区名称", example = "河北省,石家庄市", required = false)
......@@ -82,5 +82,7 @@ public class LicenseOrganizationsVO {
@Valid
private List<LicenseTrainingProgramsVO> trainingProgramsVOS;
@ApiModelProperty(value = "后台id")
private Integer backUserId;
}
package com.mmc.csf.release.auth.qo;
import java.io.Serializable;
import java.util.List;
import javax.validation.constraints.Min;
import javax.validation.constraints.NotNull;
import com.mmc.csf.release.model.group.Page;
import io.swagger.annotations.ApiModelProperty;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
import javax.validation.constraints.Min;
import javax.validation.constraints.NotNull;
import java.io.Serializable;
import java.util.List;
/**
* @author: zj
* @Date: 2023/6/6 20:41
......
......@@ -23,14 +23,14 @@ public class CurriculumQo implements Serializable {
private static final long serialVersionUID = 3124398495152234751L;
@ApiModelProperty(value = "课程名称")
private String curriculumName;
@ApiModelProperty(value = "省份编码")
private Integer provinceCode;
@ApiModelProperty(value = "执照id")
private Integer licenseId;
@ApiModelProperty(value = "技能id")
private Integer flightSkillsId;
@ApiModelProperty(value = "课程类型id")
private Integer categoriesId;
@ApiModelProperty(value = "1级课程分类")
private Integer oneCourseId;
@ApiModelProperty(value = "2级课程分类")
private Integer twoCourseId;
@ApiModelProperty(value = "课程属性: 0:免费 1:积分兑换 2:付费 ")
private Integer courseAttribute;
@ApiModelProperty(value = "是否热门: 0:否 1:是 ")
private Integer isHot;
@ApiModelProperty(value = "页码", required = true)
@NotNull(message = "页码不能为空", groups = { Page.class })
@Min(value = 1, groups = Page.class)
......
package com.mmc.csf.release.flyer.vo;
import com.alibaba.fastjson.annotation.JSONField;
import com.mmc.csf.release.model.group.Insert;
import com.mmc.csf.release.model.group.Update;
import io.swagger.annotations.ApiModelProperty;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;
import org.hibernate.validator.constraints.Length;
import javax.validation.constraints.NotNull;
import java.io.Serializable;
import java.math.BigDecimal;
import java.util.Date;
/**
* @Author han
* 概要:课程分类
*/
@Data
@NoArgsConstructor
@AllArgsConstructor
@Builder
public class CurriculumClassifyVO implements Serializable {
private static final long serialVersionUID = -7343885960160805850L;
@ApiModelProperty(value = "课程分类id")
private Integer id;
@ApiModelProperty(value = "分类名字")
@NotNull(message = "分类名字不能为空" ,groups = {Update.class})
private String name;
@ApiModelProperty(value = "1级课程分类")
private Integer oneCourseId;
@ApiModelProperty(value = "2级课程分类")
private Integer twoCourseId;
@ApiModelProperty(value = "分类图标")
private String classifyUrl;
@ApiModelProperty(value = "分类描述")
private String classifyDesc;
@ApiModelProperty(value = "创建时间")
@JSONField(format = "yyyy-MM-dd HH:mm:ss")
private Date createTime;
@ApiModelProperty(value = "更新时间")
@JSONField(format = "yyyy-MM-dd HH:mm:ss")
private Date updateTime;
}
package com.mmc.csf.release.flyer.vo;
import com.alibaba.fastjson.annotation.JSONField;
import com.mmc.csf.release.model.group.Insert;
import com.mmc.csf.release.model.group.Update;
import io.swagger.annotations.ApiModelProperty;
import lombok.AllArgsConstructor;
import lombok.Builder;
......@@ -12,6 +12,7 @@ import org.hibernate.validator.constraints.Length;
import javax.validation.constraints.NotNull;
import java.io.Serializable;
import java.math.BigDecimal;
import java.util.Date;
/**
* @Author LW
......@@ -25,35 +26,19 @@ import java.math.BigDecimal;
public class CurriculumInfoVO implements Serializable {
private static final long serialVersionUID = -7343885960160805850L;
@ApiModelProperty(value = "课程id")
@NotNull(message = "课程id不能为空" ,groups = {Update.class})
private Integer id;
@ApiModelProperty(value = "价格")
private BigDecimal price;
@ApiModelProperty(value = "1级课程分类ID")
@NotNull(message = "1级课程分类ID不能为空" ,groups = {Insert.class})
private Integer oneCourseId;
@ApiModelProperty(value = "供应商名称")
private String supplierName;
@ApiModelProperty(value = "2级课程分类ID")
private Integer twoCourseId;
@ApiModelProperty(value = "课程名称,长度30")
@Length(max = 30)
private String curriculumName;
@ApiModelProperty(value = "课程是否免费 0:免费 1:付费")
private Integer free;
@ApiModelProperty(value = "课程类型,二级id")
@NotNull(message = "课程类型id不能为空" ,groups = {Insert.class})
private Integer categoriesId;
@ApiModelProperty(value = "目录名称", example = "技能")
private String directoryName;
@ApiModelProperty(value = "课程类型名称", example = "通用巡检")
private String categoriesName;
@ApiModelProperty(value = "课程技能类型,二级id")
private Integer flightSkills;
@ApiModelProperty(value = "课程介绍(简介), 长度255")
@Length(max = 255)
private String curriculumDesc;
......@@ -64,6 +49,30 @@ public class CurriculumInfoVO implements Serializable {
@ApiModelProperty(value = "课程视频")
private String videoUrl;
@ApiModelProperty(value = "课程属性: 0:免费 1:积分兑换 2:付费 ")
private Integer courseAttribute;
@ApiModelProperty(value = "价格")
private BigDecimal requireAmout;
@ApiModelProperty(value = "积分")
private Integer requireIntegral;
@ApiModelProperty(value = "课程是否热门 0:否 1:是")
private Integer isHot;
@ApiModelProperty(value = "课程详情")
private String detailContent;
@ApiModelProperty(value = "创建时间")
@JSONField(format = "yyyy-MM-dd HH:mm:ss")
private Date createTime;
@ApiModelProperty(value = "更新时间")
@JSONField(format = "yyyy-MM-dd HH:mm:ss")
private Date updateTime;
@ApiModelProperty(value = "用户是否购买过")
private boolean buy;
}
package com.mmc.csf.release.flyer.vo;
import io.swagger.annotations.ApiModelProperty;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
import java.math.BigDecimal;
/**
* @author Admin
*/
@Data
@AllArgsConstructor
@NoArgsConstructor
public class CurriculumOrderLogVO {
private Integer userAccountId;
@ApiModelProperty(value = "云享金消耗金额")
private BigDecimal cashAmtPaid;
@ApiModelProperty(value = "佣金消耗金额")
private BigDecimal salaryAmtPaid;
@ApiModelProperty(value = "订单编号")
private String orderNo;
}
package com.mmc.csf.release.flyer.vo;
import com.alibaba.fastjson.annotation.JSONField;
import com.mmc.csf.release.model.group.Insert;
import io.swagger.annotations.ApiModelProperty;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;
import org.hibernate.validator.constraints.Length;
import javax.validation.constraints.NotNull;
import java.io.Serializable;
import java.math.BigDecimal;
import java.util.Date;
/**
* @Author LW
* @date 2023/5/17 14:28
* 概要:课程信息
*/
@Data
@NoArgsConstructor
@AllArgsConstructor
@Builder
public class CurriculumPayVO implements Serializable {
private static final long serialVersionUID = -7343885960160805850L;
@ApiModelProperty(value = "课程ID")
private Integer id;
@ApiModelProperty(value = "支付类型")
private String paymentType;
@ApiModelProperty(value = "微信支付订单编号")
private String paymentOrderNumber;
}
package com.mmc.csf.release.forum.dto;
import java.util.List;
import com.mmc.csf.release.forum.vo.MediaVO;
import com.mmc.csf.release.forum.vo.UserBaseInfoVO;
import io.swagger.annotations.ApiModelProperty;
import lombok.AllArgsConstructor;
import lombok.Builder;
......@@ -9,8 +12,6 @@ import lombok.Data;
import lombok.NoArgsConstructor;
import java.util.Date;
import java.util.List;
/**
* @Author LW
* @date 2023/6/19 14:25 概要:
......
package com.mmc.csf.release.forum.qo;
import java.io.Serializable;
import javax.validation.constraints.Min;
import javax.validation.constraints.NotNull;
import com.mmc.csf.release.model.group.Page;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import javax.validation.constraints.Min;
import javax.validation.constraints.NotNull;
import java.io.Serializable;
/**
* @Author LW
*
......
package com.mmc.csf.release.forum.vo;
import java.io.Serializable;
import io.swagger.annotations.ApiModelProperty;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
import java.io.Serializable;
/**
* @Author LW
*
......
......@@ -35,4 +35,6 @@ public class IndustryTypeDTO implements Serializable {
private Date createTime;
@ApiModelProperty(value = "服务列表")
private List<InspectionDTO> inspectionDTOS;
@ApiModelProperty(value = "二级分类名称")
private String inspectionName;
}
package com.mmc.csf.user.vo;
import com.alibaba.fastjson2.JSONObject;
import io.swagger.annotations.ApiModelProperty;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;
import org.apache.commons.lang.StringUtils;
import javax.validation.constraints.NotNull;
import java.io.Serializable;
/**
* @author: zj
* @Date: 2023/5/23 19:24
*/
@Builder
@Data
@NoArgsConstructor
@AllArgsConstructor
public class WxMsgVO implements Serializable {
private static final long serialVersionUID = 107288179600606045L;
@ApiModelProperty(value = "用户id-仅适用云享飞客户端")
private Integer userAccountId;
@ApiModelProperty(value = "公众号的openId")
private String touser;
@ApiModelProperty(value = "unionId-全局通用")
private String unionId;
@ApiModelProperty(value = "模板id")
@NotNull(message = "模板id不能为空")
private String templateId;
@ApiModelProperty(value = "网页跳转连接")
private String url;
@ApiModelProperty(value = "小程序APPID")
private String wxAppletAppId;
@ApiModelProperty(value = "小程序跳转连接")
private String appletPath;
@ApiModelProperty(value = "按照接口文档传数据")
private JSONObject dataObject;
public String buildTemplateMsg() {
JSONObject msg = new JSONObject();
msg.put("touser", this.touser);
msg.put("template_id", this.templateId);
// 跳转页面
if (!StringUtils.isBlank(this.url)) {
msg.put("url", this.url);
}
// 跳转小程序页面设置
if (!StringUtils.isBlank(this.wxAppletAppId) && !StringUtils.isBlank(this.appletPath)) {
JSONObject mini = new JSONObject();
mini.put("appid", this.wxAppletAppId);
mini.put("pagepath", this.appletPath);
msg.put("miniprogram", mini);
}
msg.put("data", this.dataObject);
return msg.toString();
}
}
......@@ -18,4 +18,4 @@ patches:
images:
- name: REGISTRY/NAMESPACE/IMAGE:TAG
newName: mmc-registry.cn-shenzhen.cr.aliyuncs.com/sharefly-dev/ims
newTag: 9eadf1ce66d61172f23ea2378598f6b69ca317ae
newTag: edc811d126d2121519b4c1b79231ab57f2a93028
apiVersion: kustomize.config.k8s.io/v1beta1
kind: Kustomization
resources:
- ../../base
- ../../base
namespace: prod
#namePrefix: prod-
commonLabels:
......@@ -9,13 +9,13 @@ commonLabels:
commonAnnotations:
note: This is prod!
patches:
- path: increase_replicas.yaml
- path: configMap.yaml
- path: increase_replicas.yaml
- path: configMap.yaml
#- path: service-patch.yaml
# target:
# kind: Service
# name: ims-svc
images:
- name: REGISTRY/NAMESPACE/IMAGE:TAG
newName: mmc-registry.cn-shenzhen.cr.aliyuncs.com/sharefly/ims
newTag: 095806d2d1f1f2e75eeca46c07103fb86ece1262
- name: REGISTRY/NAMESPACE/IMAGE:TAG
newName: mmc-registry.cn-shenzhen.cr.aliyuncs.com/sharefly/ims
newTag: 790432ad136f19e1bfaa4f1a1586ddcfbcce6384
......@@ -2,8 +2,9 @@ package com.mmc.csf.release.controller;
import com.mmc.csf.common.util.web.ResultBody;
import com.mmc.csf.infomation.dto.ServiceOrderFormDTO;
import com.mmc.csf.infomation.dto.ServiceOrderFormDetailsDTO;
import com.mmc.csf.infomation.qo.ServiceOrderQO;
import com.mmc.csf.infomation.vo.RequireEveryStatusVO;
import com.mmc.csf.release.entity.requirements.OrderAmountDetailDO;
import com.mmc.csf.release.model.group.Page;
import com.mmc.csf.release.service.BackRequirementsService;
import io.swagger.annotations.*;
......@@ -12,6 +13,7 @@ import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.*;
import javax.servlet.http.HttpServletRequest;
import java.util.List;
/**
* @Author small
......@@ -22,7 +24,6 @@ import javax.servlet.http.HttpServletRequest;
@RestController
@RequestMapping("/backRequirements/")
public class BackRequirementsController extends BaseController {
@Autowired
private BackRequirementsService backRequirementsService;
......@@ -36,11 +37,31 @@ public class BackRequirementsController extends BaseController {
@ApiOperation(value = "后台管理——服务订单详情")
@ApiResponses({@ApiResponse(code = 200, message = "OK", response = ServiceOrderFormDTO.class)})
@ApiResponses({@ApiResponse(code = 200, message = "OK", response = RequireEveryStatusVO.class)})
@GetMapping("serviceOrderFormDetails")
public ResultBody<ServiceOrderFormDetailsDTO> serviceOrderFormDetails(HttpServletRequest request, @ApiParam(value = "需求发布id", required = true) @RequestParam Integer requirementsInfoId) {
public ResultBody<RequireEveryStatusVO> serviceOrderFormDetails(HttpServletRequest request, @ApiParam(value = "需求发布id", required = true) @RequestParam Integer requirementsInfoId) {
return backRequirementsService.serviceOrderFormDetails(requirementsInfoId, this.getUserLoginInfoFromRedis(request));
}
@ApiOperation(value = "后台管理——订单金额明细")
@ApiResponses({@ApiResponse(code = 200, message = "OK", response = ResultBody.class)})
@GetMapping("getOrderAmountDetails")
public ResultBody getOrderAmountDetails( @ApiParam(value = "需求发布id", required = true) @RequestParam Integer requirementsInfoId) {
return backRequirementsService.getOrderAmountDetails(requirementsInfoId);
}
@ApiOperation(value = "后台订单——修改金额明细")
@ApiResponses({@ApiResponse(code = 200, message = "OK", response = ResultBody.class)})
@PostMapping("updateOrderAmountDetails")
public ResultBody updateOrderAmountDetails(@RequestBody List<OrderAmountDetailDO> list) {
return backRequirementsService.updateOrderAmountDetails(list);
}
@ApiOperation(value = "后台订单——新增金额明细")
@ApiResponses({@ApiResponse(code = 200, message = "OK", response = ResultBody.class)})
@PostMapping("insertOrderAmountDetails")
public ResultBody insertOrderAmountDetails(@RequestBody List<OrderAmountDetailDO> list) {
return backRequirementsService.insertOrderAmountDetails(list);
}
}
......@@ -42,7 +42,13 @@ public class BackstageForumController extends BaseController{
return backstageForumService.getDynamicAuditSum();
}
@ApiOperation(value = "后台-统计未审核总数")
@GetMapping("/getNotCheckDynamicSum")
@ApiResponses({@ApiResponse(code = 200, message = "OK", response = DynamicAuditSumDTO.class)})
public ResultBody getNotCheckDynamicSum() {
return backstageForumService.getNotCheckDynamicSum();
}
@ApiOperation(value = "动态删除")
@GetMapping("/deleteDynamic")
@ApiResponses({@ApiResponse(code = 200, message = "OK", response = ResultBody.class)})
......
......@@ -88,7 +88,7 @@ public class DynamicController extends BaseController {
return dynamicService.dynamicDetails(dynamicId, userAccountId, request);
}
@ApiOperation(value = "动态列表")
@ApiOperation(value = "动态 列表")
@ApiResponses({@ApiResponse(code = 200, message = "OK", response = DynamicVO.class)})
@GetMapping("/dynamicList")
public ResultBody<DynamicVO> dynamicList(
......@@ -99,9 +99,22 @@ public class DynamicController extends BaseController {
@RequestParam(required = false) List<String> gambitName) {
return ResultBody.success(
dynamicService.dynamicList(
pageNo, pageSize, this.getUserLoginInfoFromRedis(request).getUserAccountId(), request,gambitId,id,userAccountId,description,gambitName));
pageNo, pageSize, this.getUserLoginInfoFromRedis(request).getUserAccountId(),gambitId,id,userAccountId,description,gambitName));
}
@ApiOperation(value = "动态 列表(未登录)")
@ApiResponses({@ApiResponse(code = 200, message = "OK", response = DynamicVO.class)})
@GetMapping("/dynamicList1")
public ResultBody<DynamicVO> dynamicList1(
@RequestParam Integer pageNo, @RequestParam Integer pageSize,
@RequestParam(required = false) Integer gambitId, @RequestParam(required = false) Integer id,
@RequestParam(required = false) Integer userAccountId,
@RequestParam(required = false) String description,
@RequestParam(required = false) List<String> gambitName) {
return ResultBody.success(
dynamicService.dynamicList(
pageNo, pageSize, 0,gambitId,id,userAccountId,description,gambitName));
}
@ApiOperation(value = "new-小程序-返回最新5条带动态的图片")
@GetMapping("/recentNews")
......
package com.mmc.csf.release.controller;
import com.mmc.csf.common.util.date.TDateUtil;
import com.mmc.csf.common.util.math.CodeUtil;
import com.mmc.csf.common.util.web.ResultBody;
import com.mmc.csf.release.auth.dto.LoginSuccessDTO;
import com.mmc.csf.release.entity.curriculum.CurriculumInfoDO;
import com.mmc.csf.release.entity.curriculum.CurriculumOrderDO;
import com.mmc.csf.release.entity.curriculum.CurriculumOrderQO;
import com.mmc.csf.release.feign.PmsAppApi;
import com.mmc.csf.release.feign.UserAppApi;
import com.mmc.csf.release.flyer.qo.CurriculumQo;
import com.mmc.csf.release.flyer.vo.CurriculumInfoVO;
import com.mmc.csf.release.flyer.vo.DronePilotLicenseVO;
import com.mmc.csf.release.flyer.vo.FlightSkillsVO;
import com.mmc.csf.release.flyer.vo.RegistrationVO;
import com.mmc.csf.release.flyer.vo.*;
import com.mmc.csf.release.model.group.Insert;
import com.mmc.csf.release.model.group.Page;
import com.mmc.csf.release.model.group.Update;
import com.mmc.csf.release.service.FlyerTrainingService;
import io.swagger.annotations.*;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Qualifier;
import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.*;
import springfox.documentation.annotations.ApiIgnore;
import javax.annotation.Resource;
import javax.servlet.http.HttpServletRequest;
import java.util.Date;
import java.util.List;
......@@ -34,6 +41,10 @@ public class FlyerTrainingController extends BaseController {
@Resource
private FlyerTrainingService flyerTrainingService;
@Qualifier("com.mmc.csf.release.feign.UserAppApi")
@Autowired
private UserAppApi userAppApi;
@ApiOperation(value = "飞手报名")
@ApiResponses({@ApiResponse(code = 200, message = "OK", response = ResultBody.class)})
@PostMapping("/pilotRegistration")
......@@ -94,8 +105,11 @@ public class FlyerTrainingController extends BaseController {
@ApiOperation(value = "V1.0.1课程视频详情")
@ApiResponses({@ApiResponse(code = 200, message = "OK", response = CurriculumInfoVO.class)})
@GetMapping("/curriculumDetails")
public ResultBody curriculumDetails(@ApiParam(value = "课程id") @RequestParam(value = "id") Integer id) {
return flyerTrainingService.curriculumDetails(id);
public ResultBody curriculumDetails(HttpServletRequest request, @ApiParam(value = "课程id") @RequestParam(value = "id") Integer id) {
LoginSuccessDTO userLoginInfoFromRedis = this.getUserLoginInfoFromRedis(request);
//没带token访问课程视频详情中的buy就是false, userId = 0 会使buy为false
Integer userId = userLoginInfoFromRedis == null ? 0 : userLoginInfoFromRedis.getUserAccountId();
return flyerTrainingService.curriculumDetails(id, userId);
}
@ApiOperation(value = "V1.0.1新增课程")
......@@ -136,4 +150,81 @@ public class FlyerTrainingController extends BaseController {
public Integer getCurriculumCount() {
return flyerTrainingService.getCurriculumCount();
}
@ApiOperation(value = "后台——获取课程订单列表")
@ApiResponses({@ApiResponse(code = 200, message = "OK", response = CurriculumOrderDO.class)})
@PostMapping("getCurriculumOrderList")
public ResultBody<List<CurriculumOrderDO>> getCurriculumOrderList(@ApiParam(value = "订单查询QO", required = true) @Validated(Page.class) @RequestBody CurriculumOrderQO param) {
return flyerTrainingService.getCurriculumOrderList(param);
}
@ApiOperation(value = "小程序——获取我的课程列表")
@ApiResponses({@ApiResponse(code = 200, message = "OK", response = CurriculumOrderDO.class)})
@PostMapping("getCurriculumOrderListByMini")
public ResultBody<List<CurriculumOrderDO>> selectCurriculumOrderList(HttpServletRequest request, @ApiParam(value = "订单查询QO", required = true) @Validated(Page.class) @RequestBody CurriculumOrderQO param) {
param.setUserAccountId(this.getUserLoginInfoFromRedis(request).getUserAccountId());
return flyerTrainingService.getCurriculumOrderList(param);
}
@ApiOperation(value = "后台——删除课程订单详情")
@ApiResponses({@ApiResponse(code = 200, message = "OK", response = CurriculumOrderDO.class)})
@GetMapping("deleteCurriculumOrderInfo")
public ResultBody<CurriculumOrderDO> deleteCurriculumOrderInfo(@ApiParam(value = "删除订单id", required = true) @Validated(Page.class) @RequestParam(value = "id") Integer id) {
return flyerTrainingService.deleteCurriculumOrderInfo(id);
}
@ApiOperation(value = "新增课程分类")
@ApiResponses({@ApiResponse(code = 200, message = "OK", response = CurriculumClassifyVO.class)})
@PostMapping("addCurriculumClassify")
public ResultBody addCurriculumClassify(@Validated(Insert.class) @RequestBody CurriculumClassifyVO curriculumClassifyVO) {
return ResultBody.success(flyerTrainingService.addCurriculumClassify(curriculumClassifyVO));
}
@ApiOperation(value = "修改课程分类")
@ApiResponses({@ApiResponse(code = 200, message = "OK", response = CurriculumClassifyVO.class)})
@PostMapping("updateCurriculumClassify")
public ResultBody updateCurriculumClassify(@Validated(Update.class) @RequestBody CurriculumClassifyVO curriculumClassifyVO) {
return ResultBody.success(flyerTrainingService.updateCurriculumClassify(curriculumClassifyVO));
}
@ApiOperation(value = "删除课程分类")
@ApiResponses({@ApiResponse(code = 200, message = "OK", response = CurriculumClassifyVO.class)})
@GetMapping("removeCurriculumClassify")
public ResultBody removeCurriculumClassify(@RequestParam Integer id) {
return flyerTrainingService.removeCurriculumClassify(id);
}
@ApiOperation(value = "所有课程分类列表")
@ApiResponses({@ApiResponse(code = 200, message = "OK", response = CurriculumClassifyVO.class)})
@GetMapping("/selectCurriculumClassify")
public ResultBody selectCurriculumClassify() {
return flyerTrainingService.selectCurriculumClassify();
}
@ApiOperation(value = "购买课程-使用积分-去支付")
@ApiResponses({@ApiResponse(code = 200, message = "OK", response = ResultBody.class)})
@GetMapping("/curriculumPayByIntegral")
public ResultBody curriculumPayByIntegral(HttpServletRequest request, @RequestParam Integer id) {
CurriculumInfoDO curriculumInfo = flyerTrainingService.selectCurriculumInfoById(id);
ResultBody resultBody = userAppApi.feignChangeUserPoints(request.getHeader("token"),request, - curriculumInfo.getRequireIntegral(), "购买课程");
if("200".equals(resultBody.getCode())){
CurriculumOrderDO curriculumOrderDO = new CurriculumOrderDO();
curriculumOrderDO.setUserAccountId(this.getUserLoginInfoFromRedis(request).getUserAccountId());
curriculumOrderDO.setCurriculumInfoId(id);
curriculumOrderDO.setJifenConsume(curriculumInfo.getRequireIntegral());
// 生成支付流水号(规则"CO" + 时间戳 + 用户id + 随机数4位)
curriculumOrderDO.setOrderNo("CO" + TDateUtil.getDateStr(new Date(), "yyyyMMddHHmmss") + this.getUserLoginInfoFromRedis(request).getUserAccountId() + CodeUtil.getRandomNum(4));
return ResultBody.success(flyerTrainingService.curriculumPayByIntegral(curriculumOrderDO));
} else {
return ResultBody.error("积分不足,购买失败");
}
}
@ApiOperation(value = "购买课程-使用金额-去支付")
@ApiResponses({@ApiResponse(code = 200, message = "OK", response = ResultBody.class)})
@PostMapping("/curriculumPayByMoney")
public ResultBody curriculumPayByMoney(HttpServletRequest request,@RequestBody CurriculumPayVO curriculumPayVO) {
return flyerTrainingService.curriculumPayByMoney(request,curriculumPayVO,this.getUserLoginInfoFromRedis(request).getUserAccountId());
}
}
package com.mmc.csf.release.controller;
import javax.servlet.http.HttpServletRequest;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.*;
import com.mmc.csf.common.util.web.ResultBody;
import com.mmc.csf.infomation.qo.IndustryCaseQO;
import com.mmc.csf.infomation.qo.IndustryNewsQO;
......@@ -9,14 +15,11 @@ import com.mmc.csf.release.model.group.Create;
import com.mmc.csf.release.model.group.Page;
import com.mmc.csf.release.model.group.Update;
import com.mmc.csf.release.service.IndustryNewsService;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import io.swagger.annotations.ApiResponse;
import io.swagger.annotations.ApiResponses;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.*;
import javax.servlet.http.HttpServletRequest;
/**
* @author: zj
......
......@@ -2,10 +2,7 @@ package com.mmc.csf.release.controller;
import com.mmc.csf.common.util.web.ResultBody;
import com.mmc.csf.infomation.dto.*;
import com.mmc.csf.infomation.qo.AgreeOrRefusePilotQO;
import com.mmc.csf.infomation.qo.IndustryCaseQO;
import com.mmc.csf.infomation.qo.MyPreemptQO;
import com.mmc.csf.infomation.qo.MyPublishQO;
import com.mmc.csf.infomation.qo.*;
import com.mmc.csf.infomation.vo.*;
import com.mmc.csf.release.commit.NotRepeatSubmit;
import com.mmc.csf.release.entity.requirements.ServiceRequirementsDO;
......@@ -14,7 +11,6 @@ import com.mmc.csf.release.model.group.Page;
import com.mmc.csf.release.model.group.Update;
import com.mmc.csf.release.service.RequirementsService;
import io.swagger.annotations.*;
import io.swagger.models.auth.In;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.*;
......@@ -92,14 +88,13 @@ public class RequirementsController extends BaseController {
@ApiOperation(value = "内部调用")
@GetMapping("/repertory")
public ServiceRequirementsDO repertory(@ApiParam(value = "需求发布id", required = true) @RequestParam Integer requirementsInfoId, HttpServletRequest request){
public ServiceRequirementsDO repertory(@ApiParam(value = "需求发布id", required = true) @RequestParam Integer requirementsInfoId, HttpServletRequest request) {
GrabTheOrderVO grabTheOrderVO = new GrabTheOrderVO();
grabTheOrderVO.setRequirementsInfoId(requirementsInfoId);
return requirementsService.getRepertory(grabTheOrderVO, request);
return requirementsService.getRepertory(grabTheOrderVO, request);
}
@ApiOperation(value = "小程序——发布服务需求订单编号单独接口")
@ApiResponses({@ApiResponse(code = 200, message = "OK", response = ResultBody.class)})
@PostMapping("publisherNumber")
......@@ -162,9 +157,9 @@ public class RequirementsController extends BaseController {
@ApiOperation(value = "小程序-列表——需求发布")
@ApiResponses({@ApiResponse(code = 200, message = "OK", response = ResultBody.class)})
@GetMapping("appPublishList")
public ResultBody<RequirementsInfoVO> appPublishList() {
return requirementsService.appPublishList();
@PostMapping("appPublishList")
public ResultBody<RequirementsInfoVO> appPublishList(@RequestBody RequirementsInfoQO requirementsInfoQO) {
return requirementsService.appPublishList(requirementsInfoQO);
}
......@@ -182,6 +177,13 @@ public class RequirementsController extends BaseController {
return ResultBody.success(requirementsService.myPublish(this.getUserLoginInfoFromRedis(request).getUserAccountId(), param));
}
@ApiOperation(value = "小程序——我的发布(需要派单列表)")
@ApiResponses({@ApiResponse(code = 200, message = "OK", response = ResultBody.class)})
@PostMapping("mySendPublish")
public ResultBody<RequirementsInfoVO> mySendPublish(HttpServletRequest request, @Validated(value = {Page.class}) @ApiParam(value = "我的发单", required = true) @RequestBody MyPublishQO param) {
return ResultBody.success(requirementsService.mySendPublish(this.getUserLoginInfoFromRedis(request).getUserAccountId(), param));
}
@ApiOperation(value = "new——小程序-—服务订单--我的抢单")
@ApiResponses({@ApiResponse(code = 200, message = "OK", response = ResultBody.class)})
......@@ -226,6 +228,19 @@ public class RequirementsController extends BaseController {
return requirementsService.fulfilATaskDetails(requirementsInfoId, userAccountId);
}
@ApiOperation(value = "new——小程序-—飞手端--继续上传图片")
@ApiResponses({@ApiResponse(code = 200, message = "OK", response = ResultBody.class)})
@PostMapping("updateTaskUrl")
public ResultBody updateTaskUrl(@RequestBody UpdateTaskUrlVO updateTaskUrlVO) {
return requirementsService.updateTaskUrl(updateTaskUrlVO.getTaskUrl(),updateTaskUrlVO.getRequirementsInfoId());
}
@ApiOperation(value = "查看原来图片凭证")
@ApiResponses({@ApiResponse(code = 200, message = "OK", response = ResultBody.class)})
@GetMapping("getTaskUrl")
public ResultBody getTaskUrl(@ApiParam(value = "发布服务需求id", required = true) @RequestParam Integer requirementsInfoId) {
return requirementsService.getTaskUrl(requirementsInfoId);
}
@ApiOperation(value = "new——小程序-—发布者--订单结算")
@ApiResponses({@ApiResponse(code = 200, message = "OK", response = ResultBody.class)})
......@@ -241,7 +256,7 @@ public class RequirementsController extends BaseController {
@PostMapping("confirmSettlement")
public ResultBody confirmSettlement(HttpServletRequest request, @RequestParam(value = "需求id") Integer requirementsInfoId) {
Integer userAccountId = this.getUserLoginInfoFromRedis(request).getUserAccountId();
return requirementsService.confirmSettlement(userAccountId, requirementsInfoId,request);
return requirementsService.confirmSettlement(userAccountId, requirementsInfoId, request);
}
@ApiOperation(value = "new——小程序-—发布者--订单结算详情")
......@@ -317,6 +332,7 @@ public class RequirementsController extends BaseController {
/**
* 客服介入
*
* @param request
* @param liabilityProblemVO
* @return
......@@ -326,7 +342,7 @@ public class RequirementsController extends BaseController {
@PostMapping("cancelAll")
public ResultBody cancelAll(HttpServletRequest request, @RequestBody LiabilityProblemVO liabilityProblemVO) {
Integer userAccountId = this.getUserLoginInfoFromRedis(request).getUserAccountId();
return requirementsService.cancelAll(liabilityProblemVO, userAccountId,request);
return requirementsService.cancelAll(liabilityProblemVO, userAccountId, request);
}
......@@ -360,19 +376,75 @@ public class RequirementsController extends BaseController {
return requirementsService.deleteRequire(requirementsInfoId, this.getUserLoginInfoFromRedis(request).getUserAccountId());
}
@ApiOperation(value = "小程序—获取子订单详细信息")
@ApiOperation(value = "小程序—抢单——获取子订单详细信息")
@ApiResponses({@ApiResponse(code = 200, message = "OK", response = ResultBody.class)})
@PostMapping("selectRequireSonInfo")
public ResultBody<RequirementsInfoVO> selectRequireSonInfo(HttpServletRequest request, @Validated(value = {Page.class}) @ApiParam(value = "查询所有子订单信息", required = true) @RequestBody MyPublishQO param){
public ResultBody<RequirementsInfoVO> selectRequireSonInfo(HttpServletRequest request, @Validated(value = {Page.class}) @ApiParam(value = "查询所有子订单信息", required = true) @RequestBody MyPublishQO param) {
param.setType(0);
return ResultBody.success(requirementsService.selectRequireSonInfo(this.getUserLoginInfoFromRedis(request).getUserAccountId(), param));
}
@ApiOperation(value = "小程序——派单——获取子订单信息")
@ApiResponses({@ApiResponse(code = 200, message = "OK", response = ResultBody.class)})
@PostMapping("selectRequireInfo")
public ResultBody<RequirementsInfoVO> selectRequireInfo(HttpServletRequest request, @Validated(value = {Page.class}) @ApiParam(value = "查询所有子订单信息", required = true) @RequestBody MyPublishQO param) {
param.setType(1);
return ResultBody.success(requirementsService.selectRequireSonInfo(this.getUserLoginInfoFromRedis(request).getUserAccountId(), param));
}
@ApiOperation(value = "小程序—发单方(同意/拒绝)该飞手")
@ApiResponses({@ApiResponse(code = 200, message = "OK", response = ResultBody.class)})
@PostMapping("agreeOrRefusePilot")
public ResultBody agreeOrRefusePilot(@RequestBody AgreeOrRefusePilotQO param) {
public ResultBody agreeOrRefusePilot(@Validated @RequestBody AgreeOrRefusePilotQO param) {
return requirementsService.agreeOrRefusePilot(param);
}
@ApiOperation(value = "飞手派单")
@ApiResponses({@ApiResponse(code = 200, message = "OK", response = ResultBody.class)})
@PostMapping("/personSendOrder")
public ResultBody personSendOrder(HttpServletRequest request,@RequestBody PersonSendOrderVO personSendOrderVO) {
return requirementsService.personSendOrder(personSendOrderVO,this.getUserLoginInfoFromRedis(request).getToken());
}
@ApiOperation(value = "管理员派单派单")
@ApiResponses({@ApiResponse(code = 200, message = "OK", response = ResultBody.class)})
@PostMapping("/adminSendOrder")
public ResultBody adminSendOrder(HttpServletRequest request,@RequestBody PersonSendOrderVO personSendOrderVO) {
personSendOrderVO.setIsAdminSend(1);
return requirementsService.personSendOrder(personSendOrderVO,this.getUserLoginInfoFromRedis(request).getToken());
}
@ApiOperation(value = "团队派单")
@ApiResponses({@ApiResponse(code = 200, message = "OK", response = ResultBody.class)})
@GetMapping("/teamSendOrder")
public ResultBody teamSendOrder(HttpServletRequest request,
@ApiParam(value = "父订单id")@RequestParam Integer fatherRequireId,
@ApiParam(value = "团队管理员的id")@RequestParam Integer messageId) {
return requirementsService.teamSendOrder(fatherRequireId,messageId,this.getUserLoginInfoFromRedis(request).getToken());
}
@ApiOperation(value = "我的派单列表——待确认")
@ApiResponses({@ApiResponse(code = 200, message = "OK", response = ResultBody.class)})
@PostMapping("mySendOderList")
public ResultBody<RequirementsInfoVO> mySendOderList(HttpServletRequest request,
@Validated(value = {Page.class}) @ApiParam(value = "我的抢单", required = true) @RequestBody MyPreemptQO param) {
return ResultBody.success(requirementsService.mySendOderList(this.getUserLoginInfoFromRedis(request).getUserAccountId(), param));
// return ResultBody.success(requirementsService.mySendOderList(337, param));
}
@ApiOperation(value = "我的派单——去确认")
@ApiResponses({@ApiResponse(code = 200, message = "OK", response = ResultBody.class)})
@GetMapping("orderConfirmationByPilot")
public ResultBody orderConfirmationByPilot(HttpServletRequest request,
@ApiParam(value = "派单id") @RequestParam Integer tempId,
@ApiParam(value = "确认状态:1同意,2不同意") @RequestParam Integer status) {
return requirementsService.orderConfirmationByPilot(tempId,status,this.getUserLoginInfoFromRedis(request).getToken());
}
}
@ApiOperation(value = "管理员确认(拒绝)派单")
@ApiResponses({@ApiResponse(code = 200, message = "OK", response = ResultBody.class)})
@GetMapping("adminAgreeOrder")
public ResultBody adminAgreeOrder(HttpServletRequest request,
@ApiParam(value = "派单id") @RequestParam Integer requireId,
@ApiParam(value = "确认状态:1同意,2不同意") @RequestParam Integer status) {
return requirementsService.orderConfirmationByTeam(requireId,status,this.getUserLoginInfoFromRedis(request).getToken());
}
}
\ No newline at end of file
......@@ -2,20 +2,23 @@ package com.mmc.csf.release.controller;
import com.mmc.csf.common.util.group.Create;
import com.mmc.csf.common.util.group.Page;
import com.mmc.csf.infomation.vo.TenderApplyQO;
import com.mmc.csf.release.entity.tender.TenderInfoDO;
import com.mmc.csf.release.model.group.Update;
import com.mmc.csf.common.util.web.ResultBody;
import com.mmc.csf.infomation.dto.AppTenderInfoDTO;
import com.mmc.csf.infomation.dto.TenderApplyDTO;
import com.mmc.csf.infomation.dto.TenderInfoDTO;
import com.mmc.csf.infomation.dto.TenderNewsDTO;
import com.mmc.csf.infomation.qo.IndustryCaseQO;
import com.mmc.csf.infomation.vo.TenderApplyQO;
import com.mmc.csf.infomation.vo.TenderApplyVO;
import com.mmc.csf.infomation.vo.TenderInfoVO;
import com.mmc.csf.infomation.vo.TenderNewsVO;
import com.mmc.csf.release.entity.tender.TenderInfoDO;
import com.mmc.csf.release.model.group.Update;
import com.mmc.csf.release.service.TenderService;
import io.swagger.annotations.*;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import io.swagger.annotations.ApiResponse;
import io.swagger.annotations.ApiResponses;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.*;
......@@ -59,9 +62,9 @@ public class TenderController extends BaseController{
@ApiOperation(value = "修改-招标快讯列表")
@ApiResponses({@ApiResponse(code = 200, message = "OK", response = ResultBody.class)})
@PutMapping(value = "news")
@PostMapping(value = "updateTenderNews")
public ResultBody updateTenderNews(@RequestParam(value = "file", required = false) MultipartFile file,
@Validated(value = {Update.class}) @RequestPart TenderNewsVO tenderNewsVO) throws IOException {
@Validated(value = {Update.class}) @RequestBody TenderNewsVO tenderNewsVO) throws IOException {
return tenderService.updateTenderNews(file, tenderNewsVO);
}
......
......@@ -36,6 +36,13 @@ public class LicenceBackgroundController extends BaseController {
return licenceBackgroundService.insertOrganizations(organizations, this.getUserLoginInfoFromRedis(request));
}
@ApiOperation(value = "机构-根据后台id查询")
@ApiResponses({@ApiResponse(code = 200, message = "OK", response = ResultBody.class)})
@GetMapping("/selectOrg")
public ResultBody<LicenseOrganizationsDTO> selectOrganizations(@ApiParam(value = "机构id", required = true) @RequestParam Integer backUserId) {
return licenceBackgroundService.selectOrganizations(backUserId);
}
@ApiOperation(value = "机构-修改")
@ApiResponses({@ApiResponse(code = 200, message = "OK", response = ResultBody.class)})
@PostMapping("/updateOrg")
......
......@@ -16,6 +16,7 @@ import java.util.List;
public interface BackRequirementsDao {
List<ServiceOrderFormDO> serviceOrderFormList(ServiceOrderQO param);
List<ServiceOrderFormDO> getSonFromFatherRequireId(Integer id);
int countService(ServiceOrderQO param);
ServiceOrderFormDetailsDO serviceOrderFormDetails(Integer requirementsInfoId);
......
package com.mmc.csf.release.dao;
import com.mmc.csf.release.entity.curriculum.CurriculumOrder;
import com.mmc.csf.release.entity.curriculum.CurriculumOrderDO;
import com.mmc.csf.release.entity.curriculum.CurriculumOrderQO;
import org.apache.ibatis.annotations.Mapper;
import java.util.List;
/**
* @author Admin
* @description 针对表【curriculum_order】的数据库操作Mapper
* @createDate 2023-12-11 10:36:21
* @Entity com.mmc.csf.release.entity.curriculum.CurriculumOrder
*/
@Mapper
public interface CurriculumOrderDao {
int deleteByPrimaryKey(Integer id);
int insert(CurriculumOrder record);
int insertSelective(CurriculumOrder record);
CurriculumOrderDO selectByPrimaryKey(Integer id);
int updateByPrimaryKeySelective(CurriculumOrder record);
int updateByPrimaryKey(CurriculumOrder record);
int getCountCurriculumOrder(CurriculumOrderQO param);
List<CurriculumOrderDO> selectOrderList(CurriculumOrderQO param);
}
package com.mmc.csf.release.dao;
import java.util.List;
import com.mmc.csf.release.entity.forum.*;
import com.mmc.csf.release.entity.gambit.ForumAttentionDO;
import com.mmc.csf.release.entity.gambit.ForumGambitDO;
......@@ -10,7 +12,9 @@ import com.mmc.csf.release.gambit.qo.PostingLeaderboardQO;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;
import java.util.List;
import com.mmc.csf.release.entity.forum.ForumDynamicDO;
import com.mmc.csf.release.entity.forum.ForumResourceDO;
import com.mmc.csf.release.entity.forum.ForumVideoDO;
/**
* @Author LW
......
package com.mmc.csf.release.dao;
import com.mmc.csf.release.entity.curriculum.CurriculumInfoDO;
import com.mmc.csf.release.entity.curriculum.FlightSkillsDO;
import com.mmc.csf.release.entity.curriculum.PilotRegistrationDO;
import com.mmc.csf.release.entity.curriculum.*;
import com.mmc.csf.release.flyer.qo.CurriculumQo;
import com.mmc.csf.release.flyer.vo.DronePilotLicenseVO;
import org.apache.ibatis.annotations.Mapper;
......@@ -91,4 +89,55 @@ public interface FlyerTrainingDao {
int countCurriculumInfo(Integer categoriesId);
Integer getCurriculumCount();
/**
* 添加课程分类
*
* @param curriculumClassifyDO
*/
Integer addCurriculumClassify(CurriculumClassifyDO curriculumClassifyDO);
/**
* 修改课程分类
*
* @param curriculumClassify
*/
Integer updateCurriculumClassify(CurriculumClassifyDO curriculumClassify);
/**
* 删除课程分类
*
* @param id 课程分类id
*/
Integer removeCurriculumClassify(Integer id);
/**
* 查询一级分类的数量
* @return
*/
Integer countOneCourseClassify();
/**
* 查询当前一级分类下的二级分类的数量
* @param twoCourseId 2级课程分类
*/
Integer countTwoCourseClassify(Integer twoCourseId);
/**
* 查询所有的课程分类
* @return
*/
List<CurriculumClassifyDO> selectCurriculumClassify();
CurriculumClassifyDO selectCurriculumClassifyById(Integer id);
/**
* 根据课程ID查询课程信息
* @return
*/
CurriculumInfoDO selectCurriculumInfoById(Integer id);
int selectCountCurriculumOrder(Integer id,Integer userId);
int insertCurriculumOrder(CurriculumOrderDO record);
}
package com.mmc.csf.release.dao;
import java.util.List;
import org.apache.ibatis.annotations.Mapper;
import com.mmc.csf.infomation.qo.IndustryCaseQO;
import com.mmc.csf.infomation.qo.IndustryNewsQO;
import com.mmc.csf.release.entity.information.IndustryNewsDO;
import org.apache.ibatis.annotations.Mapper;
import java.util.List;
/**
* @author: zj
......
package com.mmc.csf.release.dao;
import com.mmc.csf.release.entity.forum.ForumDynamicDO;
import com.mmc.csf.release.entity.forum.ForumLikeDO;
import java.util.List;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;
import java.util.List;
import com.mmc.csf.release.entity.forum.ForumDynamicDO;
import com.mmc.csf.release.entity.forum.ForumLikeDO;
/**
* @Author LW
......
package com.mmc.csf.release.dao;
import com.mmc.csf.release.entity.requirements.OrderAmountDetailDO;
import org.apache.ibatis.annotations.Mapper;
import java.util.List;
/**
* @author Admin
* @description 针对表【order_amount_detail】的数据库操作Mapper
* @createDate 2023-11-27 18:55:19
* @Entity com.mmc.csf.release.entity.requirements.OrderAmountDetailDO
*/
@Mapper
public interface OrderAmountDetailDao {
int deleteByPrimaryKey(Integer requirementsInfoId);
/**
* 新增
* @param record
* @return int
*/
int insert(OrderAmountDetailDO record);
/**
* 选择性新增
* @param record 新增实体类
* @return int
*/
int insertSelective(OrderAmountDetailDO record);
/**
* 批量新增
* @param list 新增列表
*/
void batchInsert(List<OrderAmountDetailDO> list);
/**
* 根据订单id查询该订单金额明细
* @param requirementsInfoId 订单id
* @return {@link List}<{@link OrderAmountDetailDO}>
*/
List<OrderAmountDetailDO> selectByPrimaryKey(Integer requirementsInfoId);
int updateByPrimaryKeySelective(OrderAmountDetailDO record);
int updateByPrimaryKey(OrderAmountDetailDO record);
}
package com.mmc.csf.release.dao;
import com.mmc.csf.common.util.web.ResultBody;
import com.mmc.csf.infomation.dto.*;
import com.mmc.csf.infomation.qo.AgreeOrRefusePilotQO;
import com.mmc.csf.infomation.qo.IndustryCaseQO;
import com.mmc.csf.infomation.qo.MyPreemptQO;
import com.mmc.csf.infomation.qo.MyPublishQO;
import com.mmc.csf.infomation.qo.*;
import com.mmc.csf.infomation.vo.LiabilityProblemVO;
import com.mmc.csf.infomation.vo.ServiceSettleAccountsVO;
import com.mmc.csf.release.entity.information.PersonSendOrderDO;
import com.mmc.csf.release.entity.requirements.*;
import io.swagger.models.auth.In;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;
import java.math.BigDecimal;
import java.util.List;
......@@ -81,17 +80,32 @@ public interface RequirementsDao {
void requirementsDao(Integer id);
List<RequirementsInfoDO> appPublishList();
/**
* 取消的订单或者被抢完的订单就不展示
* @param requirementsInfoQO 排序条件
* @return {@link List}<{@link RequirementsInfoDO}>
*/
List<RequirementsInfoDO> appPublishList(RequirementsInfoQO requirementsInfoQO);
/**
* 所有的订单全部查出来展示到小程序上,后续运营起来请用上面的
* @param requirementsInfoQO 排序条件
* @return {@link List}<{@link RequirementsInfoDO}>
*/
List<RequirementsInfoDO> appPublishList1(RequirementsInfoQO requirementsInfoQO);
RequirementsInfoDO detailPublish(Integer id);
RequirementsInfoDO detailSendPublish(Integer id);
/**
* 获取被拒绝飞手具体订单信息
* @param id 订单id
* @return {@link RequirementsInfoDO}
*/
RequirementsInfoDO selectDetailRefusePilotInfo(Integer id);
void addPublishService(ServiceRequirementsDO requirementsInfoDO);
int addPublishService(ServiceRequirementsDO requirementsInfoDO);
void addPublishServiceSon(ServiceRequirementsSonDO serviceRequirementsSonDO);
......@@ -110,7 +124,9 @@ public interface RequirementsDao {
void fulfilATask(ServiceFulfilATaskDO serviceFulfilATaskDO);
void updateTaskUrl(@Param("taskUrl") String taskUrl,@Param("requirementsInfoId") Integer requirementsInfoId);
String getTaskUrl(Integer requirementsInfoId);
ServiceFulfilATaskDO fulfilATaskDetails(Integer requirementsInfoId, Integer userAccountId);
void settleAccounts(ServiceSettleAccountsDO settleAccountsDO);
......@@ -126,6 +142,15 @@ public interface RequirementsDao {
List<RequirementsInfoDO> myPublish(MyPublishQO param);
int mySendPublishCount(MyPublishQO param);
/**
* 获取需要管理员(飞手团队后台账号对应的小程序用户id) 同意或者指派的订单
* @param param 条件
* @return {@link List}<{@link RequirementsInfoDO}>
*/
List<RequirementsInfoDO> mySendPublish(MyPublishQO param);
List<RequirementsInfoDO> myPreempt(MyPreemptQO param);
RequirementsServiceDO droneFlyerCancel(Integer requirementsInfoId, Integer userAccountId);
......@@ -134,6 +159,13 @@ public interface RequirementsDao {
RequirementsInfoDO publisherCancel(Integer requirementsInfoId, Integer userAccountId);
/**
* 取消订单
* @param requirementsInfoId
* @param userAccountId
* @return {@link RequirementsInfoDO}
*/
RequirementsInfoDO publisherCancel1(Integer requirementsInfoId, Integer userAccountId);
RequirementsInfoDO publisherCancelFlyers(Integer requirementsInfoId);
RequirementsInfoDO customerPublisherCancel(Integer requirementsInfoId, Integer userAccountId);
......@@ -309,7 +341,7 @@ public interface RequirementsDao {
* @param requirementsId 订单id
* @return {@link Integer}
*/
Integer selectRequirementsNum(Integer requirementsId);
int selectRequirementsNum(Integer requirementsId);
/**
* 根据父订单id查询不满足状态条件的子订单数量
......@@ -342,4 +374,152 @@ public interface RequirementsDao {
*/
Integer selectServiceFlowIdFromAgreePilot(Integer requireId,Integer userAccountId);
RequirementsServicePilotInfoDO selectPilotInfoByRequireId(Integer requireId);
/**
* 获取临时表对应的订单信息
* @param requireId
* @return {@link RequirementsServicePilotInfoDO}
*/
RequirementsServicePilotInfoDO selectTempPilotInfoByRequireId(Integer requireId);
/**
* 根据流程id查询订单所处状态
* @param serviceFlowId
* @return {@link String}
*/
String selectOrderStatusByServiceFlowId(Integer serviceFlowId);
/**
* 查询订单所处的状态
* @param requireId 订单id
* @return {@link Integer}
*/
Integer selectServiceIdByRequireId(Integer requireId);
/**
* 获取后台修改后的金额
* @param requireId 订单id
* @return {@link Integer}
*/
BigDecimal getChangedOrderAmount(Integer requireId);
/**
* 获取用户是否确认后台修改的金额
* @param requireId
* @return {@link Integer}
*/
Integer selectUserSureChangeAmount(Integer requireId);
/**
* 给飞手接的单子设置默认的工作时间
* @param requireId 订单id
*/
void setWorkTimeByPilot(Integer requireId);
/**
* 根据订单id获取发单用户id
* @param requireId 订单id
* @return {@link Integer}
*/
Integer getUserIdByRequireId(Integer requireId);
/**
* 根据订单id获取接单飞手id
* @param requireId 订单id
* @return {@link Integer}
*/
Integer getPilotUserIdByRequireId(Integer requireId);
/**
* 根据飞手进行派单操作
*/
Integer personSendOrder(PersonSendOrderDO personSendOrderDO);
/**
* 查询父订单下面的所有子订单id
*/
List<Integer> selectAllSuborder(Integer fatherRequireId);
/**
* 修改info表中的状态
*/
Integer updateInfoStatus(@Param("id") Integer requireId,@Param("status")Integer status);
/**
* 查询飞手是否重复派单
*/
Integer isReSendOrder(Integer requireId);
Integer reSendOrder(@Param("requireId") Integer requireId,@Param("userAccountId")Integer userAccountId);
/**
* 查询飞手订单是否被抢
*/
Integer isLootedByPilot(Integer requireId);
/**
* 查询团队订单是否被抢
*/
Integer isLootedByTeam(Integer requireId);
/**
* 查询是否是团队派单
*/
Integer isTeamSendOrder(@Param("requireId") Integer requireId);
/**
* 查询派单信息
*/
PersonSendOrderDO selectSendOrderById(Integer id);
/**
* 飞手是否确认接单
*/
Integer orderConfirmationByPilot(@Param("id") Integer id,@Param("status") Integer status);
/**
* 查询飞手是否重复确认
*/
Integer isReConfirm(Integer id);
void updateSendOrder(PersonSendOrderDO personSendOrderDO);
void deleteSendOrder(Integer requirementsInfoId);
/**
* 管理员确认接单
*/
Integer orderConfirmationByTeam(@Param("id") Integer id,@Param("status") Integer status);
/**
* 飞手拒绝后订单发往抢单大厅
*/
Integer updateCount(Integer id);
/**
* 根据飞手ID查询派单的列表数量
*/
Integer mySendOderListCount(MyPreemptQO param);
/**
* 根据飞手ID查询派单的列表
*/
List<RequirementsInfoDO> mySendOderList(MyPreemptQO param);
/**
* 根据订单id查询发单用户的id
*/
Integer selectSenderId(Integer id);
/**
* 修改
* @param requireId
* @param num
*/
void updateOrderRequireNum(Integer requireId,int num);
/**
* 在requirements_service表中查找这个订单是否有人接单
* @param requirementsInfoId 订单id
* @return int
*/
int countRequireServiceNum(Integer requirementsInfoId);
}
......@@ -36,6 +36,9 @@ public interface LicenceBackgroundDao {
List<LicenseOrganizationsDO> listOrgPage(LicenseOrganizationsQO organizationsQO);
LicenseOrganizationsDO selectOrganizations(Integer backUserId);
List<LicenseProgramsDO> selectPrograms(Integer orgId);
List<LicenseProgramsDO> trainingProgram(LicenseOrganizationsQO organizationsQO);
......
package com.mmc.csf.release.entity.curriculum;
import com.mmc.csf.release.flyer.vo.CurriculumClassifyVO;
import com.mmc.csf.release.flyer.vo.CurriculumInfoVO;
import io.swagger.annotations.ApiModelProperty;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
import java.io.Serializable;
import java.math.BigDecimal;
import java.util.Date;
/**
* 课程基本信息(CurriculumClassifyDO)实体类
*
* @author han
*/
@Data
@AllArgsConstructor
@NoArgsConstructor
public class CurriculumClassifyDO implements Serializable {
private static final long serialVersionUID = 140348746605431718L;
private Integer id;
/**
* 课程类别名称
*/
private String name;
/**
* 1级课程分类
*/
private Integer oneCourseId;
/**
* 2级课程分类
*/
private Integer twoCourseId;
/**
* 分类图标
*/
private String classifyUrl;
/**
* 分类描述
*/
private String classifyDesc;
/**
* 创建时间
*/
private Date createTime;
/**
* 修改时间
*/
private Date updateTime;
/**
* 是否删除 0:否 1:是
*/
private Integer deleted;
public CurriculumClassifyDO(CurriculumClassifyVO curriculumClassifyVO) {
this.id = curriculumClassifyVO.getId();
this.name = curriculumClassifyVO.getName();
this.oneCourseId = curriculumClassifyVO.getOneCourseId();
this.twoCourseId = curriculumClassifyVO.getTwoCourseId();
this.classifyUrl = curriculumClassifyVO.getClassifyUrl();
this.classifyDesc = curriculumClassifyVO.getClassifyDesc();
}
public CurriculumClassifyVO buildCurriculumClassifyVO(){
return CurriculumClassifyVO.builder().id(id).name(name)
.oneCourseId(oneCourseId).twoCourseId(twoCourseId)
.classifyUrl(classifyUrl).classifyDesc(classifyDesc)
.createTime(createTime).updateTime(updateTime).build();
}
}
package com.mmc.csf.release.entity.curriculum;
import com.mmc.csf.release.flyer.vo.CurriculumInfoVO;
import io.swagger.annotations.ApiModelProperty;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
......@@ -22,23 +23,51 @@ public class CurriculumInfoDO implements Serializable {
private static final long serialVersionUID = 140348746605431718L;
private Integer id;
/**
* 课程名称
* 1级课程分类ID
*/
private String curriculumName;
private Integer oneCourseId;
/**
* 课程供应商(id),用户id
* 2级课程分类ID
*/
private Integer supplierId;
private Integer twoCourseId;
/**
* 课程价格
* 课程名称
*/
private BigDecimal curriculumPrice;
private String curriculumName;
/**
* 课程简介
*/
private String curriculumDesc;
/**
* 课程封面
*/
private String surfaceUrl;
/**
* 课程视频
*/
private String videoUrl;
/**
* 课程属性
*/
private Integer courseAttribute;
/**
* 课程所需金额
*/
private BigDecimal requireAmout;
/**
* 课程所需积分
*/
private Integer requireIntegral;
/**
* 课程是否热门 0:否 1:是
*/
private Integer isHot;
/**
* 课程详情
*/
private String detailContent;
/**
* 创建时间
*/
......@@ -52,32 +81,30 @@ public class CurriculumInfoDO implements Serializable {
*/
private Integer deleted;
private String videoUrl;
private String surfaceUrl;
private String detailContent;
/**
* 课程类型id
*/
private Integer categoriesId;
public CurriculumInfoDO(CurriculumInfoVO curriculumInfoVO) {
this.id = curriculumInfoVO.getId();
this.oneCourseId = curriculumInfoVO.getOneCourseId();
this.twoCourseId = curriculumInfoVO.getTwoCourseId();
this.curriculumName = curriculumInfoVO.getCurriculumName();
this.curriculumDesc = curriculumInfoVO.getCurriculumDesc();
this.surfaceUrl = curriculumInfoVO.getSurfaceUrl();
this.detailContent = curriculumInfoVO.getDetailContent();
this.videoUrl = curriculumInfoVO.getVideoUrl();
this.categoriesId = curriculumInfoVO.getCategoriesId();
this.courseAttribute = curriculumInfoVO.getCourseAttribute();
this.requireAmout = curriculumInfoVO.getRequireAmout();
this.requireIntegral = curriculumInfoVO.getRequireIntegral();
this.isHot = curriculumInfoVO.getIsHot();
this.detailContent = curriculumInfoVO.getDetailContent();
}
public CurriculumInfoVO buildCurriculumInfoVO(){
return CurriculumInfoVO.builder().id(id).curriculumDesc(curriculumDesc).price(curriculumPrice)
.supplierName("浙江科比特创新科技有限公司").curriculumName(curriculumName)
return CurriculumInfoVO.builder().id(id).curriculumDesc(curriculumDesc)
.curriculumName(curriculumName)
.videoUrl(videoUrl).surfaceUrl(this.surfaceUrl).detailContent(this.detailContent)
.categoriesId(this.categoriesId).build();
.requireAmout(this.requireAmout).courseAttribute(courseAttribute)
.requireIntegral(this.requireIntegral).isHot(this.isHot)
.oneCourseId(this.oneCourseId).twoCourseId(this.twoCourseId)
.createTime(createTime).updateTime(updateTime).build();
}
}
......
package com.mmc.csf.release.entity.curriculum;
import lombok.Data;
import java.io.Serializable;
import java.math.BigDecimal;
import java.util.Date;
/**
*
* @TableName curriculum_order
*/
@Data
public class CurriculumOrder implements Serializable {
/**
*
*/
private Integer id;
/**
* 订单编号
*/
private String orderNo;
/**
* 下单用户id
*/
private Integer userAccountId;
/**
* 订单总金额
*/
private BigDecimal orderTotalAmount;
/**
* 抵扣佣金金额
*/
private BigDecimal salaryAmount;
/**
* 抵扣云享金金额
*/
private BigDecimal cashAmount;
/**
* 微信支付
*/
private BigDecimal weChat;
/**
* 发布者微信支付订单
*/
private String wechatPayOrderNumber;
/**
* 生成订单时间(下单时间)
*/
private Date createTime;
/**
* 最近修改时间
*/
private Date updateTime;
/**
* 课程id
*/
private Integer curriculumInfoId;
/**
* 消耗多少积分
*/
private Integer jifenConsume;
private static final long serialVersionUID = 1L;
}
\ No newline at end of file
package com.mmc.csf.release.entity.curriculum;
import io.swagger.annotations.ApiModelProperty;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
import java.io.Serializable;
import java.math.BigDecimal;
/**
* @author Admin
* @TableName curriculum_order
*/
@Data
@AllArgsConstructor
@NoArgsConstructor
public class CurriculumOrderDO implements Serializable {
/**
*
*/
@ApiModelProperty(value = "课程订单id")
private Integer id;
/**
* 订单编号
*/
@ApiModelProperty(value = "课程订单编号")
private String orderNo;
/**
* 下单用户id
*/
@ApiModelProperty(value = "购买用户的id")
private Integer userAccountId;
/**
* 订单总金额
*/
@ApiModelProperty(value = "订单总金额")
private BigDecimal orderTotalAmount;
/**
* 抵扣佣金金额
*/
@ApiModelProperty(value = "抵扣佣金金额")
private BigDecimal salaryAmount;
/**
* 抵扣云享金金额
*/
@ApiModelProperty(value = "抵扣云享金金额")
private BigDecimal cashAmount;
/**
* 微信支付金额
*/
@ApiModelProperty(value = "微信支付金额")
private BigDecimal weChat;
/**
* 发布者微信支付订单
*/
@ApiModelProperty(value = "发布者微信支付订单")
private String wechatPayOrderNumber;
/**
* 课程ID
*/
@ApiModelProperty(value = "课程ID")
private Integer curriculumInfoId;
/**
* 所需积分
*/
@ApiModelProperty(value = "所需积分")
private int jifenConsume;
private String curriculumName;
/**
* 课程简介
*/
private String curriculumDesc;
/**
* 课程封面
*/
private String surfaceUrl;
/**
* 课程视频
*/
private String videoUrl;
/**
* 课程所需金额
*/
private BigDecimal requireAmout;
/**
* 课程所需积分
*/
private Integer requireIntegral;
private static final long serialVersionUID = 1L;
}
\ No newline at end of file
package com.mmc.csf.release.entity.curriculum;
import com.fasterxml.jackson.annotation.JsonIgnore;
import com.mmc.csf.release.model.group.Page;
import io.swagger.annotations.ApiModelProperty;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
import javax.validation.constraints.Min;
import javax.validation.constraints.NotNull;
import java.io.Serializable;
/**
* @author Admin
* @date 2023/12/07
*/
@Data
@NoArgsConstructor
@AllArgsConstructor
public class CurriculumOrderQO implements Serializable {
private final static long serialVersionUID = 1L;
@ApiModelProperty(value = "页码", required = true,example = "1")
@NotNull(message = "页码不能为空", groups = Page.class)
@Min(value = 1, groups = Page.class)
private Integer pageNo;
@ApiModelProperty(value = "每页显示数", required = true,example = "10")
@NotNull(message = "每页显示数不能为空", groups = Page.class)
@Min(value = 1, groups = Page.class)
private Integer pageSize;
@ApiModelProperty(value = "订单编号")
private String orderNo;
@ApiModelProperty(value = "课程id")
private Integer curriculumInfoId;
@ApiModelProperty(value = "用户id")
@JsonIgnore
private Integer userAccountId;
private Integer courseAttribute;
public void buildCurrentPage() {
this.pageNo = (pageNo - 1) * pageSize;
}
}
package com.mmc.csf.release.entity.forum;
import java.io.Serializable;
import com.mmc.csf.release.entity.common.BaseDO;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
import lombok.experimental.Accessors;
import java.io.Serializable;
/**
* 评论表(ForumCommentDO)实体类
*
......
package com.mmc.csf.release.entity.forum;
import java.io.Serializable;
import java.math.BigDecimal;
import com.mmc.csf.release.entity.common.BaseDO;
import com.mmc.csf.release.forum.dto.DynamicInfoDTO;
import com.mmc.csf.release.forum.vo.DynamicVO;
......@@ -12,12 +15,8 @@ import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
import lombok.experimental.Accessors;
import javax.validation.constraints.NotBlank;
import java.io.Serializable;
import java.math.BigDecimal;
import java.util.List;
/**
* 动态信息表(ForumDynamicDO)实体类
*
......@@ -30,8 +29,6 @@ import java.util.List;
@Accessors(chain = true)
public class ForumDynamicDO extends BaseDO implements Serializable {
private static final long serialVersionUID = 570379773690905364L;
/**
* 版本字段
*/
......@@ -94,12 +91,6 @@ public class ForumDynamicDO extends BaseDO implements Serializable {
@ApiModelProperty("")
private Integer transpond;
public ForumDynamicDO(DynamicVO dynamicVO) {
this.gambitIcon=dynamicVO.getGambitIcon();
this.gambitCover=dynamicVO.getGambitCover();
......
package com.mmc.csf.release.entity.forum;
import java.io.Serializable;
import java.util.Date;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
import lombok.experimental.Accessors;
import java.io.Serializable;
import java.util.Date;
/**
* 点赞表(ForumLikeDO)实体类
*
......
......@@ -2,6 +2,7 @@ package com.mmc.csf.release.entity.information;
import com.mmc.csf.infomation.vo.IndustryNewsDTO;
import io.swagger.annotations.ApiModelProperty;
import io.swagger.models.auth.In;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
......@@ -32,13 +33,13 @@ public class IndustryNewsDO implements Serializable {
@ApiModelProperty(value = "来源")
private String origin;
private Integer isDeleted;
private Integer isHot;
public IndustryNewsDTO buildIndustryNewsDTO(){
return IndustryNewsDTO.builder().id(id).newsTitle(newsTitle).newsAuthor(newsAuthor).userAccountId(userAccountId).surfaceImg(surfaceImg).
newsContents(newsContents).createTime(createTime).updateTime(updateTime).origin(origin).build();
newsContents(newsContents).isHot(isHot).createTime(createTime).updateTime(updateTime).origin(origin).build();
}
public IndustryNewsDO(Integer id, String newsTitle, String newsAuthor, Integer userAccountId, String surfaceImg, String newsContents, String origin) {
public IndustryNewsDO(Integer id, String newsTitle, String newsAuthor, Integer userAccountId, String surfaceImg, String newsContents, String origin, Integer isHot) {
this.id = id;
this.newsTitle = newsTitle;
this.newsAuthor = newsAuthor;
......@@ -46,5 +47,6 @@ public class IndustryNewsDO implements Serializable {
this.surfaceImg = surfaceImg;
this.newsContents = newsContents;
this.origin = origin;
this.isHot = isHot;
}
}
package com.mmc.csf.release.entity.information;
import com.mmc.csf.infomation.vo.IndustryCaseVO;
import com.mmc.csf.infomation.vo.PersonSendOrderVO;
import io.swagger.annotations.ApiModelProperty;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;
import javax.validation.constraints.NotNull;
import java.io.Serializable;
import java.util.Date;
/**
* @author han
*/
@Data
@AllArgsConstructor
@NoArgsConstructor
@Builder
public class PersonSendOrderDO implements Serializable {
private static final long serialVersionUID = 1L;
private Integer id;
/**
* 服务需求订单id
*/
private Integer requirementsInfoId;
/**
* 派单飞手id
*/
private Integer pilotCertificationId;
/**
* 派单飞手用户id
*/
private Integer pilotCertificationUserId;
/**
* 派单飞手用户id
*/
private Integer teamId;
/**
* 派单飞手用户id
*/
private Integer teamUserId;
/**
* 创建时间
*/
private Date createTime;
public PersonSendOrderDO(PersonSendOrderVO personSendOrderVO){
this.requirementsInfoId = personSendOrderVO.getRequirementsInfoId();
this.pilotCertificationId = personSendOrderVO.getPilotCertificationId();
this.pilotCertificationUserId = personSendOrderVO.getPilotCertificationUserId();
}
}
......@@ -93,6 +93,9 @@ public class LicenseOrganizationsDO {
@ApiModelProperty(value = "更新时间", example = "2023-07-14", required = true)
private Date updateTime;
@ApiModelProperty(value = "后台账号id")
private Integer backUserId;
/**
* VO类转换
*/
......@@ -111,6 +114,7 @@ public class LicenseOrganizationsDO {
this.regionName = organizationsVO.getRegionName();
this.longitude = organizationsVO.getLongitude();
this.latitude = organizationsVO.getLatitude();
this.backUserId = organizationsVO.getBackUserId();
}
......
package com.mmc.csf.release.entity.module;
import java.io.Serializable;
import java.util.Date;
import com.mmc.csf.infomation.dto.BannerInfoDTO;
import com.mmc.csf.infomation.vo.BannerInfoVO;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
import java.io.Serializable;
import java.util.Date;
/**
* @Author small
* @Date 2023/5/23 14:28
......@@ -45,7 +46,6 @@ public class BannerInfoDO implements Serializable {
*/
private String detailInfo;
private Integer sort;
/**
* 有效开始时间
*/
......
package com.mmc.csf.release.entity.requirements;
import com.fasterxml.jackson.annotation.JsonFormat;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import javax.validation.constraints.NotNull;
import java.io.Serializable;
import java.math.BigDecimal;
import java.util.Date;
/**
*
* @TableName order_amount_detail
*/
@Data
public class OrderAmountDetailDO implements Serializable {
/**
*
*/
private Integer id;
/**
* 订单id
*/
@ApiModelProperty(value = "订单id",required = true)
@NotNull(message = "订单id不能为空")
private Integer requirementsInfoId;
/**
* 每天的工资
*/
@ApiModelProperty(value = "每天的工资")
private BigDecimal dailyWage;
/**
* 节日补贴
*/
@ApiModelProperty(value = "节日补贴")
private BigDecimal subsidyFestival;
/**
* 租房补贴
*/
@ApiModelProperty(value = "租房补贴")
private BigDecimal rentalSubsidy;
/**
* 交通补贴
*/
@ApiModelProperty(value = "交通补贴")
private BigDecimal trafficSubsidy;
/**
* 高温补贴
*/
@ApiModelProperty(value = "高温补贴")
private BigDecimal highTemperatureSubsidy;
/**
* 结算比例
*/
@ApiModelProperty(value = "结算比例")
private BigDecimal settleAccountsProportion;
/**
* 实际工资 上边加一起乘以结算比例
*/
@ApiModelProperty(value = "实际工资")
private BigDecimal realWages;
/**
* 工作的时间
*/
@ApiModelProperty(value = "工作时间")
@JsonFormat(pattern = "yyyy-MM-dd", timezone = "GMT+8")
private Date workDate;
@ApiModelProperty(value = "其他")
private BigDecimal otherSubsidy;
@ApiModelProperty(value = "备注,解释为什么有其他费用")
private String remark;
private static final long serialVersionUID = 1L;
/**
*
*/
public Integer getId() {
return id;
}
/**
*
*/
public void setId(Integer id) {
this.id = id;
}
/**
*
*/
public Integer getRequirementsInfoId() {
return requirementsInfoId;
}
/**
*
*/
public void setRequirementsInfoId(Integer requirementsInfoId) {
this.requirementsInfoId = requirementsInfoId;
}
/**
* 每天的工资
*/
public BigDecimal getDailyWage() {
return dailyWage;
}
/**
* 每天的工资
*/
public void setDailyWage(BigDecimal dailyWage) {
this.dailyWage = dailyWage;
}
/**
* 节日补贴
*/
public BigDecimal getSubsidyFestival() {
return subsidyFestival;
}
/**
* 节日补贴
*/
public void setSubsidyFestival(BigDecimal subsidyFestival) {
this.subsidyFestival = subsidyFestival;
}
/**
* 租房补贴
*/
public BigDecimal getRentalSubsidy() {
return rentalSubsidy;
}
/**
* 租房补贴
*/
public void setRentalSubsidy(BigDecimal rentalSubsidy) {
this.rentalSubsidy = rentalSubsidy;
}
/**
* 交通补贴
*/
public BigDecimal getTrafficSubsidy() {
return trafficSubsidy;
}
/**
* 交通补贴
*/
public void setTrafficSubsidy(BigDecimal trafficSubsidy) {
this.trafficSubsidy = trafficSubsidy;
}
/**
* 高温补贴
*/
public BigDecimal getHighTemperatureSubsidy() {
return highTemperatureSubsidy;
}
/**
* 高温补贴
*/
public void setHighTemperatureSubsidy(BigDecimal highTemperatureSubsidy) {
this.highTemperatureSubsidy = highTemperatureSubsidy;
}
/**
* 结算比例
*/
public BigDecimal getSettleAccountsProportion() {
return settleAccountsProportion;
}
/**
* 结算比例
*/
public void setSettleAccountsProportion(BigDecimal settleAccountsProportion) {
this.settleAccountsProportion = settleAccountsProportion;
}
/**
* 实际工资 上边加一起乘以结算比例
*/
public BigDecimal getRealWages() {
return realWages;
}
/**
* 实际工资 上边加一起乘以结算比例
*/
public void setRealWages(BigDecimal realWages) {
this.realWages = realWages;
}
/**
* 工作的时间
*/
public Date getWorkDate() {
return workDate;
}
/**
* 工作的时间
*/
public void setWorkDate(Date workDate) {
this.workDate = workDate;
}
@Override
public boolean equals(Object that) {
if (this == that) {
return true;
}
if (that == null) {
return false;
}
if (getClass() != that.getClass()) {
return false;
}
OrderAmountDetailDO other = (OrderAmountDetailDO) that;
return (this.getId() == null ? other.getId() == null : this.getId().equals(other.getId()))
&& (this.getRequirementsInfoId() == null ? other.getRequirementsInfoId() == null : this.getRequirementsInfoId().equals(other.getRequirementsInfoId()))
&& (this.getDailyWage() == null ? other.getDailyWage() == null : this.getDailyWage().equals(other.getDailyWage()))
&& (this.getSubsidyFestival() == null ? other.getSubsidyFestival() == null : this.getSubsidyFestival().equals(other.getSubsidyFestival()))
&& (this.getRentalSubsidy() == null ? other.getRentalSubsidy() == null : this.getRentalSubsidy().equals(other.getRentalSubsidy()))
&& (this.getTrafficSubsidy() == null ? other.getTrafficSubsidy() == null : this.getTrafficSubsidy().equals(other.getTrafficSubsidy()))
&& (this.getHighTemperatureSubsidy() == null ? other.getHighTemperatureSubsidy() == null : this.getHighTemperatureSubsidy().equals(other.getHighTemperatureSubsidy()))
&& (this.getSettleAccountsProportion() == null ? other.getSettleAccountsProportion() == null : this.getSettleAccountsProportion().equals(other.getSettleAccountsProportion()))
&& (this.getRealWages() == null ? other.getRealWages() == null : this.getRealWages().equals(other.getRealWages()))
&& (this.getWorkDate() == null ? other.getWorkDate() == null : this.getWorkDate().equals(other.getWorkDate()));
}
@Override
public int hashCode() {
final int prime = 31;
int result = 1;
result = prime * result + ((getId() == null) ? 0 : getId().hashCode());
result = prime * result + ((getRequirementsInfoId() == null) ? 0 : getRequirementsInfoId().hashCode());
result = prime * result + ((getDailyWage() == null) ? 0 : getDailyWage().hashCode());
result = prime * result + ((getSubsidyFestival() == null) ? 0 : getSubsidyFestival().hashCode());
result = prime * result + ((getRentalSubsidy() == null) ? 0 : getRentalSubsidy().hashCode());
result = prime * result + ((getTrafficSubsidy() == null) ? 0 : getTrafficSubsidy().hashCode());
result = prime * result + ((getHighTemperatureSubsidy() == null) ? 0 : getHighTemperatureSubsidy().hashCode());
result = prime * result + ((getSettleAccountsProportion() == null) ? 0 : getSettleAccountsProportion().hashCode());
result = prime * result + ((getRealWages() == null) ? 0 : getRealWages().hashCode());
result = prime * result + ((getWorkDate() == null) ? 0 : getWorkDate().hashCode());
return result;
}
@Override
public String toString() {
StringBuilder sb = new StringBuilder();
sb.append(getClass().getSimpleName());
sb.append(" [");
sb.append("Hash = ").append(hashCode());
sb.append(", id=").append(id);
sb.append(", requirementsInfoId=").append(requirementsInfoId);
sb.append(", dailyWage=").append(dailyWage);
sb.append(", subsidyFestival=").append(subsidyFestival);
sb.append(", rentalSubsidy=").append(rentalSubsidy);
sb.append(", trafficSubsidy=").append(trafficSubsidy);
sb.append(", highTemperatureSubsidy=").append(highTemperatureSubsidy);
sb.append(", settleAccountsProportion=").append(settleAccountsProportion);
sb.append(", realWages=").append(realWages);
sb.append(", workDate=").append(workDate);
sb.append(", serialVersionUID=").append(serialVersionUID);
sb.append("]");
return sb.toString();
}
}
\ No newline at end of file
package com.mmc.csf.release.entity.requirements;
import com.fasterxml.jackson.annotation.JsonIgnore;
import com.mmc.csf.config.IsNullConvertZero;
import com.mmc.csf.infomation.vo.RequirementsAmountVO;
import io.swagger.annotations.ApiModelProperty;
......@@ -27,7 +28,7 @@ public class RequirementsAmountUpdateDO {
@IsNullConvertZero
private BigDecimal orderAmount;
@ApiModelProperty(value = "发布者修改订单金额", example = "100")
@ApiModelProperty(value = "发布者修改订单金额", example = "100")
@IsNullConvertZero
private BigDecimal updateOrderAmount;
......@@ -67,6 +68,10 @@ public class RequirementsAmountUpdateDO {
@IsNullConvertZero
private BigDecimal returnSalaryAmount;
@ApiModelProperty(value = "小程序是否支付修改后金额 1,支付了 0,后台修改未支付")
@JsonIgnore
private Integer userSureChange;
public RequirementsAmountUpdateDO(RequirementsAmountVO amountVO, RequirementsInfoDO requirementsInfoDO) {
this.updateOrderAmount = amountVO.getUpdateOrderAmount();
this.reason = amountVO.getReason();
......
......@@ -28,6 +28,9 @@ import java.util.Date;
public class RequirementsInfoDO implements Serializable {
private static final long serialVersionUID = -1811974173256250060L;
private Integer id;
private Integer tempId;
private Integer requirementTypeId;
private Integer userAccountId;
private Integer provinceCode;
......@@ -183,6 +186,14 @@ public class RequirementsInfoDO implements Serializable {
@ApiModelProperty(value = "订单的父订单id")
private Integer fatherRequireId;
@ApiModelProperty(value = "管理员操作")
private int teamStatus;
@ApiModelProperty(value = "二级分类id")
private int inspectionId;
@ApiModelProperty(value = "项目号")
private String projectCode;
public RequirementsInfoVO buildRequirementsInfoVO() {
return RequirementsInfoVO.builder().id(this.id).requirementTypeId(this.requirementTypeId).userAccountId(this.userAccountId).publishName(this.publishName)
......@@ -211,6 +222,7 @@ public class RequirementsInfoDO implements Serializable {
.updateOrderAmount(this.updateOrderAmount)
.reason(this.reason)
.url(this.url)
.orderStatus(this.orderStatus)
.afterModificationReason(this.afterModificationReason)
.afterModificationUrl(this.afterModificationUrl)
.pilotCertificationUserId(this.pilotCertificationUserId)
......@@ -219,6 +231,11 @@ public class RequirementsInfoDO implements Serializable {
.createTime(this.createTime)
.repertory(this.repertory)
.requireNum(this.requireNum)
.serviceFlowId(this.serviceFlowId)
.teamStatus(this.teamStatus)
.tempId(this.tempId)
.inspectionId(this.inspectionId)
.projectCode(this.projectCode)
.build();
}
......
......@@ -3,6 +3,7 @@ package com.mmc.csf.release.entity.requirements;
import com.alibaba.fastjson.annotation.JSONField;
import com.mmc.csf.config.IsNullConvertZero;
import com.mmc.csf.infomation.dto.PilotCertificationInteriorDTO;
import com.mmc.csf.release.entity.information.PersonSendOrderDO;
import io.swagger.annotations.ApiModelProperty;
import lombok.AllArgsConstructor;
import lombok.Data;
......@@ -89,5 +90,15 @@ public class RequirementsServiceDO implements Serializable {
this.requirementsInfoId = requirementsInfoDO.getId();
}
/**
* 派单信息同步
*/
public RequirementsServiceDO(PersonSendOrderDO personSendOrderDO){
this.requirementsInfoId = personSendOrderDO.getRequirementsInfoId();
this.pilotCertificationId = personSendOrderDO.getPilotCertificationId();
this.pilotCertificationUserId = personSendOrderDO.getPilotCertificationUserId();
this.teamUserId = personSendOrderDO.getTeamUserId();
this.teamId = personSendOrderDO.getTeamId();
this.serviceFlowId = 2;
}
}
package com.mmc.csf.release.entity.requirements;
import io.swagger.annotations.ApiModelProperty;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
/**
* @author Admin
* @date 2023/11/11
*/
@Data
@AllArgsConstructor
@NoArgsConstructor
public class RequirementsServicePilotInfoDO {
@ApiModelProperty(value = "抢单飞手id")
Integer pilotCertificationId;
@ApiModelProperty(value ="抢单飞手用户id")
Integer pilotCertificationUserId;
}
......@@ -69,6 +69,12 @@ public class ServiceOrderFormDO {
@ApiModelProperty(value = "等待状态", example = "100")
private String waiting;
@ApiModelProperty(value = "父订单id")
private Integer fatherRequireId;
@ApiModelProperty(value = "订单对应项目号")
private String projectCode;
public ServiceOrderFormDTO buildServiceOrderForm() {
return ServiceOrderFormDTO.builder()
.id(this.id)
......@@ -85,6 +91,8 @@ public class ServiceOrderFormDO {
.updateTime(this.updateTime)
.orderStatus(this.orderStatus)
.waiting(this.waiting)
.fatherRequireId(this.fatherRequireId)
.projectCode(this.projectCode)
.build();
}
......
......@@ -113,6 +113,13 @@ public class ServiceOrderFormDetailsDO {
private Integer duty;
@ApiModelProperty(value = "订单对应的项目号")
private String projectCode;
@ApiModelProperty(value = "二级服务id")
private Integer inspectionId;
public ServiceOrderFormDetailsDTO buildOrderFormDetails() {
return ServiceOrderFormDetailsDTO.builder()
.id(this.id)
......@@ -141,6 +148,8 @@ public class ServiceOrderFormDetailsDO {
.orderEarnings(this.orderEarnings)
.duty(this.duty)
.decisionContent(this.decisionContent)
.projectCode(this.projectCode)
.inspectionId(this.inspectionId)
.build();
}
}
......@@ -148,6 +148,11 @@ public class ServiceRequirementsDO {
@ApiModelProperty(value = "订单总共所需多少人")
private Integer requireNum;
@ApiModelProperty(value = "订单项目号")
private String projectCode;
@ApiModelProperty(value = "二级服务分类")
private String inspectionId;
public ServiceRequirementsDO(ServiceRequirementsVO serviceRequirementsVO) {
this.id = serviceRequirementsVO.getId();
this.userAccountId = serviceRequirementsVO.getUserAccountId();
......@@ -175,6 +180,8 @@ public class ServiceRequirementsDO {
this.cityCode = serviceRequirementsVO.getCityCode();
this.districtCode = serviceRequirementsVO.getDistrictCode();
this.requireNum = serviceRequirementsVO.getRequireNum();
this.projectCode = serviceRequirementsVO.getProjectCode();
this.inspectionId = serviceRequirementsVO.getInspectionId();
}
......
......@@ -148,6 +148,11 @@ public class ServiceRequirementsSonDO {
@ApiModelProperty(value = "上级订单id")
private Integer fatherRequireId;
@ApiModelProperty(value = "订单项目号")
private String projectCode;
@ApiModelProperty(value = "二级服务分类")
private String inspectionId;
public ServiceRequirementsSonDO(ServiceRequirementsDO serviceRequirementsDO) {
BigDecimal decimalSum = new BigDecimal(serviceRequirementsDO.getRequireNum());
this.serviceId = serviceRequirementsDO.getServiceId();
......@@ -184,5 +189,7 @@ public class ServiceRequirementsSonDO {
this.serviceName = serviceRequirementsDO.getServiceName();
this.requireNum = 1;
this.fatherRequireId = serviceRequirementsDO.getId();
this.projectCode = serviceRequirementsDO.getProjectCode();
this.inspectionId = serviceRequirementsDO.getInspectionId();
}
}
package com.mmc.csf.release.entity.tender;
import java.io.Serializable;
import java.math.BigDecimal;
import javax.validation.constraints.NotNull;
import javax.validation.constraints.Size;
import cn.afterturn.easypoi.excel.annotation.Excel;
import cn.afterturn.easypoi.excel.annotation.ExcelTarget;
import lombok.AllArgsConstructor;
......@@ -7,11 +13,6 @@ import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;
import javax.validation.constraints.NotNull;
import javax.validation.constraints.Size;
import java.io.Serializable;
import java.math.BigDecimal;
/**
* author:zhenjie
* Date:2022/5/23
......
package com.mmc.csf.release.entity.tender;
import java.io.Serializable;
import java.util.Date;
import com.mmc.csf.infomation.dto.TenderApplyDTO;
import com.mmc.csf.infomation.vo.TenderApplyVO;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
import java.io.Serializable;
import java.util.Date;
/**
* author:zhenjie
* Date:2022/5/21
......
package com.mmc.csf.release.entity.tender;
import java.io.Serializable;
import java.math.BigDecimal;
import java.util.Date;
import com.mmc.csf.infomation.dto.AppTenderInfoDTO;
import com.mmc.csf.infomation.dto.TenderInfoDTO;
import io.swagger.annotations.ApiModelProperty;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
import java.io.Serializable;
import java.math.BigDecimal;
import java.util.Date;
/**
* author:zhenjie
* Date:2022/5/21
......
package com.mmc.csf.release.enums;
/**
* 对应ims service_flow中的字段
* @author Admin
* @date 2023/11/29
*/
public enum ServiceIdEnum {
WAIT_CHANGE_AMOUNT(12,"等待修改金额"),
DETAIL_COMPLETE(4,"任务已完成"),
SENDING_OUT_ORDERS(13,"派单中");
private Integer code;
private String name;
ServiceIdEnum(Integer code, String name) {
this.code = code;
this.name = name;
}
public void setCode(Integer code) {
this.code = code;
}
public Integer getCode() {
return this.code;
}
public void setName(String name) {
this.name = name;
}
public String getName() {
return this.name;
}
}
......@@ -3,15 +3,20 @@ package com.mmc.csf.release.feign;
import com.mmc.csf.common.util.web.ResultBody;
import com.mmc.csf.infomation.dto.PilotCertificationInteriorDTO;
import com.mmc.csf.infomation.dto.TeamMessageDO;
import com.mmc.csf.infomation.dto.UserAccountSimpleDTO;
import com.mmc.csf.infomation.dto.UserBaseInfoDTO;
import com.mmc.csf.release.auth.qo.BUserAccountQO;
import com.mmc.csf.release.auth.qo.UserAccountQO;
import com.mmc.csf.release.feign.hystrix.UserAppApiHystrix;
import com.mmc.csf.release.flyer.vo.CurriculumOrderLogVO;
import com.mmc.csf.user.vo.ChangeUserPointVO;
import com.mmc.csf.user.vo.WxMsgVO;
import io.swagger.annotations.ApiParam;
import org.springframework.cloud.openfeign.FeignClient;
import org.springframework.web.bind.annotation.*;
import javax.servlet.http.HttpServletRequest;
import java.util.List;
/**
......@@ -62,6 +67,9 @@ public interface UserAppApi {
@PostMapping("/userapp/user-account/feignListAppUserAccount")
List<UserAccountSimpleDTO> feignListAppUserAccount(@ApiParam(value = "账号查询QO", required = true) @RequestBody UserAccountQO userAccountQO, @RequestHeader("token") String token);
@PostMapping("/userapp/user-account/feignListAppUserAccount1")
List<UserAccountSimpleDTO> feignListAppUserAccount1(@ApiParam(value = "账号查询QO", required = true) @RequestBody UserAccountQO userAccountQO);
/**
* 根据用户id获取基本信息
......@@ -74,4 +82,25 @@ public interface UserAppApi {
@PostMapping("/userapp/userPoint/change")
public ResultBody changeUserPoint(@RequestBody ChangeUserPointVO changePoint, @RequestHeader("token") String token);
@GetMapping("/userapp/pilot/selectPilotIdList")
List<Integer> feignGetPilotIdList(@RequestHeader("token") String token);
@GetMapping("/userapp/user-account/feignGetUserBaseInfo")
UserBaseInfoDTO feignGetUserBaseInfo(@RequestParam Integer userAccountId);
@GetMapping("/userapp/userPoint/feignChangeUserPoints")
ResultBody feignChangeUserPoints(@RequestHeader("token") String token,@RequestHeader HttpServletRequest request, @RequestParam("id") int changePoint,@RequestParam("reason") String reason);
@PostMapping("/userapp/pay/feignCurriculumOrderLog")
ResultBody feignCurriculumOrderLog(@RequestHeader("token") String token,@RequestHeader HttpServletRequest request,@RequestBody CurriculumOrderLogVO curriculumOrderLogVO);
@PostMapping("/userapp/wx/send")
ResultBody feignSendWxMsg(@RequestHeader("token") String token,@RequestBody WxMsgVO ws);
@GetMapping("/userapp/pilot/selectPilotTeamManagerId")
Integer selectPilotTeamManagerId(@RequestHeader("token") String token,@RequestParam Integer pilotUserId);
@GetMapping("/userapp/pilot/getPilotApplyPhone")
String getPilotApplyPhone(@RequestHeader("token") String token,@RequestParam Integer userAccountId);
}
......@@ -4,13 +4,18 @@ import com.alibaba.fastjson.JSONObject;
import com.mmc.csf.common.util.web.ResultBody;
import com.mmc.csf.common.util.web.ResultEnum;
import com.mmc.csf.infomation.dto.PilotCertificationInteriorDTO;
import com.mmc.csf.infomation.dto.TeamMessageDO;
import com.mmc.csf.infomation.dto.UserAccountSimpleDTO;
import com.mmc.csf.infomation.dto.UserBaseInfoDTO;
import com.mmc.csf.release.auth.qo.BUserAccountQO;
import com.mmc.csf.release.auth.qo.UserAccountQO;
import com.mmc.csf.release.feign.UserAppApi;
import com.mmc.csf.release.flyer.vo.CurriculumOrderLogVO;
import com.mmc.csf.user.vo.ChangeUserPointVO;
import com.mmc.csf.user.vo.WxMsgVO;
import lombok.extern.slf4j.Slf4j;
import javax.servlet.http.HttpServletRequest;
import java.util.List;
/**
......@@ -42,6 +47,11 @@ public class UserAppApiHystrix implements UserAppApi {
log.error("熔断:feignListAppUserAccount:{}", userAccountQO);
return null;
}
@Override
public List<UserAccountSimpleDTO> feignListAppUserAccount1(UserAccountQO userAccountQO) {
log.error("熔断:feignListAppUserAccount:{}", userAccountQO);
return null;
}
@Override
public PilotCertificationInteriorDTO feignInteriorDetailPilot(Integer userAccountId) {
......@@ -54,4 +64,46 @@ public class UserAppApiHystrix implements UserAppApi {
log.error("发放积分 熔断:changeUserPoint:{}", JSONObject.toJSON(changePoint));
return ResultBody.error(ResultEnum.OPERATION_SYS_ERROR);
}
@Override
public List<Integer> feignGetPilotIdList(String token) {
log.error("熔断:feignGetUserSimpleInfo");
return null;
}
@Override
public UserBaseInfoDTO feignGetUserBaseInfo(Integer userAccountId) {
log.error("获取用户基本信息 熔断:feignGetUserBaseInfo:{}", userAccountId);
return null;
}
@Override
public ResultBody feignChangeUserPoints(String token,HttpServletRequest request, int changePoint, String reason) {
log.error("获取积分日志 熔断:feignChangeUserPoints:{}", changePoint, reason);
return null;
}
@Override
public ResultBody feignCurriculumOrderLog(String token,HttpServletRequest request,CurriculumOrderLogVO curriculumOrderLogVO) {
return null;
}
@Override
public ResultBody feignSendWxMsg(String token, WxMsgVO ws) {
log.error("发送消息 熔断:feignCurriculumOrderLog:{}", ws);
return null;
}
@Override
public Integer selectPilotTeamManagerId(String token, Integer pilotUserId) {
return null;
}
@Override
public String getPilotApplyPhone(String token, Integer userAccountId) {
return null;
}
}
......@@ -4,6 +4,9 @@ import com.mmc.csf.common.util.page.PageResult;
import com.mmc.csf.common.util.web.ResultBody;
import com.mmc.csf.infomation.qo.ServiceOrderQO;
import com.mmc.csf.release.auth.dto.LoginSuccessDTO;
import com.mmc.csf.release.entity.requirements.OrderAmountDetailDO;
import java.util.List;
/**
* @Author small
......@@ -14,4 +17,26 @@ public interface BackRequirementsService {
PageResult serviceOrderFormList(ServiceOrderQO param, LoginSuccessDTO userLoginInfoFromRedis);
ResultBody serviceOrderFormDetails(Integer requirementsInfoId, LoginSuccessDTO userLoginInfoFromRedis);
/**
* 根据订单id获取到这个订单的金额具体明细
* @param requirementsInfoId 订单id
* @return {@link ResultBody}
*/
ResultBody getOrderAmountDetails(Integer requirementsInfoId);
/**
* 先删除之前的默认数据 再新增
* @param list
* @return {@link ResultBody}
*/
ResultBody updateOrderAmountDetails(List<OrderAmountDetailDO> list);
/**
* 批量添加
* @param list 列表
* @return {@link ResultBody}
*/
ResultBody insertOrderAmountDetails(List<OrderAmountDetailDO> list);
}
......@@ -11,7 +11,7 @@ import javax.servlet.http.HttpServletRequest;
* @date 2023/6/19 10:47 概要:
*/
public interface BackstageForumService {
PageResult listDynamic(DynamicQO dynamic, HttpServletRequest request);
PageResult listDynamic (DynamicQO dynamic, HttpServletRequest request);
ResultBody getDynamicAuditSum();
ResultBody deleteDynamic(Integer dynamicId);
......@@ -22,4 +22,9 @@ public interface BackstageForumService {
ResultBody checkDynamic(Integer dynamicId, Boolean status, String token);
/**
* 获取未审核的帖子的总数
* @return {@link ResultBody}
*/
ResultBody getNotCheckDynamicSum();
}
package com.mmc.csf.release.service;
import javax.servlet.http.HttpServletRequest;
import com.mmc.csf.common.util.page.PageResult;
import com.mmc.csf.common.util.web.ResultBody;
import com.mmc.csf.release.entity.gambit.ForumAttentionDO;
import com.mmc.csf.release.forum.vo.CommentVO;
import com.mmc.csf.release.forum.vo.DynamicVO;
import com.mmc.csf.release.forum.vo.ReplyToAReviewVO;
import com.mmc.csf.release.gambit.qo.ForumGambitQO;
import com.mmc.csf.release.gambit.qo.PostingLeaderboardQO;
import com.mmc.csf.release.gambit.vo.ForumGambitVO;
import io.swagger.models.auth.In;
import javax.servlet.http.HttpServletRequest;
import java.util.List;
/**
* @Author LW 测试合并
* @date 2023/5/15 10:29 概要:动态信息service层
......@@ -62,7 +58,7 @@ public interface DynamicService {
ResultBody dynamicDetails(Integer dynamicId, Integer userId, HttpServletRequest request);
PageResult dynamicList(
Integer pageNo, Integer pageSize, Integer userAccountId, HttpServletRequest request, Integer gambitId, Integer id, Integer userId, String description, List<String> gambitName);
Integer pageNo, Integer pageSize, Integer userAccountId, Integer gambitId, Integer id, Integer userId, String description, List<String> gambitName);
ResultBody recentNewsList(Integer userAccountId);
......
......@@ -2,10 +2,16 @@ package com.mmc.csf.release.service;
import com.mmc.csf.common.util.page.PageResult;
import com.mmc.csf.common.util.web.ResultBody;
import com.mmc.csf.release.entity.curriculum.CurriculumInfoDO;
import com.mmc.csf.release.entity.curriculum.CurriculumOrderDO;
import com.mmc.csf.release.entity.curriculum.CurriculumOrderQO;
import com.mmc.csf.release.flyer.qo.CurriculumQo;
import com.mmc.csf.release.flyer.vo.CurriculumClassifyVO;
import com.mmc.csf.release.flyer.vo.CurriculumInfoVO;
import com.mmc.csf.release.flyer.vo.CurriculumPayVO;
import com.mmc.csf.release.flyer.vo.RegistrationVO;
import javax.servlet.http.HttpServletRequest;
import java.util.List;
/**
......@@ -52,7 +58,7 @@ public interface FlyerTrainingService {
*/
ResultBody licenseOrSkillQueryCurriculum(Integer type);
ResultBody curriculumDetails(Integer id);
ResultBody curriculumDetails(Integer id,Integer userId);
/**
* 添加课程
......@@ -93,4 +99,68 @@ public interface FlyerTrainingService {
int feignCountCurriculumInfo(Integer categoriesId);
Integer getCurriculumCount();
/**
* 添加课程分类
*
* @param curriculumClassify
*/
Integer addCurriculumClassify(CurriculumClassifyVO curriculumClassify);
/**
* 修改课程分类
*
* @param curriculumClassify
*/
Integer updateCurriculumClassify(CurriculumClassifyVO curriculumClassify);
/**
* 删除课程分类
*
* @param oneCourseId 1级课程分类
* @param twoCourseId 2级课程分类
*/
ResultBody removeCurriculumClassify(Integer id);
/**
* 查询所有的课程分类
* @return
*/
ResultBody selectCurriculumClassify();
/**
* 根据课程ID查询课程信息
* @param id
* @return
*/
CurriculumInfoDO selectCurriculumInfoById(Integer id);
/**
* 购买课程——积分支付
* @param curriculumOrderDO
* @return
*/
Integer curriculumPayByIntegral(CurriculumOrderDO curriculumOrderDO);
/**
* 购买课程——金钱支付
* @param curriculumPayVO
* @return
*/
ResultBody curriculumPayByMoney(HttpServletRequest request, CurriculumPayVO curriculumPayVO, Integer accountId);
/**
* 分页查询订单列表
* @param param
* @return {@link List}<{@link CurriculumOrderDO}>
*/
ResultBody getCurriculumOrderList(CurriculumOrderQO param);
/**
* 删除订单
* @param id 删除对应订单的id
* @return {@link ResultBody}
*/
ResultBody deleteCurriculumOrderInfo(Integer id);
}
package com.mmc.csf.release.service;
import javax.servlet.http.HttpServletRequest;
import com.mmc.csf.common.util.web.ResultBody;
import com.mmc.csf.infomation.qo.IndustryCaseQO;
import com.mmc.csf.infomation.qo.IndustryNewsQO;
import com.mmc.csf.infomation.vo.IndustryNewsDTO;
import com.mmc.csf.infomation.vo.IndustryNewsVO;
import javax.servlet.http.HttpServletRequest;
/**
* @author: zj
......
......@@ -3,11 +3,9 @@ package com.mmc.csf.release.service;
import com.mmc.csf.common.util.page.PageResult;
import com.mmc.csf.common.util.web.ResultBody;
import com.mmc.csf.infomation.dto.*;
import com.mmc.csf.infomation.qo.AgreeOrRefusePilotQO;
import com.mmc.csf.infomation.qo.IndustryCaseQO;
import com.mmc.csf.infomation.qo.MyPreemptQO;
import com.mmc.csf.infomation.qo.MyPublishQO;
import com.mmc.csf.infomation.qo.*;
import com.mmc.csf.infomation.vo.*;
import com.mmc.csf.release.entity.information.PersonSendOrderDO;
import com.mmc.csf.release.entity.requirements.ServiceRequirementsDO;
import javax.servlet.http.HttpServletRequest;
......@@ -64,7 +62,7 @@ public interface RequirementsService {
ResultBody deletePublish(Integer id, Integer userAccountId);
ResultBody appPublishList();
ResultBody appPublishList(RequirementsInfoQO requirementsInfoQO);
ResultBody detailPublish(Integer id, HttpServletRequest request, Integer userAccountId);
......@@ -74,6 +72,14 @@ public interface RequirementsService {
PageResult myPublish(Integer userAccountId, MyPublishQO param);
/**
* 需要指派或者需要同意派单的列表
* @param adminUserId 用户的id
* @param param 查询的条件
* @return {@link PageResult}
*/
PageResult mySendPublish(Integer adminUserId, MyPublishQO param);
ResultBody<RequirementsInfoVO> grabTheOrder(GrabTheOrderVO grabTheOrderVO, HttpServletRequest request);
ResultBody arriveAtTheScene(ServiceArriveSceneVO serviceArriveSceneVO);
......@@ -82,6 +88,9 @@ public interface RequirementsService {
ResultBody fulfilATask(ServiceFulfilATaskVO fulfilATaskVO);
ResultBody updateTaskUrl(String taskUrl,Integer requirementsInfoId);
ResultBody getTaskUrl(Integer requirementsInfoId);
ResultBody<ServiceFulfilATaskDTO> fulfilATaskDetails(Integer requirementsInfoId, Integer userAccountId);
ResultBody settleAccounts(ServiceSettleAccountsVO settleAccountsVO, HttpServletRequest request);
......@@ -137,10 +146,37 @@ public interface RequirementsService {
*/
PageResult selectRequireSonInfo(Integer userAccountId, MyPublishQO param);
/**
* 同意或者拒绝飞手接单
* @param param 参数
* @return {@link ResultBody}
*/
ResultBody agreeOrRefusePilot(AgreeOrRefusePilotQO param);
/**
* 根据飞手进行派单操作
*/
ResultBody personSendOrder(PersonSendOrderVO personSendOrderVO,String token);
/**
* 根据团队进行派单操作
*/
ResultBody teamSendOrder(Integer fatherRequireId,Integer messageId,String token);
/**
* 飞手确认接单
*/
ResultBody orderConfirmationByPilot(Integer id,Integer status,String token);
/**
* 管理员确认接单
*/
ResultBody orderConfirmationByTeam(Integer id,Integer status,String token);
/**
* 个人飞手派单的订单列表
*/
PageResult mySendOderList(Integer userAccountId, MyPreemptQO param);
}
package com.mmc.csf.release.service.impl;
import com.alibaba.fastjson.JSONObject;
import com.mmc.csf.common.util.page.PageResult;
import com.mmc.csf.common.util.web.ResultBody;
import com.mmc.csf.config.IsNullConvertZeroUtil;
import com.mmc.csf.infomation.dto.ServiceOrderFormDTO;
import com.mmc.csf.infomation.dto.ServiceOrderFormDetailsDTO;
import com.mmc.csf.infomation.dto.*;
import com.mmc.csf.infomation.qo.ServiceOrderQO;
import com.mmc.csf.infomation.vo.RequireEveryStatusVO;
import com.mmc.csf.release.auth.dto.LoginSuccessDTO;
import com.mmc.csf.release.dao.BackRequirementsDao;
import com.mmc.csf.release.dao.OrderAmountDetailDao;
import com.mmc.csf.release.dao.RequirementsDao;
import com.mmc.csf.release.entity.requirements.OrderAmountDetailDO;
import com.mmc.csf.release.entity.requirements.RequirementsAmountUpdateDO;
import com.mmc.csf.release.entity.requirements.ServiceOrderFormDO;
import com.mmc.csf.release.entity.requirements.ServiceOrderFormDetailsDO;
import com.mmc.csf.release.enums.ServiceIdEnum;
import com.mmc.csf.release.feign.UserAppApi;
import com.mmc.csf.release.industry.IndustryTypeDTO;
import com.mmc.csf.release.service.BackRequirementsService;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.http.*;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import org.springframework.web.client.RestTemplate;
import java.math.BigDecimal;
import java.util.List;
import java.util.Objects;
import java.util.stream.Collectors;
/**
......@@ -23,30 +38,189 @@ import java.util.stream.Collectors;
* @Version 1.0
*/
@Service
@Transactional(rollbackFor = Exception.class)
@Slf4j
public class BackRequirementsServiceImpl implements BackRequirementsService {
@Autowired
private BackRequirementsDao backRequirementsDao;
@Autowired
private RequirementsDao requirementsDao;
@Autowired
private RestTemplate restTemplate;
@Autowired
private UserAppApi userAppApi;
@Autowired
private OrderAmountDetailDao orderAmountDetailDao;
@Value("${iuav.pmsapp.url}")
private String pmsApp;
@Override
public PageResult serviceOrderFormList(ServiceOrderQO param, LoginSuccessDTO userLoginInfoFromRedis) {
//权限限制,除了admin以外其他飞手团队后台账号只能看到自己团队里面飞手发的订单
Integer userAccountId = userLoginInfoFromRedis.getUserAccountId();
List<Integer> pilotUserIdList = null;
if(userAccountId != 1) {
pilotUserIdList = userAppApi.feignGetPilotIdList(userLoginInfoFromRedis.getToken());
if(pilotUserIdList == null || pilotUserIdList.isEmpty()) {
return PageResult.buildPage(param.getPageNo(), param.getPageSize(), 0);
}
param.setPilotUserIdList(pilotUserIdList);
}
int count = backRequirementsDao.countService(param);
if (count == 0) {
return PageResult.buildPage(param.getPageNo(), param.getPageSize(), count);
}
log.info("{} 团队成员id === 》 {}",userAccountId, pilotUserIdList);
Integer pageNo = param.getPageNo();
param.buildCurrentPage();
List<ServiceOrderFormDO> serviceOrderFormDOS = backRequirementsDao.serviceOrderFormList(param);
List<ServiceOrderFormDTO> collect = serviceOrderFormDOS.stream().map(ServiceOrderFormDO::buildServiceOrderForm).collect(Collectors.toList());
List<ServiceOrderFormDTO> collect = serviceOrderFormDOS.stream().map(ServiceOrderFormDO::buildServiceOrderForm)
.map(serviceOrderFormDTO -> {
Integer id = serviceOrderFormDTO.getId();
List<ServiceOrderFormDO> listSon = backRequirementsDao.getSonFromFatherRequireId(id);
//如果没有子订单 那就为总订单添加发单人和接单人信息
if(listSon == null || listSon.isEmpty()) {
//获取发单人信息
Integer userIdByRequireId = requirementsDao.getUserIdByRequireId(id);
UserBaseInfoDTO userBaseInfoDTO = userAppApi.feignGetUserBaseInfo(userIdByRequireId);
serviceOrderFormDTO.setOrderRelease(userBaseInfoDTO);
//获取接单人信息
Integer pilotUserIdByRequireId = requirementsDao.getPilotUserIdByRequireId(id);
if (pilotUserIdByRequireId == null) {
serviceOrderFormDTO.setOrderReceive(null);
}else {
UserBaseInfoDTO pilotUserBaseInfoDTO = userAppApi.feignGetUserBaseInfo(pilotUserIdByRequireId);
serviceOrderFormDTO.setOrderReceive(pilotUserBaseInfoDTO);
}
return serviceOrderFormDTO;
}
List<ServiceOrderFormDTO> childrenList = listSon.stream().map(ServiceOrderFormDO::buildServiceOrderForm).
map(serviceOrderFormDTO1 -> {
//获取发单人信息
Integer userIdByRequireId = requirementsDao.getUserIdByRequireId(serviceOrderFormDTO1.getId());
UserBaseInfoDTO userBaseInfoDTO = userAppApi.feignGetUserBaseInfo(userIdByRequireId);
serviceOrderFormDTO1.setOrderRelease(userBaseInfoDTO);
//获取接单人信息
Integer pilotUserIdByRequireId = requirementsDao.getPilotUserIdByRequireId(serviceOrderFormDTO1.getId());
if (pilotUserIdByRequireId == null) {
serviceOrderFormDTO1.setOrderReceive(null);
}else {
UserBaseInfoDTO pilotUserBaseInfoDTO = userAppApi.feignGetUserBaseInfo(pilotUserIdByRequireId);
serviceOrderFormDTO1.setOrderReceive(pilotUserBaseInfoDTO);
}
return serviceOrderFormDTO1;
}).
collect(Collectors.toList());
serviceOrderFormDTO.setChildrenRequire(childrenList);
return serviceOrderFormDTO;
})
.collect(Collectors.toList());
return PageResult.buildPage(pageNo, param.getPageSize(), count, collect);
}
@Override
public ResultBody serviceOrderFormDetails(Integer requirementsInfoId, LoginSuccessDTO userLoginInfoFromRedis) {
RequireEveryStatusVO requireEveryStatusVO = new RequireEveryStatusVO();
//抵达现场
ServiceArriveSceneDTO arriveSceneDTO = requirementsDao.serviceArriveSceneDTO(requirementsInfoId);
requireEveryStatusVO.setServiceArriveSceneDTO(arriveSceneDTO);
//完成任务
ServiceFulfilATaskDTO fulfilATaskDTO = requirementsDao.serviceFulfilATaskDTO(requirementsInfoId);
requireEveryStatusVO.setServiceFulfilATaskDTO(fulfilATaskDTO);
//评价
ServiceEvaluateDTO serviceEvaluateDTO = requirementsDao.serviceEvaluateDTO(requirementsInfoId);
requireEveryStatusVO.setServiceEvaluateDTO(serviceEvaluateDTO);
//修改金额
RequirementsAmountUpdateDTO requirementsAmountUpdateDTO = requirementsDao.amountUpdateDTO(requirementsInfoId);
requireEveryStatusVO.setAmountUpdate(requirementsAmountUpdateDTO);
//获取发单人信息
Integer userIdByRequireId = requirementsDao.getUserIdByRequireId(requirementsInfoId);
UserBaseInfoDTO userBaseInfoDTO = userAppApi.feignGetUserBaseInfo(userIdByRequireId);
requireEveryStatusVO.setOrderRelease(userBaseInfoDTO);
//获取接单人信息
Integer pilotUserIdByRequireId = requirementsDao.getPilotUserIdByRequireId(requirementsInfoId);
if (pilotUserIdByRequireId == null) {
requireEveryStatusVO.setOrderReceive(null);
}else {
UserBaseInfoDTO pilotUserBaseInfoDTO = userAppApi.feignGetUserBaseInfo(pilotUserIdByRequireId);
requireEveryStatusVO.setOrderReceive(pilotUserBaseInfoDTO);
}
ServiceOrderFormDetailsDO orderFormDetailsDO = backRequirementsDao.serviceOrderFormDetails(requirementsInfoId);
ServiceOrderFormDetailsDTO serviceOrderFormDetailsDTO = orderFormDetailsDO.buildOrderFormDetails();
IndustryTypeDTO industryTypeDTO = getIndustryTypeById(serviceOrderFormDetailsDTO.getServiceId(),serviceOrderFormDetailsDTO.getInspectionId());
serviceOrderFormDetailsDTO.setInspectionName(industryTypeDTO.getInspectionName());
IsNullConvertZeroUtil.checkIsNull(serviceOrderFormDetailsDTO);
return ResultBody.success(serviceOrderFormDetailsDTO);
requireEveryStatusVO.setServiceOrderFormDetailsDTO(serviceOrderFormDetailsDTO);
return ResultBody.success(requireEveryStatusVO);
}
@Override
public ResultBody getOrderAmountDetails(Integer requirementsInfoId) {
return ResultBody.success(orderAmountDetailDao.selectByPrimaryKey(requirementsInfoId));
}
@Override
public ResultBody updateOrderAmountDetails(List<OrderAmountDetailDO> list) {
Integer requirementsInfoId = list.get(0).getRequirementsInfoId();
if(requirementsInfoId == null) {
return ResultBody.error("订单id不能为空");
}
//判当前订单是否是完成任务的状态
if(!Objects.equals(requirementsDao.selectServiceIdByRequireId(requirementsInfoId), ServiceIdEnum.DETAIL_COMPLETE.getCode())) {
return ResultBody.error("当前订单不能进行修改金额");
}
//修改当前订单的状态
requirementsDao.updateScene(requirementsInfoId, ServiceIdEnum.WAIT_CHANGE_AMOUNT.getCode());
requirementsDao.updateInfo(requirementsInfoId, ServiceIdEnum.WAIT_CHANGE_AMOUNT.getCode());
//删除掉默认的一条数据
orderAmountDetailDao.deleteByPrimaryKey(requirementsInfoId);
//把后面用户添加的数据保存到数据库
orderAmountDetailDao.batchInsert(list);
//算一下总金额保存下来,然后去小程序支付
BigDecimal amountSum = new BigDecimal(0);
for(OrderAmountDetailDO orderAmountDetailDO : list) {
amountSum = amountSum.add(orderAmountDetailDO.getRealWages());
}
RequirementsAmountUpdateDO requirementsAmountUpdateDO = new RequirementsAmountUpdateDO();
requirementsAmountUpdateDO.setRequirementsInfoId(requirementsInfoId);
requirementsAmountUpdateDO.setUpdateOrderAmount(amountSum);
requirementsAmountUpdateDO.setUserSureChange(0);
requirementsDao.requirementsAmountUpdate(requirementsAmountUpdateDO);
return ResultBody.success();
}
@Override
public ResultBody insertOrderAmountDetails(List<OrderAmountDetailDO> list) {
orderAmountDetailDao.batchInsert(list);
return ResultBody.success();
}
public IndustryTypeDTO getIndustryTypeById(Integer serviceId, Integer inspectionId) {
HttpHeaders headers = new HttpHeaders();
headers.setContentType(MediaType.APPLICATION_JSON);
HttpEntity<String> entity = new HttpEntity<>(null, headers);
String url = null;
if(inspectionId!=null){
url = String.format("%s/pms/industry/getIndustryTypeById?id=%s&inspectionId=%s", pmsApp, serviceId, inspectionId);
}else {
url = String.format("%s/pms/industry/getIndustryTypeById?id=%s", pmsApp, serviceId);
}
ResponseEntity<String> exchange = restTemplate.exchange(url, HttpMethod.GET, entity, String.class);
String body = exchange.getBody();
IndustryTypeDTO industryTypeDTO = JSONObject.parseObject(body, IndustryTypeDTO.class);
return industryTypeDTO;
}
}
package com.mmc.csf.release.service.impl;
import com.alibaba.fastjson2.JSONObject;
import com.mmc.csf.common.util.page.PageResult;
import com.mmc.csf.common.util.web.ResultBody;
import com.mmc.csf.infomation.dto.DynamicAuditSumDTO;
......@@ -21,15 +22,14 @@ import com.mmc.csf.release.forum.qo.DynamicQO;
import com.mmc.csf.release.forum.vo.UserBaseInfoVO;
import com.mmc.csf.release.service.BackstageForumService;
import com.mmc.csf.user.vo.ChangeUserPointVO;
import com.mmc.csf.user.vo.WxMsgVO;
import org.apache.commons.collections4.CollectionUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import javax.servlet.http.HttpServletRequest;
import java.util.ArrayList;
import java.util.List;
import java.util.Map;
import java.util.Set;
import java.text.SimpleDateFormat;
import java.util.*;
import java.util.function.Function;
import java.util.stream.Collectors;
......@@ -218,6 +218,13 @@ public class BackstageForumServiceImpl implements BackstageForumService {
changePoint.setChangeType(3);
changePoint.setChangePoint(5);
userAppApi.changeUserPoint(changePoint, token);
// 微信公众号发送通知
WxMsgVO ws = new WxMsgVO();
ws.setDataObject(spellMsg("发布帖子","审核通过"));
ws.setUserAccountId(dynamicDO.getUserAccountId());
// ws.setTemplateId("9qvgBhfW9yoQJY91iMfhrog8y5eZUPSbo9PLvQzS_vk");
ws.setTemplateId("4s0xcovQfT89MYPkUEesBsPD_ONRMPsx_9jxi61Qd-c");
userAppApi.feignSendWxMsg(token, ws);
} else {
dynamicDao.updateCheckDynamic(dynamicId, 2);
List<DynamicGambitDO> gambitDOList= gambitDao.selectGambitDynamic(dynamicId);
......@@ -232,4 +239,31 @@ public class BackstageForumServiceImpl implements BackstageForumService {
}
return ResultBody.success();
}
@Override
public ResultBody getNotCheckDynamicSum() {
return ResultBody.success(backstageForumDao.getDynamicAuditSum(0));
}
public JSONObject spellMsg(String name, String result){
JSONObject data=new JSONObject();
//申请项目{{thing3.DATA}}
JSONObject thing3=new JSONObject();
thing3.put("value",name);
data.put("thing3",thing3);
//审核时间{{time6.DATA}}
JSONObject time6=new JSONObject();
time6.put("value",new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(new Date()));
data.put("time6",time6);
//审核结果{{thing5.DATA}}
JSONObject thing5=new JSONObject();
thing5.put("value",result);
data.put("thing5",thing5);
return data;
}
}
package com.mmc.csf.release.service.impl;
import java.util.ArrayList;
import java.util.List;
import java.util.Map;
import java.util.Set;
import java.util.function.Function;
import java.util.stream.Collectors;
import javax.annotation.Resource;
import javax.servlet.http.HttpServletRequest;
import org.apache.commons.collections4.CollectionUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.JSONObject;
import com.mmc.csf.common.util.page.PageResult;
import com.mmc.csf.common.util.web.ResultBody;
import com.mmc.csf.infomation.dto.PayWalletDTO;
import com.mmc.csf.infomation.dto.UserAccountSimpleDTO;
import com.mmc.csf.release.auth.qo.UserAccountQO;
import com.mmc.csf.release.constant.TokenConstant;
......@@ -13,7 +26,6 @@ import com.mmc.csf.release.dao.DynamicDao;
import com.mmc.csf.release.dao.LikeDAO;
import com.mmc.csf.release.dao.gambit.GambitDao;
import com.mmc.csf.release.entity.forum.*;
import com.mmc.csf.release.entity.forum.ForumReviewDO;
import com.mmc.csf.release.entity.gambit.ForumAttentionDO;
import com.mmc.csf.release.entity.gambit.ForumGambitDO;
import com.mmc.csf.release.feign.UserAppApi;
......@@ -22,28 +34,14 @@ import com.mmc.csf.release.gambit.dto.ForumGambitDTO;
import com.mmc.csf.release.gambit.dto.PostingLeaderboardDTO;
import com.mmc.csf.release.gambit.qo.ForumGambitQO;
import com.mmc.csf.release.gambit.qo.PostingLeaderboardQO;
import com.mmc.csf.release.gambit.vo.ForumGambitVO;
import com.mmc.csf.release.service.DynamicService;
import com.mmc.csf.release.service.WxApiService;
import com.mmc.csf.release.service.gambit.GambitService;
import com.mmc.csf.user.vo.ChangeUserPointVO;
import com.mmc.csf.user.vo.UserAccountVO;
import io.swagger.models.auth.In;
import org.apache.commons.collections4.CollectionUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.http.*;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import org.springframework.web.client.RestTemplate;
import javax.annotation.Resource;
import javax.servlet.http.HttpServletRequest;
import java.util.*;
import java.util.function.Function;
import java.util.stream.Collectors;
import java.util.stream.Stream;
/**
* @Author LW
* @date 2023/5/15 10:29 概要:动态信息实现层
......@@ -301,7 +299,7 @@ public class DynamicServiceImpl implements DynamicService {
@Override
public PageResult dynamicList(
Integer pageNo, Integer pageSize, Integer userId, HttpServletRequest request, Integer gambitId,Integer dynId,Integer userAccountIds,
Integer pageNo, Integer pageSize, Integer userId, Integer gambitId,Integer dynId,Integer userAccountIds,
String description,List<String> gambitName) {
Integer tokenUserId =userId;
Integer inUserId =userAccountIds;
......@@ -382,7 +380,7 @@ public class DynamicServiceImpl implements DynamicService {
UserAccountQO bUserAccountQO = new UserAccountQO();
bUserAccountQO.setUserIds(userIdList);
List<UserAccountSimpleDTO> userAccountSimpleDTOS =
userAppApi.feignListAppUserAccount(bUserAccountQO, request.getHeader(TokenConstant.TOKEN));
userAppApi.feignListAppUserAccount1(bUserAccountQO);
Map<Integer, UserAccountSimpleDTO> userAccountInfoMap =
userAccountSimpleDTOS.stream()
.collect(Collectors.toMap(UserAccountSimpleDTO::getId, Function.identity()));
......@@ -408,7 +406,7 @@ public class DynamicServiceImpl implements DynamicService {
List<Integer> commentUserIds = comment.stream().map(ForumDynamicDO::getUserAccountId).collect(Collectors.toList());
bUserAccountQO.setUserIds(commentUserIds);
List<UserAccountSimpleDTO> commentUserAccountSimple =
userAppApi.feignListAppUserAccount(bUserAccountQO, request.getHeader(TokenConstant.TOKEN));
userAppApi.feignListAppUserAccount1(bUserAccountQO);
List<DynamicVO> commentAndReply = comment.stream().limit(2).map(ForumDynamicDO::buildDynamicVO).collect(Collectors.toList());
for (DynamicVO vo : commentAndReply) {
for (UserAccountSimpleDTO userAccountSimpleDTO : commentUserAccountSimple) {
......@@ -494,7 +492,6 @@ public class DynamicServiceImpl implements DynamicService {
}
return PageResult.buildPage(pageNo, pageSize, count, dynamicVOList);
}
@Override
public ResultBody recentNewsList(Integer userAccountId) {
List<ForumDynamicUserDO> forumDynamicDOS = dynamicDao.recentNewsList(userAccountId);
......
package com.mmc.csf.release.service.impl;
import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.JSONObject;
import com.mmc.csf.common.util.date.TDateUtil;
import com.mmc.csf.common.util.math.CodeUtil;
import com.mmc.csf.common.util.page.PageResult;
import com.mmc.csf.common.util.web.ResultBody;
import com.mmc.csf.common.util.web.ResultEnum;
import com.mmc.csf.infomation.dto.GetOrderNumberDTO;
import com.mmc.csf.infomation.dto.PayWalletDTO;
import com.mmc.csf.release.dao.CurriculumOrderDao;
import com.mmc.csf.release.dao.FlyerTrainingDao;
import com.mmc.csf.release.entity.curriculum.CurriculumInfoDO;
import com.mmc.csf.release.entity.curriculum.FlightSkillsDO;
import com.mmc.csf.release.entity.curriculum.PilotRegistrationDO;
import com.mmc.csf.release.feign.PmsAppApi;
import com.mmc.csf.release.flyer.dto.AllCategoryDTO;
import com.mmc.csf.release.flyer.dto.CategoriesInfoListDTO;
import com.mmc.csf.release.entity.curriculum.*;
import com.mmc.csf.release.feign.UserAppApi;
import com.mmc.csf.release.flyer.qo.CurriculumQo;
import com.mmc.csf.release.flyer.vo.CurriculumInfoVO;
import com.mmc.csf.release.flyer.vo.DronePilotLicenseVO;
import com.mmc.csf.release.flyer.vo.FlightSkillsVO;
import com.mmc.csf.release.flyer.vo.RegistrationVO;
import com.mmc.csf.release.flyer.vo.*;
import com.mmc.csf.release.service.FlyerTrainingService;
import lombok.extern.slf4j.Slf4j;
import org.apache.commons.collections4.CollectionUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Qualifier;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.data.redis.core.StringRedisTemplate;
import org.springframework.http.*;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import org.springframework.util.MultiValueMap;
import org.springframework.web.client.RestClientException;
import org.springframework.web.client.RestTemplate;
import javax.annotation.Resource;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import javax.servlet.http.HttpServletRequest;
import java.math.BigDecimal;
import java.util.*;
import java.util.stream.Collectors;
/**
* @Author LW
* @date 2023/5/15 10:11
* 概要:
*/
@Slf4j
@Service
@Transactional(rollbackFor = Exception.class)
public class FlyerTrainingServiceImpl implements FlyerTrainingService {
@Resource
private FlyerTrainingDao flyerTrainingDao;
@Autowired
private PmsAppApi pmsAppApi;
private StringRedisTemplate stringRedisTemplate;
@Autowired
private RestTemplate restTemplate;
@Value("${iuav.userapp.url}")
private String userApp;
@Qualifier("com.mmc.csf.release.feign.UserAppApi")
@Autowired
private UserAppApi userAppApi;
@Resource
private CurriculumOrderDao curriculumOrderDao;
@Override
public ResultBody pilotRegistration(RegistrationVO registrationVO, Integer userAccountId) {
......@@ -86,10 +111,6 @@ public class FlyerTrainingServiceImpl implements FlyerTrainingService {
@Override
public PageResult queryCurriculumInfoList(CurriculumQo curriculumQo) {
Integer SZ = 440300;
if (curriculumQo.getProvinceCode() != null && !curriculumQo.getProvinceCode().equals(SZ)) {
return PageResult.buildPage(curriculumQo.getPageNo(), curriculumQo.getPageSize(), 0);
}
int count = flyerTrainingDao.countCurriculumInfoList(curriculumQo);
if (count == 0) {
return PageResult.buildPage(curriculumQo.getPageNo(), curriculumQo.getPageSize(), count);
......@@ -97,22 +118,7 @@ public class FlyerTrainingServiceImpl implements FlyerTrainingService {
Integer pageNo = curriculumQo.getPageNo();
curriculumQo.buildCurrentPage();
List<CurriculumInfoDO> curriculumList = flyerTrainingDao.listPageCurriculumInfo(curriculumQo);
List<AllCategoryDTO> allCategoryDTOS = pmsAppApi.feignQqueryCategoryInfoByType(3);
List<CurriculumInfoVO> list = curriculumList.stream().map(CurriculumInfoDO::buildCurriculumInfoVO).collect(Collectors.toList());
if (CollectionUtils.isNotEmpty(allCategoryDTOS)) {
list.stream().forEach(curriculumInfoVO -> {
allCategoryDTOS.stream().forEach(directory -> {
if (CollectionUtils.isNotEmpty(directory.getCategoriesInfoListDTO())) {
directory.getCategoriesInfoListDTO().stream().forEach(category -> {
if (curriculumInfoVO.getCategoriesId().equals(category.getId())) {
curriculumInfoVO.setDirectoryName(directory.getName());
curriculumInfoVO.setCategoriesName(category.getName());
}
});
}
});
});
}
return PageResult.buildPage(pageNo, curriculumQo.getPageSize(), count, list);
}
......@@ -131,24 +137,16 @@ public class FlyerTrainingServiceImpl implements FlyerTrainingService {
}
@Override
public ResultBody curriculumDetails(Integer id) {
CurriculumInfoDO curriculumInfoDO = flyerTrainingDao.curriculumDetails(id);
public ResultBody curriculumDetails(Integer id,Integer userId) {
CurriculumInfoDO curriculumInfoDO = flyerTrainingDao.selectCurriculumInfoById(id);
int i = flyerTrainingDao.selectCountCurriculumOrder(id, userId);
boolean isBuy = i > 0;
if (curriculumInfoDO == null) {
return ResultBody.error("课程不存在或已下架!");
} else {
CurriculumInfoVO curriculumInfoVO = curriculumInfoDO.buildCurriculumInfoVO();
List<AllCategoryDTO> allCategoryDTOS = pmsAppApi.feignQqueryCategoryInfoByType(3);
for (AllCategoryDTO directory : allCategoryDTOS) {
if (CollectionUtils.isNotEmpty(directory.getCategoriesInfoListDTO())) {
for (CategoriesInfoListDTO category : directory.getCategoriesInfoListDTO()) {
if (curriculumInfoVO.getCategoriesId().equals(category.getId())) {
curriculumInfoVO.setDirectoryName(directory.getName());
curriculumInfoVO.setCategoriesName(category.getName());
break;
}
}
}
}
curriculumInfoVO.setBuy(isBuy);
return ResultBody.success(curriculumInfoVO);
}
}
......@@ -156,8 +154,6 @@ public class FlyerTrainingServiceImpl implements FlyerTrainingService {
@Override
public Integer addCurriculum(CurriculumInfoVO curriculumInfoVO) {
CurriculumInfoDO currInfoDO = new CurriculumInfoDO(curriculumInfoVO);
// TODO Auto-generated method stub 暂时先设置科比特单位ID
currInfoDO.setSupplierId(1);
return flyerTrainingDao.addCurriculum(currInfoDO);
}
......@@ -182,7 +178,6 @@ public class FlyerTrainingServiceImpl implements FlyerTrainingService {
@Override
public List<CurriculumInfoVO> feignCurriculumInfoList(Integer categoriesId) {
CurriculumQo curriculumQo = new CurriculumQo();
curriculumQo.setCategoriesId(categoriesId);
curriculumQo.setPageNo(1);
curriculumQo.setPageSize(Integer.MAX_VALUE);
int count = flyerTrainingDao.countCurriculumInfoList(curriculumQo);
......@@ -206,4 +201,194 @@ public class FlyerTrainingServiceImpl implements FlyerTrainingService {
public Integer getCurriculumCount() {
return flyerTrainingDao.getCurriculumCount();
}
@Override
public Integer addCurriculumClassify(CurriculumClassifyVO curriculumClassify) {
CurriculumClassifyDO curriculumClassifyDO = new CurriculumClassifyDO(curriculumClassify);
Integer count;
if(curriculumClassifyDO.getOneCourseId() == null){
count = flyerTrainingDao.countOneCourseClassify();
curriculumClassifyDO.setOneCourseId(count + 1);
} else {
count = flyerTrainingDao.countTwoCourseClassify(curriculumClassify.getOneCourseId());
curriculumClassifyDO.setTwoCourseId(count);
}
return flyerTrainingDao.addCurriculumClassify(curriculumClassifyDO);
}
@Override
public Integer updateCurriculumClassify(CurriculumClassifyVO curriculumClassify) {
CurriculumClassifyDO curriculumClassifyDO = new CurriculumClassifyDO(curriculumClassify);
return flyerTrainingDao.updateCurriculumClassify(curriculumClassifyDO);
}
@Override
public ResultBody removeCurriculumClassify(Integer id) {
if(id == null){
return ResultBody.error("参数错误");
}
CurriculumClassifyDO classifyDO = flyerTrainingDao.selectCurriculumClassifyById(id);
if(classifyDO == null){
return ResultBody.error("找不到这个课程分类,可能已经删除");
}
if(classifyDO.getTwoCourseId() == null && flyerTrainingDao.countTwoCourseClassify(classifyDO.getOneCourseId() ) > 1){
return ResultBody.error("有二级分类无法删除");
}
flyerTrainingDao.removeCurriculumClassify(id);
return ResultBody.success();
}
@Override
public ResultBody selectCurriculumClassify() {
flyerTrainingDao.selectCurriculumClassify();
List<CurriculumClassifyDO> curriculumClassifyList = flyerTrainingDao.selectCurriculumClassify();
List<CurriculumClassifyVO> collect = curriculumClassifyList.stream().map(CurriculumClassifyDO::buildCurriculumClassifyVO).collect(Collectors.toList());
return ResultBody.success(collect);
}
@Override
public CurriculumInfoDO selectCurriculumInfoById(Integer id) {
return flyerTrainingDao.selectCurriculumInfoById(id);
}
@Override
public Integer curriculumPayByIntegral(CurriculumOrderDO curriculumOrderDO) {
return flyerTrainingDao.insertCurriculumOrder(curriculumOrderDO);
}
@Override
public ResultBody curriculumPayByMoney(HttpServletRequest request,CurriculumPayVO curriculumPayVO,Integer accountId) {
//获取当前课程的内容
CurriculumInfoDO curriculumInfoDO = flyerTrainingDao.selectCurriculumInfoById(curriculumPayVO.getId());
// 获取支付类型
String[] split = curriculumPayVO.getPaymentType().split(",");
Set<String> collect = Arrays.asList(split).stream().collect(Collectors.toSet());
TreeSet<String> objects = new TreeSet<>(collect);
// 微信已经支付的金额
BigDecimal weChatPay = new BigDecimal(0);
curriculumPayVO.getPaymentOrderNumber();
if (objects.contains("3") && curriculumPayVO.getPaymentOrderNumber() != null) {
// 获取当前微信已经支付的金额
String json = stringRedisTemplate.opsForValue().get(curriculumPayVO.getPaymentOrderNumber() + accountId);
GetOrderNumberDTO orderNumberDTO = JSONObject.parseObject(json, GetOrderNumberDTO.class);
weChatPay = orderNumberDTO.getWeChatPay();
}
//获取用户钱包
ResultBody resultBody = getCurrentUserPayWalletInfo(request);
PayWalletDTO payWalletDTO = (PayWalletDTO) resultBody.getResult();
//用户剩余的佣金
BigDecimal userSalaryAmt = new BigDecimal(0);
userSalaryAmt = payWalletDTO.getSalaryAmt();
//云享金余额还剩余多少
BigDecimal userCashAmt = new BigDecimal(0);
userCashAmt = payWalletDTO.getCashAmt();
// 需要支付的总金额(除去微信已经支付过的金额,还需要支付的金额)
BigDecimal tempTotalAmount = new BigDecimal(0);
tempTotalAmount = curriculumInfoDO.getRequireAmout().subtract(weChatPay);
CurriculumOrderDO curriculumOrderDO = new CurriculumOrderDO();
curriculumOrderDO.setUserAccountId(accountId);
curriculumOrderDO.setCurriculumInfoId(curriculumInfoDO.getId());
// 生成支付流水号(规则"CO" + 时间戳 + 用户id + 随机数4位)
curriculumOrderDO.setOrderNo("CO" + TDateUtil.getDateStr(new Date(), "yyyyMMddHHmmss") + accountId + CodeUtil.getRandomNum(4));
if(userSalaryAmt.add(userCashAmt).compareTo(tempTotalAmount) < 0 ){
if(!(weChatPay.compareTo(BigDecimal.ZERO) == 0)){
// log("云享金或者佣金不够支付,支付失败,请回滚微信支付中的金额:" + curriculumPayVO.getPaymentOrderNumber());
return ResultBody.error("云享金或者佣金不够支付,支付失败,请回滚微信支付中的金额");
}else{
return ResultBody.error("云享金或者佣金不够支付,支付失败");
}
}
CurriculumOrderLogVO curriculumOrderLogVO = new CurriculumOrderLogVO();
curriculumOrderLogVO.setOrderNo(curriculumOrderDO.getOrderNo());
curriculumOrderLogVO.setUserAccountId(accountId);
if(objects.contains("1")){
if(tempTotalAmount.compareTo(userCashAmt) <= 0){
curriculumOrderLogVO.setCashAmtPaid(tempTotalAmount);
userCashAmt = tempTotalAmount;
userSalaryAmt = BigDecimal.ZERO;
tempTotalAmount = BigDecimal.ZERO;
}else{
curriculumOrderLogVO.setCashAmtPaid(userCashAmt);
tempTotalAmount = tempTotalAmount.subtract(userCashAmt);
}
}
if(!objects.contains("2")&& tempTotalAmount.compareTo(BigDecimal.ZERO) > 0){
return ResultBody.error("云享金不够支付,支付失败");
}
if(objects.contains("2") && tempTotalAmount.compareTo(BigDecimal.ZERO) >= 0) {
if(tempTotalAmount.compareTo(userSalaryAmt) <= 0){
curriculumOrderLogVO.setSalaryAmtPaid(tempTotalAmount);
userSalaryAmt = tempTotalAmount;
}else{
return ResultBody.error("佣金不够支付,支付失败");
}
}
ResultBody resultBody1 = userAppApi.feignCurriculumOrderLog(request.getHeader("token"), request, curriculumOrderLogVO);
if(!"200".equals(resultBody1.getCode())){
return ResultBody.error("支付失败");
}
curriculumOrderDO.setOrderTotalAmount(curriculumInfoDO.getRequireAmout());
curriculumOrderDO.setSalaryAmount(userSalaryAmt);
curriculumOrderDO.setWeChat(weChatPay);
curriculumOrderDO.setCashAmount(userCashAmt);
flyerTrainingDao.insertCurriculumOrder(curriculumOrderDO);
return ResultBody.success("支付成功");
}
/**
* 获取用户钱包信息
*
* @param
* @param request
* @return
*/
public ResultBody getCurrentUserPayWalletInfo(HttpServletRequest request) {
String token = request.getHeader("token");
HttpHeaders headers = new HttpHeaders();
headers.setContentType(MediaType.APPLICATION_JSON);
headers.add("token", token);
FlyerTrainingServiceImpl.log.info("获取钱包信息的token:{}",token);
HttpEntity<MultiValueMap<String, Object>> formEntity = new HttpEntity<MultiValueMap<String, Object>>(headers);
ResponseEntity<String> exchange = null;
try {
exchange = restTemplate.exchange(userApp + "/userapp/pay/getCurrentUserPayWalletInfo", HttpMethod.GET, formEntity, String.class);
} catch (RestClientException e) {
return ResultBody.error(ResultEnum.THE_THIRD_PARTY_INTERFACE_IS_BEING_UPDATED);
}
Object body = exchange.getBody();
JSONObject jsonObject = JSONObject.parseObject((String) body);
JSONObject result1 = (JSONObject) jsonObject.get("result");
PayWalletDTO payWalletDTO = JSON.parseObject(result1.toJSONString(), PayWalletDTO.class);
return ResultBody.success(payWalletDTO);
}
/**
* 分页查询订单列表
* @param param
* @return {@link List}<{@link CurriculumOrderDO}>
*/
@Override
public ResultBody getCurriculumOrderList(CurriculumOrderQO param) {
int count = curriculumOrderDao.getCountCurriculumOrder(param);
if (count == 0) {
return ResultBody.success(PageResult.buildPage(param.getPageNo(), param.getPageSize(), count));
}
int pageNo = param.getPageNo();
param.buildCurrentPage();
List<CurriculumOrderDO> pageList = curriculumOrderDao.selectOrderList(param);
return ResultBody.success(PageResult.buildPage(pageNo, param.getPageSize(), count, pageList));
}
@Override
public ResultBody deleteCurriculumOrderInfo(Integer id) {
curriculumOrderDao.deleteByPrimaryKey(id);
return ResultBody.success();
}
}
package com.mmc.csf.release.service.impl;
import java.util.List;
import java.util.stream.Collectors;
import javax.servlet.http.HttpServletRequest;
import org.apache.commons.collections4.CollectionUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import com.mmc.csf.common.util.page.PageResult;
import com.mmc.csf.common.util.web.ResultBody;
import com.mmc.csf.infomation.qo.IndustryCaseQO;
......@@ -10,13 +19,6 @@ import com.mmc.csf.release.dao.IndustryCaseDao;
import com.mmc.csf.release.entity.information.IndustryCaseDO;
import com.mmc.csf.release.feign.UserAppApi;
import com.mmc.csf.release.service.IndustryCaseService;
import org.apache.commons.collections4.CollectionUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import javax.servlet.http.HttpServletRequest;
import java.util.List;
import java.util.stream.Collectors;
/**
* @author: zj
......
package com.mmc.csf.release.service.impl;
import java.util.List;
import java.util.stream.Collectors;
import org.apache.commons.collections4.CollectionUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import com.mmc.csf.common.util.page.PageResult;
import com.mmc.csf.common.util.web.ResultBody;
import com.mmc.csf.common.util.web.ResultEnum;
......@@ -12,13 +19,8 @@ import com.mmc.csf.release.dao.IndustryNewsDao;
import com.mmc.csf.release.entity.information.IndustryNewsDO;
import com.mmc.csf.release.feign.UserAppApi;
import com.mmc.csf.release.service.IndustryNewsService;
import org.apache.commons.collections4.CollectionUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import javax.servlet.http.HttpServletRequest;
import java.util.List;
import java.util.stream.Collectors;
/**
* @author: zj
......@@ -54,6 +56,7 @@ public class IndustryNewsServiceImpl implements IndustryNewsService {
return ResultBody.success(PageResult.buildPage(pageNo, industryCaseQO.getPageSize(), count, industryNewsDTOS));
}
@Override
public ResultBody details(Integer id) {
IndustryNewsDO industryNewsDO = industryNewsDao.details(id);
......@@ -70,14 +73,14 @@ public class IndustryNewsServiceImpl implements IndustryNewsService {
if(count>0){
return ResultBody.error(ResultEnum.INDUSTRY_NEWS_TITLE_EXISTS);
}
industryNewsDO = new IndustryNewsDO(param.getId(), param.getNewsTitle(), param.getNewsAuthor(), userAccountId, param.getSurfaceImg(), param.getNewsContents(), param.getOrigin());
industryNewsDO = new IndustryNewsDO(param.getId(), param.getNewsTitle(), param.getNewsAuthor(), userAccountId, param.getSurfaceImg(), param.getNewsContents(), param.getOrigin(),param.getIsHot());
industryNewsDao.insert(industryNewsDO);
return ResultBody.success();
}
@Override
public ResultBody upDateIndustryNews(IndustryNewsVO param, Integer userAccountId) {
IndustryNewsDO industryNewsDO = new IndustryNewsDO(param.getId(), param.getNewsTitle(), param.getNewsAuthor(), userAccountId, param.getSurfaceImg(), param.getNewsContents(), param.getOrigin());
IndustryNewsDO industryNewsDO = new IndustryNewsDO(param.getId(), param.getNewsTitle(), param.getNewsAuthor(), userAccountId, param.getSurfaceImg(), param.getNewsContents(), param.getOrigin(),param.getIsHot());
industryNewsDao.update(industryNewsDO);
return ResultBody.success();
}
......
......@@ -2,6 +2,8 @@ package com.mmc.csf.release.service.impl;
import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.JSONObject;
import com.google.gson.Gson;
import com.google.gson.JsonArray;
import com.mmc.csf.common.util.json.JsonUtil;
import com.mmc.csf.common.util.page.PageResult;
import com.mmc.csf.common.util.web.HttpsRequestUtil;
......@@ -9,14 +11,13 @@ import com.mmc.csf.common.util.web.ResultBody;
import com.mmc.csf.common.util.web.ResultEnum;
import com.mmc.csf.config.IsNullConvertZeroUtil;
import com.mmc.csf.infomation.dto.*;
import com.mmc.csf.infomation.qo.AgreeOrRefusePilotQO;
import com.mmc.csf.infomation.qo.IndustryCaseQO;
import com.mmc.csf.infomation.qo.MyPreemptQO;
import com.mmc.csf.infomation.qo.MyPublishQO;
import com.mmc.csf.infomation.qo.*;
import com.mmc.csf.infomation.vo.*;
import com.mmc.csf.release.constant.*;
import com.mmc.csf.release.controller.countDown.RedisUtil;
import com.mmc.csf.release.dao.OrderAmountDetailDao;
import com.mmc.csf.release.dao.RequirementsDao;
import com.mmc.csf.release.entity.information.PersonSendOrderDO;
import com.mmc.csf.release.entity.requirements.*;
import com.mmc.csf.release.feign.PmsAppApi;
import com.mmc.csf.release.feign.UserAppApi;
......@@ -24,15 +25,15 @@ import com.mmc.csf.release.industry.IndustryTypeDTO;
import com.mmc.csf.release.industry.UserPayInfoVO;
import com.mmc.csf.release.service.RequirementsService;
import com.mmc.csf.release.util.RestTemplateUtil;
import com.sun.xml.bind.v2.TODO;
import io.swagger.models.auth.In;
import com.mmc.csf.release.util.SmsUtil;
import lombok.extern.slf4j.Slf4j;
import org.apache.commons.lang.StringUtils;
import org.gavaghan.geodesy.Ellipsoid;
import org.gavaghan.geodesy.GeodeticCalculator;
import org.gavaghan.geodesy.GeodeticCurve;
import org.gavaghan.geodesy.GlobalCoordinates;
import org.springframework.beans.BeanUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Qualifier;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.data.redis.core.StringRedisTemplate;
import org.springframework.http.*;
......@@ -64,6 +65,7 @@ public class RequirementsServiceImpl implements RequirementsService {
@Autowired
private RequirementsDao requirementsDao;
@Qualifier("com.mmc.csf.release.feign.UserAppApi")
@Autowired
private UserAppApi userAppApi;
......@@ -76,6 +78,7 @@ public class RequirementsServiceImpl implements RequirementsService {
@Value("${iuav.omsapp.url}")
private String omsApp;
@Qualifier("com.mmc.csf.release.feign.PmsAppApi")
@Autowired
private PmsAppApi pmsAppApi;
......@@ -93,6 +96,11 @@ public class RequirementsServiceImpl implements RequirementsService {
@Autowired
private UserSystemConstant userSystemConstant;
@Autowired
private OrderAmountDetailDao orderAmountDetailDao;
@Override
public ResultBody listType(Integer id) {
List<RequirementsTypeDO> requirementsTypeDOList = requirementsDao.listTypeReq(id);
......@@ -175,11 +183,35 @@ public class RequirementsServiceImpl implements RequirementsService {
}
@Override
public ResultBody appPublishList() {
List<RequirementsInfoDO> requirementsInfoDOS = requirementsDao.appPublishList();
public ResultBody appPublishList(RequirementsInfoQO requirementsInfoQO) {
List<RequirementsInfoDO> requirementsInfoDOS = requirementsDao.appPublishList1(requirementsInfoQO);
Integer provinceCode = requirementsInfoQO.getProvinceCode();
if(provinceCode != null) {
Integer districtCode = requirementsInfoQO.getDistrictCode();
Integer cityCode = requirementsInfoQO.getCityCode();
List<RequirementsInfoDO> requirementsInfoDOS1 = new ArrayList<>();
requirementsInfoDOS = requirementsInfoDOS.stream().map(requirementsInfoDO -> {
if(requirementsInfoDO.getDistrictCode().equals(districtCode)) {
requirementsInfoDOS1.add(requirementsInfoDO);
}
return requirementsInfoDO;
}).filter(requirementsInfoDO -> !requirementsInfoDO.getDistrictCode().equals(districtCode)).collect(Collectors.toList());
requirementsInfoDOS = requirementsInfoDOS.stream().map(requirementsInfoDO -> {
if(requirementsInfoDO.getCityCode().equals(cityCode)) {
requirementsInfoDOS1.add(requirementsInfoDO);
}
return requirementsInfoDO;
}).filter(requirementsInfoDO -> !requirementsInfoDO.getCityCode().equals(cityCode)).collect(Collectors.toList());
requirementsInfoDOS1.addAll(requirementsInfoDOS);
requirementsInfoDOS = requirementsInfoDOS1;
}
//远程调用服务一级分类
// List<IndustryTypeDTO> industryTypeDTOS = listIndustry();
List<RequirementsInfoVO> collect = requirementsInfoDOS.stream().map(RequirementsInfoDO::buildRequirementsInfoVO).collect(Collectors.toList());
List<RequirementsInfoVO> collect = requirementsInfoDOS.stream().map(requirementsInfoDO -> {
requirementsInfoDO.setOrderStatus(requirementsDao.selectOrderStatusByServiceFlowId(requirementsInfoDO.getServiceFlowId()));
return requirementsInfoDO;
}).map(RequirementsInfoDO::buildRequirementsInfoVO).collect(Collectors.toList());
/* for (RequirementsInfoVO requirementsInfoVO : collect) {
for (IndustryTypeDTO industryTypeDTO : industryTypeDTOS) {
if (requirementsInfoVO.getServiceId() != null && requirementsInfoVO.getServiceId().equals(industryTypeDTO.getId())) {
......@@ -187,6 +219,7 @@ public class RequirementsServiceImpl implements RequirementsService {
}
}
}*/
return ResultBody.success(collect);
}
......@@ -198,11 +231,15 @@ public class RequirementsServiceImpl implements RequirementsService {
if(pilotStatus != null && pilotStatus == 11) {
//获取被拒绝订单详情
requirementsInfoDO = requirementsDao.selectDetailRefusePilotInfo(id);
requirementsInfoVO = requirementsInfoDO.buildRequirementsInfoVO();
}else{
requirementsInfoDO = requirementsDao.detailPublish(id);
requirementsInfoVO = requirementsInfoDO.buildRequirementsInfoVO();
}
}else
{
Integer integer = requirementsDao.selectServiceIdByRequireId(id);
if(13 == integer || 1 == integer){
requirementsInfoDO = requirementsDao.detailSendPublish(id);
}else{
requirementsInfoDO = requirementsDao.detailPublish(id);}
}
requirementsInfoVO = requirementsInfoDO.buildRequirementsInfoVO();
if (userAccountId.equals(requirementsInfoVO.getUserAccountId())) {
requirementsInfoVO.setParamMoney(BigDecimal.valueOf(0.00));
} else if (!userAccountId.equals(requirementsInfoVO.getUserAccountId())) {
......@@ -212,8 +249,9 @@ public class RequirementsServiceImpl implements RequirementsService {
requirementsInfoVO.setPublishAccountId(requirementsInfoDO.getUserAccountId());
requirementsInfoVO.setRequirementsInfoId(requirementsInfoDO.getId());
//IndustryTypeDTO industryTypeDTO = pmsAppApi.feignQquerygetIndustryTypeById(requirementsInfoVO.getServiceId());
IndustryTypeDTO industryTypeDTO = getIndustryTypeById(requirementsInfoVO.getServiceId());
IndustryTypeDTO industryTypeDTO = getIndustryTypeById(requirementsInfoVO.getServiceId(),requirementsInfoVO.getInspectionId());
requirementsInfoVO.setServiceName(industryTypeDTO.getTypeName());
requirementsInfoVO.setInspectionName(industryTypeDTO.getInspectionName());
//已经支付
String s = stringRedisTemplate.opsForValue().get(requirementsInfoDO.getId().toString());
RequirementsInfoVO orderVO = JSON.parseObject(s, RequirementsInfoVO.class);
......@@ -242,6 +280,8 @@ public class RequirementsServiceImpl implements RequirementsService {
if (requirementsDao.selectServiceIdByRequireIdAndUserId(id, userAccountId) == 11) {
requirementsInfoVO.setOrderStatus("170");
}
BigDecimal changedOrderAmount = requirementsDao.getChangedOrderAmount(requirementsInfoVO.getRequirementsInfoId());
requirementsInfoVO.setChangedOrderAmount(changedOrderAmount);
return ResultBody.success(requirementsInfoVO);
}
......@@ -997,7 +1037,7 @@ public class RequirementsServiceImpl implements RequirementsService {
public String getStableAccessToken() {
//token有效期为7200s,需要保存起来,先从redis中获取accessToken,没有则请求获取
String accessToken = stringRedisTemplate.opsForValue().get(WxConstant.IUAV_MINI_PROGRAM_STABLE_ACCESS_TOKEN);
if (org.apache.commons.lang.StringUtils.isBlank(accessToken)) {
if (StringUtils.isBlank(accessToken)) {
Map<String, String> params = new HashMap<String, String>();
params.put("grant_type", "client_credential");
params.put("appid", userSystemConstant.getWxAppId());
......@@ -1025,7 +1065,7 @@ public class RequirementsServiceImpl implements RequirementsService {
@Override
public ResultBody publisherCancel(Integer requirementsInfoId, Integer userAccountId, HttpServletRequest request) {
RequirementsInfoDO requirementsInfoDO = requirementsDao.publisherCancel(requirementsInfoId, userAccountId);
RequirementsInfoDO requirementsInfoDO = requirementsDao.publisherCancel1(requirementsInfoId, userAccountId);
RequirementsServiceDO serviceDO = requirementsDao.serviceReq(requirementsInfoId);
if (serviceDO != null) {
IsNullConvertZeroUtil.checkIsNull(serviceDO);
......@@ -1980,8 +2020,14 @@ public class RequirementsServiceImpl implements RequirementsService {
requirementsDao.updateScene(amountVO.getRequirementsInfoId(), 8);
requirementsDao.updateInfo(amountVO.getRequirementsInfoId(), 8);
int amountUpdate = requirementsDao.findAmountUpdate(amountUpdateDO.getRequirementsInfoId());
//查看是否修改过最终结算金额
if (amountUpdate != 0) {
return ResultBody.error("只能修改一次不能重复修改");
//查看是否已经支付过 如果支付过就不能再修改了
if(requirementsDao.selectUserSureChangeAmount(amountUpdateDO.getRequirementsInfoId()) != 0){
return ResultBody.error("只能修改一次不能重复修改");
}
//没支付过是可以修改的
requirementsDao.updateRequirementsAmountUpdate(amountUpdateDO);
} else {
requirementsDao.requirementsAmountUpdate(amountUpdateDO);
}
......@@ -2113,6 +2159,14 @@ public class RequirementsServiceImpl implements RequirementsService {
ApplyRefundVO applyRefundVO = new ApplyRefundVO();
for (RequirementsInfoDO requirementsInfoDO : requirementsInfoDOS) {
IsNullConvertZeroUtil.checkIsNull(requirementsInfoDO);
//父订单不退钱
if(requirementsInfoDO.getRequireNum() != null && requirementsInfoDO.getRequireNum() > 1) {
//如果这个多人订单还有子订单没被人接 就把总订单也取消
if(requirementsInfoDO.getRepertory() > 0) {
requirementsDao.updateInfo(requirementsInfoDO.getId(), 7);
}
continue;
}
if (requirementsInfoDO.getCashAmount().compareTo(BigDecimal.ZERO) != 0 ||
requirementsInfoDO.getSalaryAmount().compareTo(BigDecimal.ZERO) != 0) {
publisherWalletFlowVO.setModeOfPayment(200);
......@@ -2265,7 +2319,7 @@ public class RequirementsServiceImpl implements RequirementsService {
if (tempTotalAmount.compareTo(BigDecimal.ZERO) == 0) {
requirementsDao.InsertRequirementsAmountLog(requirementsInfoDO);
IndustryTypeDTO industryTypeDTO = getIndustryTypeById(requirementsEditVO.getServiceId());
IndustryTypeDTO industryTypeDTO = getIndustryTypeById(requirementsEditVO.getServiceId(),null);
infoDO.setServiceName(industryTypeDTO.getTypeName());
requirementsDao.updateRequirementsInfo(infoDO);
BigDecimal add = amountDO.getOrderAmount().add(requirementsInfoDO.getOrderLevelAmount());
......@@ -2284,7 +2338,7 @@ public class RequirementsServiceImpl implements RequirementsService {
flyerCancel(wo, request.getHeader("token"));
}
return ResultBody.success();
return ResultBody.success(requirementsEditVO.getRequirementsInfoId());
} else {
//云享金和佣金扣除完成,但是还不足支付订单金额,并且没有选择微信支付,所以支付不合法
return ResultBody.success("下单失败");
......@@ -2499,14 +2553,15 @@ public class RequirementsServiceImpl implements RequirementsService {
//这个是几个人的订单
Integer sum = serviceRequirementsVO.getRequireNum();
//获取用户基本信息
UserAccountSimpleDTO userAccountSimpleDTO = feignGetUserSimpleInfo(serviceRequirementsVO.getUserAccountId(), request);
Integer userAccountId = serviceRequirementsVO.getUserAccountId();
UserAccountSimpleDTO userAccountSimpleDTO = feignGetUserSimpleInfo(userAccountId, request);
String openid = userAccountSimpleDTO.getOpenid();
//需要冻结的金额
WalletFlowVO walletFlowVO = new WalletFlowVO();
// PublisherWalletFlowVO publisherWalletFlowVO = walletFlowVO.getPublisherWalletFlowVO();
PublisherWalletFlowVO publisherWalletFlowVO = new PublisherWalletFlowVO();
publisherWalletFlowVO.setUserAccountId(serviceRequirementsVO.getUserAccountId());
publisherWalletFlowVO.setOperateUserAccountId(serviceRequirementsVO.getUserAccountId());
publisherWalletFlowVO.setUserAccountId(userAccountId);
publisherWalletFlowVO.setOperateUserAccountId(userAccountId);
ServiceRequirementsDO requirementsInfoDO = new ServiceRequirementsDO(serviceRequirementsVO);
requirementsInfoDO.setPublisherNumber(randomOrderCode());
IsNullConvertZeroUtil.checkIsNull(publisherWalletFlowVO);
......@@ -2765,46 +2820,51 @@ public class RequirementsServiceImpl implements RequirementsService {
}
}
}
IndustryTypeDTO industryTypeDTO = getIndustryTypeById(requirementsInfoDO.getServiceId());
IndustryTypeDTO industryTypeDTO = getIndustryTypeById(requirementsInfoDO.getServiceId(),null);
requirementsInfoDO.setServiceName(industryTypeDTO.getTypeName());
requirementsInfoDO.setOpenid(openid);
// sum是1说明订单只需一个人 sum>1 说明是多人需要创建子订单
requirementsInfoDO.setRepertory(requirementsInfoDO.getRequireNum());
requirementsDao.addPublishService(requirementsInfoDO);
int orderId = requirementsInfoDO.getId();
RequirementsAmountDO requirementsAmountDO = new RequirementsAmountDO(requirementsInfoDO);
requirementsDao.addAmount(requirementsAmountDO);
if (sum == 1) {
requirementsDao.insertPlatformOrderEarnings(new BigDecimal(0), requirementsInfoDO.getId(), 0);
if (requirementsAmountDO.getCashAmount().compareTo(BigDecimal.ZERO) != 0
|| requirementsAmountDO.getSalaryAmount().compareTo(BigDecimal.ZERO) != 0
|| requirementsAmountDO.getLevelCashAmount().compareTo(BigDecimal.ZERO) != 0
|| requirementsAmountDO.getLevelSalaryAmount().compareTo(BigDecimal.ZERO) != 0) {
feignWalletFlow(publisherWalletFlowVO, request.getHeader("token"));
}
return ResultBody.success();
//向order_amout_detail给每个子订单添加详细信息
OrderAmountDetailDO orderAmountDetailDO = new OrderAmountDetailDO();
orderAmountDetailDO.setRequirementsInfoId(requirementsInfoDO.getId());
orderAmountDetailDO.setRealWages(requirementsAmountDO.getOrderAmount());
orderAmountDetailDO.setDailyWage(requirementsAmountDO.getOrderAmount());
orderAmountDetailDao.insertSelective(orderAmountDetailDO);
} else {
//循环添加子订单
//添加子订单
for (int i = 0; i < sum; i++) {
//往requirements_info表添加数据
ServiceRequirementsSonDO requirementsSonDO = new ServiceRequirementsSonDO(requirementsInfoDO);
requirementsSonDO.setPublisherNumber(randomOrderCode());
requirementsDao.addPublishServiceSon(requirementsSonDO);
System.out.println(requirementsSonDO);
//往requirements_amount表添加数据
RequirementsAmountDO requirementsAmountSonDO = new RequirementsAmountDO(requirementsSonDO);
System.out.println(requirementsAmountSonDO);
System.out.println("-------------------------");
requirementsDao.addAmount(requirementsAmountSonDO);
//向order_amout_detail给每个子订单添加详细信息
OrderAmountDetailDO orderAmountDetailDO = new OrderAmountDetailDO();
orderAmountDetailDO.setRequirementsInfoId(requirementsSonDO.getId());
orderAmountDetailDO.setRealWages(requirementsAmountSonDO.getOrderAmount());
orderAmountDetailDO.setDailyWage(requirementsAmountSonDO.getOrderAmount());
orderAmountDetailDao.insertSelective(orderAmountDetailDO);
requirementsDao.insertPlatformOrderEarnings(new BigDecimal(0), requirementsSonDO.getId(), 0);
if (requirementsAmountSonDO.getCashAmount().compareTo(BigDecimal.ZERO) != 0
|| requirementsAmountSonDO.getSalaryAmount().compareTo(BigDecimal.ZERO) != 0
|| requirementsAmountSonDO.getLevelCashAmount().compareTo(BigDecimal.ZERO) != 0
|| requirementsAmountSonDO.getLevelSalaryAmount().compareTo(BigDecimal.ZERO) != 0) {
feignWalletFlow(publisherWalletFlowVO, request.getHeader("token"));
}
}
return ResultBody.success();
}
if (requirementsAmountDO.getCashAmount().compareTo(BigDecimal.ZERO) != 0
|| requirementsAmountDO.getSalaryAmount().compareTo(BigDecimal.ZERO) != 0
|| requirementsAmountDO.getLevelCashAmount().compareTo(BigDecimal.ZERO) != 0
|| requirementsAmountDO.getLevelSalaryAmount().compareTo(BigDecimal.ZERO) != 0) {
feignWalletFlow(publisherWalletFlowVO, request.getHeader("token"));
}
return ResultBody.success(orderId);
} else {
//云享金和佣金扣除完成,但是还不足支付订单金额,并且没有选择微信支付,所以支付不合法
return ResultBody.success("下单失败");
......@@ -2824,6 +2884,7 @@ public class RequirementsServiceImpl implements RequirementsService {
HttpHeaders headers = new HttpHeaders();
headers.setContentType(MediaType.APPLICATION_JSON);
headers.add("token", token);
log.info("获取钱包信息的token:{}",token);
HttpEntity<MultiValueMap<String, Object>> formEntity = new HttpEntity<MultiValueMap<String, Object>>(headers);
ResponseEntity<String> exchange = null;
try {
......@@ -2858,6 +2919,27 @@ public class RequirementsServiceImpl implements RequirementsService {
}
@Override
public PageResult mySendPublish(Integer userAccountId, MyPublishQO param) {
Integer pageNo = param.getPageNo();
param.buildCurrentPage();
param.setUserAccountId(userAccountId);
int count = requirementsDao.mySendPublishCount(param);
List<RequirementsInfoDO> requirementsInfoDOS = requirementsDao.mySendPublish(param);
List<RequirementsInfoVO> collect = requirementsInfoDOS.stream().map(RequirementsInfoDO::buildRequirementsInfoVO).collect(Collectors.toList());
List<IndustryTypeDTO> industryTypeDTOS = listIndustry();
for (RequirementsInfoVO requirementsInfoVO : collect) {
for (IndustryTypeDTO industryTypeDTO : industryTypeDTOS) {
if (requirementsInfoVO.getServiceId() != null && requirementsInfoVO.getServiceId().equals(industryTypeDTO.getId())) {
requirementsInfoVO.setServiceName(industryTypeDTO.getTypeName());
}
}
}
return PageResult.buildPage(pageNo, param.getPageSize(), count, collect);
}
@Override
public ServiceRequirementsDO getRepertory(GrabTheOrderVO grabTheOrderVO, HttpServletRequest request) {
return requirementsDao.grabTheOrder(grabTheOrderVO.getRequirementsInfoId());
......@@ -3057,6 +3139,8 @@ public class RequirementsServiceImpl implements RequirementsService {
requirementsDao.arriveAtTheScene(serviceArriveSceneDO);
requirementsDao.updateScene(serviceArriveSceneDO.getRequirementsInfoId(), 3);
requirementsDao.updateInfo(serviceArriveSceneDO.getRequirementsInfoId(), 3);
//把抵达现场的时间设置为飞手默认的工作时间
requirementsDao.setWorkTimeByPilot(serviceArriveSceneDO.getRequirementsInfoId());
// }
return ResultBody.success();
}
......@@ -3086,6 +3170,47 @@ public class RequirementsServiceImpl implements RequirementsService {
}
@Override
public ResultBody updateTaskUrl(String taskUrl, Integer requirementsInfoId) {
if(StringUtils.isEmpty(taskUrl)){
return ResultBody.error("传的内容为空");
}
ServiceFulfilATaskDO serviceFulfilATaskDO = requirementsDao.fulfilATaskDetails(requirementsInfoId, null);
if(serviceFulfilATaskDO == null){
return ResultBody.error("没有查到这个订单");
}
// String taskUrl1 = serviceFulfilATaskDO.getTaskUrl();
// if(StringUtils.isEmpty(taskUrl1)){
// String newTaskUrl = taskUrl;
// requirementsDao.updateTaskUrl(newTaskUrl,requirementsInfoId);
// return ResultBody.success();
// }
// taskUrl = taskUrl.replace("\\","");
// // 解析为JSON数组
// JsonArray jsonArray1 = new Gson().fromJson(taskUrl1, JsonArray.class);
// JsonArray jsonArray2 = new Gson().fromJson(taskUrl, JsonArray.class);
//
// // 合并JSON数组
// JsonArray mergedArray = new JsonArray();
// for (int i = 0; i < jsonArray1.size(); i++) {
// mergedArray.add(jsonArray1.get(i));
// }
// for (int i = 0; i < jsonArray2.size(); i++) {
// mergedArray.add(jsonArray2.get(i));
// }
//
// // 转换为字符串形式
// String newTaskUrl = mergedArray.toString();
requirementsDao.updateTaskUrl(taskUrl,requirementsInfoId);
return ResultBody.success();
}
@Override
public ResultBody getTaskUrl(Integer requirementsInfoId) {
return ResultBody.success(requirementsDao.getTaskUrl(requirementsInfoId));
}
@Override
public ResultBody<ServiceFulfilATaskDTO> fulfilATaskDetails(Integer requirementsInfoId, Integer userAccountId) {
ServiceFulfilATaskDO serviceFulfilATaskDO = requirementsDao.fulfilATaskDetails(requirementsInfoId, userAccountId);
ServiceFulfilATaskDTO serviceFulfilATaskDTO = serviceFulfilATaskDO.buildServiceFulfilATaskDTO();
......@@ -3191,6 +3316,25 @@ public class RequirementsServiceImpl implements RequirementsService {
param.setUserAccountId(userAccountId);
int count = requirementsDao.myPublishcount(param);
List<RequirementsInfoDO> requirementsInfoDOS = requirementsDao.selectRequireSonInfo(param);
for(RequirementsInfoDO requirementsInfoDO : requirementsInfoDOS) {
if (requirementsInfoDO.getServiceFlowId() != 1 && requirementsInfoDO.getServiceFlowId() != 7 ) {
String orderStatus = requirementsInfoDO.getOrderStatus();
RequirementsServicePilotInfoDO pilotInfo = null;
//140是派单的状态
if (param.getType() != 140) {
pilotInfo = requirementsDao.selectPilotInfoByRequireId(requirementsInfoDO.getId());
}else {
pilotInfo = requirementsDao.selectTempPilotInfoByRequireId(requirementsInfoDO.getId());
}
if(pilotInfo != null) {
requirementsInfoDO.setPilotCertificationId(pilotInfo.getPilotCertificationId());
requirementsInfoDO.setPilotCertificationUserId(pilotInfo.getPilotCertificationUserId());
}
}
}
List<RequirementsInfoVO> collect = requirementsInfoDOS.stream().map(RequirementsInfoDO::buildRequirementsInfoVO).collect(Collectors.toList());
List<IndustryTypeDTO> industryTypeDTOS = listIndustry();
for (RequirementsInfoVO requirementsInfoVO : collect) {
......@@ -3203,6 +3347,7 @@ public class RequirementsServiceImpl implements RequirementsService {
return PageResult.buildPage(pageNo, param.getPageSize(), count, collect);
}
@Override
public ResultBody agreeOrRefusePilot(AgreeOrRefusePilotQO param) {
//判断飞手是否被同意 2就是该抵达现场下一步流程
......@@ -3226,6 +3371,179 @@ public class RequirementsServiceImpl implements RequirementsService {
return ResultBody.success();
}
@Override
public ResultBody personSendOrder(PersonSendOrderVO personSendOrderVO,String token) {
// if(requirementsDao.isReSendOrder(personSendOrderVO.getRequirementsInfoId() )!= 0){
// return ResultBody.error("重复派单");
// }
if(requirementsDao.isLootedByPilot(personSendOrderVO.getRequirementsInfoId()) == 0 && personSendOrderVO.getIsAdminSend()==0){
return ResultBody.error("该订单已经被抢,无法继续派单");
}
if(requirementsDao.reSendOrder(personSendOrderVO.getRequirementsInfoId(),personSendOrderVO.getPilotCertificationUserId()) == 1){
return ResultBody.error("飞手拒绝过该订单或者已经派单,不能重复派单");
}
PersonSendOrderDO personSendOrderDO = null;
String pilotPhone = userAppApi.getPilotApplyPhone(token, personSendOrderVO.getPilotCertificationUserId());
// 1、是否是团队派单
if(requirementsDao.isTeamSendOrder(personSendOrderVO.getRequirementsInfoId()) != 0){
personSendOrderDO = new PersonSendOrderDO(personSendOrderVO);
requirementsDao.updateSendOrder(personSendOrderDO);
SmsUtil.sendPilotOrder(pilotPhone);
requirementsDao.updateOrderRequireNum(personSendOrderVO.getRequirementsInfoId(),0);
return ResultBody.success("派单成功,等待飞手确认");
}
// 2、直接给飞手派单
Integer managerId = userAppApi.selectPilotTeamManagerId(token,personSendOrderVO.getPilotCertificationUserId());
// 修改info表中的状态为13派单中
requirementsDao.updateInfoStatus(personSendOrderVO.getRequirementsInfoId(),13);
if(managerId != null){
personSendOrderDO = new PersonSendOrderDO();
personSendOrderDO.setRequirementsInfoId(personSendOrderVO.getRequirementsInfoId());
personSendOrderDO.setTeamUserId(managerId);
requirementsDao.personSendOrder(personSendOrderDO);
// TODO 定时器、发送短信、公众号通知
String managerPhone = userAppApi.getPilotApplyPhone(token, managerId);
SmsUtil.sendPilotOrder(managerPhone);
requirementsDao.updateOrderRequireNum(personSendOrderVO.getRequirementsInfoId(),0);
return ResultBody.success("派单飞手拥有团队,等待团队管理员确认后重新给您分配飞手");
}else{
personSendOrderDO = new PersonSendOrderDO(personSendOrderVO);
requirementsDao.personSendOrder(personSendOrderDO);
// TODO 定时器 发送短信、公众号通知
SmsUtil.sendPilotOrder(pilotPhone);
requirementsDao.updateOrderRequireNum(personSendOrderVO.getRequirementsInfoId(),0);
// scheduledTaskUtil.create(personSendOrderVO);
return ResultBody.success("派单成功,等待飞手确认");
}
}
@Override
public ResultBody teamSendOrder(Integer fatherRequireId, Integer managerId,String token) {
if(requirementsDao.isLootedByPilot(fatherRequireId) == 1){
return ResultBody.error("该订单的子订单已经被抢,无法继续派单");
}
// 查询所有的子订单id
List<Integer> ids = requirementsDao.selectAllSuborder(fatherRequireId);
requirementsDao.updateInfoStatus(fatherRequireId,13);
PersonSendOrderDO personSendOrderDO = new PersonSendOrderDO();
personSendOrderDO.setTeamUserId(managerId);
personSendOrderDO.setRequirementsInfoId(fatherRequireId);
requirementsDao.personSendOrder(personSendOrderDO);
for (Integer id : ids) {
personSendOrderDO.setRequirementsInfoId(id);
requirementsDao.personSendOrder(personSendOrderDO);
// 修改info表中的状态为13派单中
requirementsDao.updateInfoStatus(id,13);
//修改子订单所需人数
requirementsDao.updateOrderRequireNum(id,0);
}
String managerPhone = userAppApi.getPilotApplyPhone(token, managerId);
SmsUtil.sendPilotOrder(managerPhone);
requirementsDao.updateOrderRequireNum(fatherRequireId,0);
return ResultBody.success("等待团队管理员确认");
}
@Override
public ResultBody orderConfirmationByPilot(Integer id,Integer status,String token) {
// if(requirementsDao.isReConfirm(id) != 0){
// return ResultBody.error("重复确认");
// }
requirementsDao.orderConfirmationByPilot(id, status);
PersonSendOrderDO personSendOrderDO = requirementsDao.selectSendOrderById(id);
// 飞手同意接单
if(status == 1){
RequirementsServiceDO requirementsServiceDO = new RequirementsServiceDO(personSendOrderDO);
// 同步派单信息到抢单表中
requirementsDao.insertService(requirementsServiceDO);
// SmsUtil.sendPassPilotApply(phone);
// TODO 公众号通知
// 修改info表中的状态为2等待抵达任务地点
requirementsDao.updateInfoStatus(personSendOrderDO.getRequirementsInfoId(),2);
Integer userId = requirementsDao.selectSenderId(personSendOrderDO.getRequirementsInfoId());
String userPhone = userAppApi.getPilotApplyPhone(token, userId);
SmsUtil.sendGetOrder(userPhone);
return ResultBody.success("飞手已接单");
}
if(personSendOrderDO.getTeamUserId() != null){
PersonSendOrderDO orderDO = new PersonSendOrderDO();
orderDO.setRequirementsInfoId(personSendOrderDO.getRequirementsInfoId());
orderDO.setTeamUserId(personSendOrderDO.getTeamUserId());
requirementsDao.personSendOrder(orderDO);
// TODO 公众号通知
String managerPhone = userAppApi.getPilotApplyPhone(token, personSendOrderDO.getTeamUserId());
SmsUtil.sendRefuseManager(managerPhone);
return ResultBody.success("飞手拒绝派单,需要管理员继续派单");
}
// 订单发往抢单大厅
requirementsDao.updateCount(personSendOrderDO.getRequirementsInfoId());
// TODO 公众号通知
// 修改info表中的状态为1等待抢单
requirementsDao.updateInfoStatus(personSendOrderDO.getRequirementsInfoId(),1);
Integer userId = requirementsDao.selectSenderId(personSendOrderDO.getRequirementsInfoId());
String userPhone = userAppApi.getPilotApplyPhone(token, userId);
SmsUtil.sendRefuseUser(userPhone);
requirementsDao.updateOrderRequireNum(personSendOrderDO.getRequirementsInfoId(),0);
return ResultBody.success("飞手已拒绝接单,订单发往抢单大厅");
}
@Override
public ResultBody orderConfirmationByTeam(Integer id,Integer status,String token) {
//查询订单所需总人数 大于1说明是一个多人订单
requirementsDao.orderConfirmationByTeam(id, status);
int requirementsNum = requirementsDao.selectRequirementsNum(id);
if(requirementsNum == 1){
if(requirementsDao.isReConfirm(id) != 0){
return ResultBody.error("重复确认");
}
requirementsDao.orderConfirmationByTeam(id, status);
} else if (requirementsNum > 1) {
// 查询所有的子订单id
List<Integer> ids = requirementsDao.selectAllSuborder(id);
PersonSendOrderDO personSendOrderDO = null;
//每一个子订单都要同意下
for (Integer i : ids) {
requirementsDao.orderConfirmationByTeam(i, status);
//如果拒绝的话还要发往抢单大厅
if(status == 2) {
requirementsDao.updateOrderRequireNum(i,1);
}
}
}
// 管理员同意接单
if(status == 1){
// TODO 发送短信、公众号通知
return ResultBody.success("团队管理员已接单,正在为您分配飞手");
}
Integer userId = requirementsDao.selectSenderId(id);
String userPhone = userAppApi.getPilotApplyPhone(token, userId);
SmsUtil.sendManagerRefuseOrder(userPhone);
requirementsDao.updateOrderRequireNum(id,requirementsNum);
// TODO 发送短信、公众号通知
return ResultBody.success("团队管理员已拒绝接单,订单发往抢单大厅");
}
@Override
public PageResult mySendOderList(Integer userAccountId, MyPreemptQO param) {
Integer pageNo = param.getPageNo();
param.buildCurrentPage();
param.setUserAccountId(userAccountId);
int count = requirementsDao.mySendOderListCount(param);
List<RequirementsInfoDO> requirementsInfoDOS = requirementsDao.mySendOderList(param);
List<RequirementsInfoVO> collect = requirementsInfoDOS.stream().map(RequirementsInfoDO::buildRequirementsInfoVO).collect(Collectors.toList());
List<IndustryTypeDTO> industryTypeDTOS = listIndustry();
for (RequirementsInfoVO requirementsInfoVO : collect) {
for (IndustryTypeDTO industryTypeDTO : industryTypeDTOS) {
if (requirementsInfoVO.getServiceId() != null && requirementsInfoVO.getServiceId().equals(industryTypeDTO.getId())) {
requirementsInfoVO.setServiceName(industryTypeDTO.getTypeName());
}
}
}
return PageResult.buildPage(pageNo, param.getPageSize(), count, collect);
}
public UserAccountSimpleDTO feignGetUserSimpleInfo(Integer userAccountId, HttpServletRequest request) {
String token = request.getHeader("token");
......@@ -3451,11 +3769,17 @@ public class RequirementsServiceImpl implements RequirementsService {
}
public IndustryTypeDTO getIndustryTypeById(Integer serviceId) {
public IndustryTypeDTO getIndustryTypeById(Integer serviceId,Integer inspectionId) {
HttpHeaders headers = new HttpHeaders();
headers.setContentType(MediaType.APPLICATION_JSON);
HttpEntity<String> entity = new HttpEntity<>(null, headers);
ResponseEntity<String> exchange = restTemplate.exchange(pmsApp + "/pms/industry/getIndustryTypeById?id=+" + serviceId, HttpMethod.GET, entity, String.class);
String url = null;
if(inspectionId!=null){
url = String.format("%s/pms/industry/getIndustryTypeById?id=%s&inspectionId=%s", pmsApp, serviceId, inspectionId);
}else {
url = String.format("%s/pms/industry/getIndustryTypeById?id=%s", pmsApp, serviceId);
}
ResponseEntity<String> exchange = restTemplate.exchange(url, HttpMethod.GET, entity, String.class);
String body = exchange.getBody();
IndustryTypeDTO industryTypeDTO = JSONObject.parseObject(body, IndustryTypeDTO.class);
return industryTypeDTO;
......@@ -3482,6 +3806,25 @@ public class RequirementsServiceImpl implements RequirementsService {
}
return rs.toString();
}
public JSONObject spellMsg(String name, String result){
JSONObject data=new JSONObject();
//订单编号{{thing3.DATA}}
JSONObject thing3=new JSONObject();
thing3.put("value",name);
data.put("thing3",thing3);
//审核时间{{time6.DATA}}
JSONObject time6=new JSONObject();
time6.put("value",new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(new Date()));
data.put("time6",time6);
//审核结果{{thing5.DATA}}
JSONObject thing5=new JSONObject();
thing5.put("value",result);
data.put("thing5",thing5);
return data;
}
}
......@@ -18,6 +18,6 @@ public interface LicenceBackgroundService {
ResultBody removeOrganizations(Integer id);
ResultBody selectOrganizations(Integer backUserId);
PageResult listOrgPage(LicenseOrganizationsQO organizationsQO, LoginSuccessDTO userLoginInfoFromRedis);
}
......@@ -117,11 +117,13 @@ public class LicenceBackgroundServiceImpl implements LicenceBackgroundService {
private void getOrgName(LicenseOrganizationsVO organizations) {
String region = organizations.getRegion();
List<String> strings = Arrays.asList(region.split(","));
List<Integer> collect = strings.stream().map(Integer::valueOf).collect(Collectors.toList());
List<String> orgName = licenceBackgroundDao.getOrgName(collect);
String join = StringUtils.join(orgName, ",");
organizations.setRegionName(join);
if(region != null) {
List<String> strings = Arrays.asList(region.split(","));
List<Integer> collect = strings.stream().map(Integer::valueOf).collect(Collectors.toList());
List<String> orgName = licenceBackgroundDao.getOrgName(collect);
String join = StringUtils.join(orgName, ",");
organizations.setRegionName(join);
}
}
@Override
......@@ -132,11 +134,24 @@ public class LicenceBackgroundServiceImpl implements LicenceBackgroundService {
}
@Override
public ResultBody selectOrganizations(Integer backUserId) {
LicenseOrganizationsDO licenseOrganizationsDO = licenceBackgroundDao.selectOrganizations(backUserId);
LicenseOrganizationsDTO licenseOrganizationsDTO = licenseOrganizationsDO.organizationsDTO();
Integer orgId = licenseOrganizationsDTO.getId();
List<LicenseProgramsDO> licenseProgramsDOS = licenceBackgroundDao.selectPrograms(orgId);
List<LicenseTrainingProgramsDTO> orgList = licenseProgramsDOS.stream().map(LicenseProgramsDO :: buildTrainingProgramsDTO).collect(Collectors.toList());
licenseOrganizationsDTO.setProgramsDOList(orgList);
return ResultBody.success(licenseOrganizationsDTO);
}
@Override
public PageResult listOrgPage(LicenseOrganizationsQO organizationsQO, LoginSuccessDTO userLoginInfoFromRedis) {
int count = licenceBackgroundDao.countListOrgPage(organizationsQO);
if (count == 0) {
return PageResult.buildPage(organizationsQO.getPageNo(), organizationsQO.getPageSize(), count);
}
Integer backUserId = userLoginInfoFromRedis.getUserAccountId();
organizationsQO.setBackUserId(backUserId);
Integer pageNo = organizationsQO.getPageNo();
organizationsQO.buildCurrentPage();
List<LicenseOrganizationsDO> licenseOrganizationsDOS = licenceBackgroundDao.listOrgPage(organizationsQO);
......
package com.mmc.csf.release.util;
import com.mmc.csf.infomation.vo.PersonSendOrderVO;
import com.mmc.csf.release.dao.RequirementsDao;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.data.redis.core.RedisTemplate;
import org.springframework.stereotype.Component;
import java.io.Serializable;
import java.util.TimerTask;
@Component
public class MyTask extends TimerTask implements Serializable {
private final RequirementsDao requirementsDao;
private PersonSendOrderVO personSendOrderVO;
public MyTask(RequirementsDao requirementsDao) {
this.requirementsDao = requirementsDao;
}
public void setPersonSendOrderVO(PersonSendOrderVO personSendOrderVO) {
this.personSendOrderVO = personSendOrderVO;
}
private static final long serialVersionUID = 1L;
@Override
public void run() {
requirementsDao.deleteSendOrder(personSendOrderVO.getRequirementsInfoId());
System.out.println("定时任务执行完毕!");
}
}
package com.mmc.csf.release.util;
import com.mmc.csf.infomation.vo.PersonSendOrderVO;
import com.mmc.csf.release.dao.RequirementsDao;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.data.redis.core.RedisTemplate;
import org.springframework.data.redis.serializer.GenericJackson2JsonRedisSerializer;
import org.springframework.scheduling.TaskScheduler;
import org.springframework.scheduling.support.CronTrigger;
import org.springframework.stereotype.Component;
import java.time.Instant;
import java.util.Map;
import java.util.concurrent.ConcurrentHashMap;
import java.util.concurrent.ScheduledFuture;
import java.util.concurrent.TimeUnit;
@Component
public class ScheduledTaskUtil {
@Autowired
private RedisTemplate<String, Object> redisTemplate;
@Autowired
private TaskScheduler taskScheduler;
@Autowired
private RequirementsDao requirementsDao;
private final Map<Integer, ScheduledFuture<?>> scheduledTasks = new ConcurrentHashMap<>();
public void create(PersonSendOrderVO personSendOrderVO){
long delay = 10000; // 延迟5s开始执行
MyTask task = new MyTask(requirementsDao);
task.setPersonSendOrderVO(personSendOrderVO);
redisTemplate.setValueSerializer(new GenericJackson2JsonRedisSerializer());
redisTemplate.opsForValue().set("task"+personSendOrderVO.getRequirementsInfoId(), task, delay, TimeUnit.MILLISECONDS);
// 使用TaskScheduler执行定时任务
System.out.println("定时任务已开启");
ScheduledFuture<?> scheduledFuture = taskScheduler.schedule(task, Instant.now().plusMillis(delay));
scheduledTasks.put(personSendOrderVO.getRequirementsInfoId(), scheduledFuture);
}
public void destroy(Integer requireId){
redisTemplate.setValueSerializer(new GenericJackson2JsonRedisSerializer());
MyTask task = (MyTask) redisTemplate.opsForValue().get("task"+requireId);
ScheduledFuture<?> scheduledFuture = scheduledTasks.get(requireId);
if (task != null && scheduledFuture != null) {
scheduledFuture.cancel(false);
redisTemplate.delete("task"+requireId);
scheduledTasks.remove(requireId);
System.out.println("定时任务已取消");
}
}
}
package com.mmc.csf.release.util;
import com.aliyun.dysmsapi20170525.models.SendSmsRequest;
import com.aliyun.dysmsapi20170525.models.SendSmsResponse;
import com.aliyun.teaopenapi.models.Config;
import com.google.gson.Gson;
/**
* @author: zj
* @Date: 2023/7/25 17:00
*/
public class SmsUtil {
public static String ALIYUN_OSS_ACCESS_KEY_ID = "LTAI5tS3GNPRZAkG9LCQBZmc";
public static String ALIYUN_OSS_ACCESS_KEY_SECRET = "ZkPrv1u2mN2DmOIc7GfPKRuy4Risqe";
public static String CLOUD_JOIN_WEBSITE = "云享飞";
private static String ENDPOINT = "dysmsapi.aliyuncs.com";
/**
*
* 加盟审核通过
*/
private static String COOPERATION_TEMPLATE_PASS_CODE_0 = "SMS_461986130";
private static String COOPERATION_TEMPLATE_PASS_CODE_2 = "SMS_462240459";
private static String COOPERATION_TEMPLATE_PASS_CODE_3 = "SMS_462620535";
private static String COOPERATION_TEMPLATE_PASS_CODE_4 = "SMS_462605558";
private static String COOPERATION_TEMPLATE_PASS_CODE_5 = "SMS_464125992";
private static String COOPERATION_TEMPLATE_PASS_CODE_6 = "SMS_464380042";
private static String COOPERATION_TEMPLATE_PASS_CODE_7 = "SMS_464335035";
private static String COOPERATION_TEMPLATE_PASS_CODE_8="SMS_464386188";
private static String COOPERATION_TEMPLATE_PASS_CODE_9="SMS_464401213";
private static String COOPERATION_TEMPLATE_PASS_CODE_10="SMS_464371178";
private static String COOPERATION_TEMPLATE_PASS_CODE_11="SMS_464371179";
private static String COOPERATION_TEMPLATE_PASS_CODE_12="SMS_464321248";
//短信验证码模板
private static String VERIFYCODE="SMS_211825548";
/**
* 加盟审核未通过
*/
private static String COOPERATION_TEMPLATE_CODE_1 = "SMS_462095054";
public static String sendPassCooperationApply(String phone) {
return send(CLOUD_JOIN_WEBSITE, COOPERATION_TEMPLATE_PASS_CODE_5, null, phone);
}
public static String sendNotPassCooperationApply(String phone) {
return send(CLOUD_JOIN_WEBSITE, COOPERATION_TEMPLATE_CODE_1, null, phone);
}
// 飞手审核通过通知
public static String sendPassPilotApply(String phone) {
return send(CLOUD_JOIN_WEBSITE, COOPERATION_TEMPLATE_PASS_CODE_6, null, phone);
}
//飞手提现通知
public static String sendPassWithdrawalApply(String phone) {
return send(CLOUD_JOIN_WEBSITE, COOPERATION_TEMPLATE_PASS_CODE_7, null, phone);
}
//飞手订单派送
public static String sendPilotOrder(String phone) {
return send(CLOUD_JOIN_WEBSITE, COOPERATION_TEMPLATE_PASS_CODE_8, null, phone);
}
//管理员拒绝接单
public static String sendManagerRefuseOrder(String phone) {
return send(CLOUD_JOIN_WEBSITE, COOPERATION_TEMPLATE_PASS_CODE_9, null, phone);
}
//飞手拒绝接用户的订单
public static String sendRefuseUser(String phone) {
return send(CLOUD_JOIN_WEBSITE, COOPERATION_TEMPLATE_PASS_CODE_10, null, phone);
}
//飞手拒绝管理员派单
public static String sendRefuseManager(String phone) {
return send(CLOUD_JOIN_WEBSITE, COOPERATION_TEMPLATE_PASS_CODE_11, null, phone);
}
//飞手接单
public static String sendGetOrder(String phone) {
return send(CLOUD_JOIN_WEBSITE, COOPERATION_TEMPLATE_PASS_CODE_12, null, phone);
}
public static String send(String TemplateCode, String param, String phone) {
return send(CLOUD_JOIN_WEBSITE, TemplateCode, param, phone);
}
public static String send(String signName, String TemplateCode, String param, String phone) {
Config config = new Config().setAccessKeyId(ALIYUN_OSS_ACCESS_KEY_ID).setAccessKeySecret(ALIYUN_OSS_ACCESS_KEY_SECRET);
config.endpoint = ENDPOINT;
com.aliyun.dysmsapi20170525.Client client = null;
SendSmsRequest request = new SendSmsRequest();
request.setPhoneNumbers(phone);
request.setSignName(signName);
request.setTemplateCode(TemplateCode);
if (param != null) {
request.setTemplateParam(param);
}
SendSmsResponse response = null;
try {
client = new com.aliyun.dysmsapi20170525.Client(config);
response = client.sendSms(request);
} catch (Exception e) {
return e.getMessage();
}
return new Gson().toJson(response.body);
}
/**
* 短信验证码
* @param verifyCode
* @param phone
* @return
*/
public static String verifyCode(String verifyCode,String phone){
return send(VERIFYCODE,"{\"code\":\""+verifyCode+"\"}",phone);
}
}
......@@ -10,7 +10,7 @@ spring:
#Database
datasource:
driver-class-name: com.mysql.cj.jdbc.Driver
url: jdbc:mysql://mysql.default:3306/iuav_ims_dev?allowMultiQueries=true&useUnicode=true&characterEncoding=UTF-8&useSSL=false&serverTimezone=GMT%2B8
url: jdbc:mysql://rm-bp1m8kze2l399i1jyko.mysql.rds.aliyuncs.com:3306/iuav_ims_dev?allowMultiQueries=true&useUnicode=true&characterEncoding=UTF-8&useSSL=false&serverTimezone=GMT%2B8
username: iuav_dev
password: ${MYSQL_PASSWORD}
# Druid数据源配置
......@@ -52,7 +52,7 @@ spring:
#Redis
redis:
database: 1
host: redis.default
host: 172.24.1.207
password: ${REDIS_PASSWORD}
port: 6379
#连接池
......@@ -70,7 +70,7 @@ spring:
#rabbitMQ
#rabbitMQ
rabbitmq:
host: amqp-cn-zvp2ozhnj001.cn-shenzhen.amqp-0.net.mq.amqp.aliyuncs.com
host: 172.24.1.207
port: 5672
username: MjphbXFwLWNuLXp2cDJvemhuajAwMTpMVEFJNEZ6Q3B5ckEzM1BlZ254V1M2WFY=
password: ${RABBITMQ_PASSWORD}
......@@ -78,8 +78,8 @@ spring:
wx:
sub:
appid: wx5c6a105a0ddca4c5
secret: 96c75255dd26f82f8d55e15b59e101c7
appid: wx50b22db275f8c320
secret: 7b609851705dd22114fff636d0a2fc4a
app:
id: wx18b7883acd204278
secret: 28afe74ba373830237a8133a7431ee82
......@@ -148,9 +148,9 @@ iuav:
pmsapp:
url: http://pms-svc:8099
omsapp:
url: https://test.iuav.shop/oms/
url: https://test.iuav.com/oms/
payment:
url: https://test.iuav.shop
url: https://test.iuav.com
#mmc:
......
......@@ -10,7 +10,7 @@ spring:
#Database
datasource:
driver-class-name: com.mysql.cj.jdbc.Driver
url: jdbc:mysql://rm-wz9dd796t4j1giz6t2o.mysql.rds.aliyuncs.com:3306/iuav_ims_dev?allowMultiQueries=true&useUnicode=true&characterEncoding=UTF-8&useSSL=false&serverTimezone=GMT%2B8
url: jdbc:mysql://rm-bp1m8kze2l399i1jyko.mysql.rds.aliyuncs.com:3306/iuav_ims_dev?allowMultiQueries=true&useUnicode=true&characterEncoding=UTF-8&useSSL=false&serverTimezone=GMT%2B8
username: iuav_dev
password: IUAV_DEV@2023&MYSQL
# Druid数据源配置
......@@ -52,9 +52,8 @@ spring:
#Redis
redis:
database: 1
host: r-wz9ke310fs684hacn1pd.redis.rds.aliyuncs.com
host: 127.0.0.1
port: 6379
password: MMC@2022&REDIS
#连接池
lettuce:
shutdown-timeout: 1000 # 关闭超时时间-ms
......@@ -70,16 +69,16 @@ spring:
#rabbitMQ
#rabbitMQ
rabbitmq:
host: amqp-cn-zvp2ozhnj001.cn-shenzhen.amqp-0.net.mq.amqp.aliyuncs.com
host: 8.139.4.51
port: 5672
username: MjphbXFwLWNuLXp2cDJvemhuajAwMTpMVEFJNEZ6Q3B5ckEzM1BlZ254V1M2WFY=
password: RTg3OUMxQzk4NzU0NDQ4RkQ1RDg4MkEzQjY4M0M3MkQxOTM2QkEyNDoxNjUyNDA4NDk0NDg4
virtual-host: /
virtual-host: dev
wx:
sub:
appid: wx5c6a105a0ddca4c5
secret: 96c75255dd26f82f8d55e15b59e101c7
appid: wx50b22db275f8c320
secret: 7b609851705dd22114fff636d0a2fc4a
app:
id: wx18b7883acd204278
secret: 28afe74ba373830237a8133a7431ee82
......@@ -144,9 +143,9 @@ ribbon:
iuav:
userapp:
url: http://cms-svc:35150
url: http://localhost:35150
pmsapp:
url: http://pms-svc:8099
url: http://localhost:8099
omsapp:
url: http://localhost:8077/oms/
payment:
......
......@@ -10,7 +10,7 @@ spring:
#Database
datasource:
driver-class-name: com.mysql.cj.jdbc.Driver
url: jdbc:mysql://mysql.default:3306/iuav_ims?allowMultiQueries=true&useUnicode=true&characterEncoding=UTF-8&useSSL=false&serverTimezone=GMT%2B8
url: jdbc:mysql://rm-bp1m8kze2l399i1jyko.mysql.rds.aliyuncs.com:3306/iuav_ims?allowMultiQueries=true&useUnicode=true&characterEncoding=UTF-8&useSSL=false&serverTimezone=GMT%2B8
username: iuav
password: ${MYSQL_PASSWORD}
# Druid数据源配置
......@@ -52,7 +52,7 @@ spring:
#Redis
redis:
database: 5
host: redis.default
host: 172.24.1.207
password: ${REDIS_PASSWORD}
port: 6379
#连接池
......@@ -69,7 +69,7 @@ spring:
min-idle: 1
#rabbitMQ
rabbitmq:
host: amqp-cn-zvp2ozhnj001.cn-shenzhen.amqp-0.net.mq.amqp.aliyuncs.com
host: 172.24.1.207
port: 5672
username: MjphbXFwLWNuLXp2cDJvemhuajAwMTpMVEFJNEZ6Q3B5ckEzM1BlZ254V1M2WFY=
password: ${RABBITMQ_PASSWORD}
......@@ -132,8 +132,8 @@ ribbon:
wx:
sub:
appid: wx5c6a105a0ddca4c5
secret: ${WECHAT_SUB_SECRET}
appid: wx50b22db275f8c320
secret: 7b609851705dd22114fff636d0a2fc4a
app:
id: wx18b7883acd204278
secret: ${WECHAT_APPLET_SECRET}
......@@ -146,9 +146,9 @@ iuav:
pmsapp:
url: http://pms-svc:8099
omsapp:
url: https://www.iuav.shop/oms/
url: https://www.iuav.com/oms/
payment:
url: https://www.iuav.shop
url: https://www.iuav.com
#mmc:
# appid: 80001
......
<?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.mmc.csf.release.dao.CurriculumOrderDao">
<sql id="Base_Column_List">
id,order_no,user_account_id,
order_total_amount,salary_amount,
cash_amount,we_chat,wechat_pay_order_number
</sql>
<select id="selectByPrimaryKey" parameterType="java.lang.Integer">
select
<include refid="Base_Column_List"/>
from curriculum_order
where id = #{id,jdbcType=INTEGER}
</select>
<select id="getCountCurriculumOrder" resultType="java.lang.Integer">
select count(ci.id) from curriculum_order
left join curriculum_info ci on ci.id = curriculum_order.curriculum_info_id
where 1=1
<if test="orderNo!=null">
and order_no = #{orderNo}
</if>
<if test="curriculumInfoId != null">
and curriculum_info_id = #{curriculumInfoId}
</if>
<if test="userAccountId != null">
and user_account_id = #{userAccountId}
</if>
<if test="courseAttribute != null">
and ci.course_attribute = #{courseAttribute}
</if>
</select>
<select id="selectOrderList" resultType="com.mmc.csf.release.entity.curriculum.CurriculumOrderDO">
select
co.id,order_no,user_account_id,
order_total_amount,salary_amount,
cash_amount,we_chat,wechat_pay_order_number,jifen_consume,curriculum_info_id,
ci.surface_url,
ci.video_url,
ci.curriculum_name,
ci.curriculum_desc,
ci.require_amout,
ci.require_integral,
ci.course_attribute
from curriculum_order co left join curriculum_info ci on ci.id = co.curriculum_info_id
where 1=1
<if test="orderNo!=null">
and order_no = #{orderNo}
</if>
<if test="curriculumInfoId != null">
and curriculum_info_id = #{curriculumInfoId}
</if>
<if test="userAccountId != null">
and user_account_id = #{userAccountId}
<if test="courseAttribute != null">
and ci.course_attribute = #{courseAttribute}
</if>
</if>
order by co.create_time desc
limit #{pageNo},#{pageSize}
</select>
<delete id="deleteByPrimaryKey" parameterType="java.lang.Integer">
delete
from curriculum_order
where id = #{id,jdbcType=INTEGER}
</delete>
<insert id="insert" keyColumn="id" keyProperty="id"
parameterType="com.mmc.csf.release.entity.curriculum.CurriculumOrderDO" useGeneratedKeys="true">
insert into curriculum_order
( id, order_no, user_account_id
, order_total_amount, salary_amount
, cash_amount, we_chat, wechat_pay_order_number
, create_time, update_time)
values ( #{id,jdbcType=INTEGER}, #{orderNo,jdbcType=VARCHAR}, #{userAccountId,jdbcType=INTEGER}
, #{backUserId,jdbcType=INTEGER}, #{orderTotalAmount,jdbcType=DECIMAL}, #{salaryAmount,jdbcType=DECIMAL}
, #{cashAmount,jdbcType=DECIMAL}, #{weChat,jdbcType=DECIMAL}, #{wechatPayOrderNumber,jdbcType=VARCHAR}
, #{createTime,jdbcType=TIMESTAMP}, #{updateTime,jdbcType=TIMESTAMP})
</insert>
<insert id="insertSelective" keyColumn="id" keyProperty="id"
parameterType="com.mmc.csf.release.entity.curriculum.CurriculumOrderDO" useGeneratedKeys="true">
insert into curriculum_order
<trim prefix="(" suffix=")" suffixOverrides=",">
<if test="id != null">id,</if>
<if test="orderNo != null">order_no,</if>
<if test="userAccountId != null">user_account_id,</if>
<if test="orderTotalAmount != null">order_total_amount,</if>
<if test="salaryAmount != null">salary_amount,</if>
<if test="cashAmount != null">cash_amount,</if>
<if test="weChat != null">we_chat,</if>
<if test="wechatPayOrderNumber != null">wechat_pay_order_number,</if>
<if test="createTime != null">create_time,</if>
<if test="updateTime != null">update_time,</if>
</trim>
<trim prefix="values (" suffix=")" suffixOverrides=",">
<if test="id != null">#{id,jdbcType=INTEGER},</if>
<if test="orderNo != null">#{orderNo,jdbcType=VARCHAR},</if>
<if test="userAccountId != null">#{userAccountId,jdbcType=INTEGER},</if>
<if test="orderTotalAmount != null">#{orderTotalAmount,jdbcType=DECIMAL},</if>
<if test="salaryAmount != null">#{salaryAmount,jdbcType=DECIMAL},</if>
<if test="cashAmount != null">#{cashAmount,jdbcType=DECIMAL},</if>
<if test="weChat != null">#{weChat,jdbcType=DECIMAL},</if>
<if test="wechatPayOrderNumber != null">#{wechatPayOrderNumber,jdbcType=VARCHAR},</if>
<if test="createTime != null">#{createTime,jdbcType=TIMESTAMP},</if>
<if test="updateTime != null">#{updateTime,jdbcType=TIMESTAMP},</if>
</trim>
</insert>
<update id="updateByPrimaryKeySelective" parameterType="com.mmc.csf.release.entity.curriculum.CurriculumOrderDO">
update curriculum_order
<set>
<if test="orderNo != null">
order_no = #{orderNo,jdbcType=VARCHAR},
</if>
<if test="userAccountId != null">
user_account_id = #{userAccountId,jdbcType=INTEGER},
</if>
<if test="orderTotalAmount != null">
order_total_amount = #{orderTotalAmount,jdbcType=DECIMAL},
</if>
<if test="salaryAmount != null">
salary_amount = #{salaryAmount,jdbcType=DECIMAL},
</if>
<if test="cashAmount != null">
cash_amount = #{cashAmount,jdbcType=DECIMAL},
</if>
<if test="weChat != null">
we_chat = #{weChat,jdbcType=DECIMAL},
</if>
<if test="wechatPayOrderNumber != null">
wechat_pay_order_number = #{wechatPayOrderNumber,jdbcType=VARCHAR},
</if>
<if test="createTime != null">
create_time = #{createTime,jdbcType=TIMESTAMP},
</if>
<if test="updateTime != null">
update_time = #{updateTime,jdbcType=TIMESTAMP},
</if>
</set>
where id = #{id,jdbcType=INTEGER}
</update>
<update id="updateByPrimaryKey" parameterType="com.mmc.csf.release.entity.curriculum.CurriculumOrderDO">
update curriculum_order
set order_no = #{orderNo,jdbcType=VARCHAR},
user_account_id = #{userAccountId,jdbcType=INTEGER},
order_total_amount = #{orderTotalAmount,jdbcType=DECIMAL},
salary_amount = #{salaryAmount,jdbcType=DECIMAL},
cash_amount = #{cashAmount,jdbcType=DECIMAL},
we_chat = #{weChat,jdbcType=DECIMAL},
wechat_pay_order_number = #{wechatPayOrderNumber,jdbcType=VARCHAR},
create_time = #{createTime,jdbcType=TIMESTAMP},
update_time = #{updateTime,jdbcType=TIMESTAMP}
where id = #{id,jdbcType=INTEGER}
</update>
</mapper>
......@@ -27,39 +27,80 @@
<insert id="addCurriculum" keyProperty="id" useGeneratedKeys="true"
parameterType="com.mmc.csf.release.entity.curriculum.CurriculumInfoDO">
INSERT INTO `curriculum_info`(`curriculum_name`, `supplier_id`, `curriculum_desc`, `drone_pilot_license_id`,
`flight_skills`, `categories_id`, `surface_url`, `video_url`, `detail_content`)
VALUES (#{curriculumName}, #{supplierId}, #{curriculumDesc}, #{dronePilotLicenseId}, #{flightSkills},
#{categoriesId}, #{surfaceUrl}, #{videoUrl}, #{detailContent});
INSERT INTO `curriculum_info`(`one_course_id`, `two_course_id`, `curriculum_name`, `curriculum_desc`,
`surface_url`, `video_url`, `course_attribute`, `require_amout`, `require_integral`, `is_hot`, `detail_content`)
VALUES (#{oneCourseId}, #{twoCourseId}, #{curriculumName}, #{curriculumDesc}, #{surfaceUrl},
#{videoUrl}, #{courseAttribute}, #{requireAmout}, #{requireIntegral}, #{isHot}, #{detailContent});
</insert>
<insert id="addCurriculumClassify" parameterType="com.mmc.csf.release.entity.curriculum.CurriculumClassifyDO">
INSERT INTO `course_classify`(`name`, `one_course_id`, `two_course_id`, `classify_url`, `classify_desc`)
VALUES (#{name}, #{oneCourseId}, #{twoCourseId}, #{classifyUrl}, #{classifyDesc});
</insert>
<insert id="insertCurriculumOrder" parameterType="com.mmc.csf.release.entity.curriculum.CurriculumOrderDO">
insert into curriculum_order
<trim prefix="(" suffix=")" suffixOverrides=",">
<if test="id != null">id,</if>
<if test="orderNo != null">order_no,</if>
<if test="userAccountId != null">user_account_id,</if>
<if test="orderTotalAmount != null">order_total_amount,</if>
<if test="salaryAmount != null">salary_amount,</if>
<if test="cashAmount != null">cash_amount,</if>
<if test="weChat != null">we_chat,</if>
<if test="wechatPayOrderNumber != null">wechat_pay_order_number,</if>
<if test="curriculumInfoId != null">curriculum_info_id,</if>
<if test="jifenConsume != null">jifen_consume,</if>
</trim>
<trim prefix="values (" suffix=")" suffixOverrides=",">
<if test="id != null">#{id,jdbcType=INTEGER},</if>
<if test="orderNo != null">#{orderNo,jdbcType=VARCHAR},</if>
<if test="userAccountId != null">#{userAccountId,jdbcType=INTEGER},</if>
<if test="orderTotalAmount != null">#{orderTotalAmount,jdbcType=DECIMAL},</if>
<if test="salaryAmount != null">#{salaryAmount,jdbcType=DECIMAL},</if>
<if test="cashAmount != null">#{cashAmount,jdbcType=DECIMAL},</if>
<if test="weChat != null">#{weChat,jdbcType=DECIMAL},</if>
<if test="wechatPayOrderNumber != null">#{wechatPayOrderNumber,jdbcType=VARCHAR},</if>
<if test="curriculumInfoId != null">#{curriculumInfoId,jdbcType=VARCHAR},</if>
<if test="jifenConsume != null">#{jifenConsume,jdbcType=VARCHAR}</if>
</trim>
</insert>
<update id="updateCurriculum" parameterType="com.mmc.csf.release.entity.curriculum.CurriculumInfoDO">
UPDATE curriculum_info
<set>
<if test="oneCourseId != null">
one_course_id = #{oneCourseId},
</if>
<if test="twoCourseId != null">
two_course_id = #{twoCourseId},
</if>
<if test="curriculumName != null">
curriculum_name = #{curriculumName},
</if>
<if test="curriculumDesc != null">
curriculum_desc = #{curriculumDesc},
</if>
<if test="dronePilotLicenseId != null">
drone_pilot_license_id = #{dronePilotLicenseId},
</if>
<if test="flightSkills != null">
flight_skills = #{flightSkills},
</if>
<if test="categoriesId != null">
categories_id = #{categoriesId},
</if>
<if test="surfaceUrl != null">
surface_url = #{surfaceUrl},
</if>
<if test="videoUrl != null">
video_url = #{videoUrl},
</if>
<if test="detailContent ">
<if test="courseAttribute != null">
course_attribute = #{courseAttribute},
</if>
<if test="requireAmout != null">
require_amout = #{requireAmout},
</if>
<if test="requireIntegral != null">
require_integral = #{requireIntegral},
</if>
<if test="isHot != null">
is_hot = #{isHot},
</if>
<if test="detailContent != null ">
detail_content = #{detailContent},
</if>
update_time = NOW()
</set>
<where>
id = #{id}
......@@ -71,6 +112,33 @@
set is_deleted = 1
where id = #{id}
</update>
<update id="updateCurriculumClassify" parameterType="com.mmc.csf.release.entity.curriculum.CurriculumClassifyDO">
UPDATE course_classify
<set>
<if test="name != null">
name = #{name},
</if>
<if test="classifyUrl != null">
classify_url = #{classifyUrl},
</if>
<if test="classifyDesc != null">
classify_desc = #{classifyDesc},
</if>
update_time = NOW()
</set>
<where>
id = #{id}
</where>
</update>
<update id="removeCurriculumClassify">
UPDATE course_classify
<set>
is_deleted = 1
</set>
<where>
id = #{id}
</where>
</update>
<select id="selectAllLicenses" resultType="com.mmc.csf.release.flyer.vo.DronePilotLicenseVO">
select id,
parent_id,
......@@ -96,42 +164,39 @@
<if test="curriculumName != null">
and ci.curriculum_name like CONCAT("%", #{curriculumName}, "%")
</if>
<if test="licenseId != null">
and ci.drone_pilot_license_id = #{licenseId}
<if test="oneCourseId != null">
and ci.one_course_id = #{oneCourseId}
</if>
<if test="twoCourseId != null">
and ci.two_course_id = #{twoCourseId}
</if>
<if test="courseAttribute != null">
and ci.course_attribute = #{courseAttribute}
</if>
<if test="flightSkillsId != null">
and ci.flight_skills = #{flightSkillsId}
<if test="isHot != null">
and ci.is_hot = #{isHot}
</if>
</where>
</select>
<select id="listPageCurriculumInfo" resultType="com.mmc.csf.release.entity.curriculum.CurriculumInfoDO">
SELECT
ci.id,
ci.curriculum_name,
ci.supplier_id,
ci.curriculum_price,
ci.curriculum_desc,
ci.is_free free,
ci.drone_pilot_license_id,
ci.flight_skills,
ci.detail_content,
ci.video_url,
ci.categories_id,
ci.surface_url
SELECT *
from curriculum_info ci
<where>
and ci.is_deleted = 0
<if test="curriculumName != null">
and ci.curriculum_name like CONCAT("%", #{curriculumName}, "%")
</if>
<if test="licenseId != null">
and drone_pilot_license_id = #{licenseId}
<if test="oneCourseId != null">
and ci.one_course_id = #{oneCourseId}
</if>
<if test="twoCourseId != null">
and ci.two_course_id = #{twoCourseId}
</if>
<if test="flightSkillsId != null">
and flight_skills = #{flightSkillsId}
<if test="courseAttribute != null">
and ci.course_attribute = #{courseAttribute}
</if>
<if test="categoriesId != null">
and categories_id = #{categoriesId}
<if test="isHot != null">
and ci.is_hot = #{isHot}
</if>
</where>
order by ci.create_time desc
......@@ -204,4 +269,30 @@
from curriculum_info
where is_deleted = 0
</select>
<select id="countOneCourseClassify" resultType="java.lang.Integer">
SELECT COUNT(*)
FROM course_classify
WHERE two_course_id IS NULL
</select>
<select id="countTwoCourseClassify" resultType="java.lang.Integer">
SELECT COUNT(*)
FROM course_classify
WHERE one_course_id = #{one_course_id}
</select>
<select id="selectCurriculumClassify"
resultType="com.mmc.csf.release.entity.curriculum.CurriculumClassifyDO">
select * from course_classify
where is_deleted = 0
</select>
<select id="selectCurriculumInfoById" resultType="com.mmc.csf.release.entity.curriculum.CurriculumInfoDO">
select * from curriculum_info where id = #{id} and is_deleted = 0
</select>
<select id="selectCurriculumClassifyById"
resultType="com.mmc.csf.release.entity.curriculum.CurriculumClassifyDO">
select * from course_classify where id = #{id} and is_deleted = 0
</select>
<select id="selectCountCurriculumOrder" resultType="java.lang.Integer">
select count(id) from curriculum_order
where user_account_id = #{userId} and curriculum_info_id = #{id}
</select>
</mapper>
......@@ -19,11 +19,11 @@
insert into license_organizations(main_image, auxiliary_picture, video, `name`, region, region_name,
detailed_address,
test_center, scale_id,
description, detail, create_time, update_time, longitude, latitude)
description, detail, create_time, update_time, longitude, latitude,back_user_id)
values (#{mainImage}, #{auxiliaryPicture}, #{video}, #{name}, #{region}, #{regionName}, #{detailedAddress},
#{testCenter},
#{scaleId},
#{description}, #{detail}, NOW(), NOW(), #{longitude}, #{latitude})
#{description}, #{detail}, NOW(), NOW(), #{longitude}, #{latitude},#{backUserId})
</insert>
......@@ -189,6 +189,9 @@
FROM license_organizations lo
LEFT JOIN licence_scale ls ON lo.scale_id = ls.id
where 1=1
<if test="backUserId != 1">
and lo.back_user_id = #{backUserId}
</if>
<if test=" name != null and name != '' ">
and lo.`name` like CONCAT('%',#{name},'%')
</if>
......@@ -234,6 +237,52 @@
and ltp.type_id =#{typeId}
</if>
</select>
<select id="selectOrganizations" resultType="com.mmc.csf.release.entity.licence.LicenseOrganizationsDO">
SELECT lo.id,
lo.main_image AS mainImage,
lo.auxiliary_picture AS auxiliaryPicture,
lo.video,
lo.`name`,
lo.region,
lo.test_center AS testCenter,
lo.scale_id AS scaleId,
ls.`name` AS scaleName,
lo.description,
lo.detail,
lo.create_time AS createTime,
lo.update_time AS updateTime,
lo.detailed_address AS detailedAddress,
lo.region_name AS regionName,
lo.longitude,
lo.latitude,
lo.create_time AS createTime,
lo.update_time AS updateTime
FROM license_organizations lo
LEFT JOIN licence_scale ls ON lo.scale_id = ls.id
where 1=1
and lo.back_user_id = #{backUserId}
</select>
<select id="selectPrograms" resultType="com.mmc.csf.release.entity.licence.LicenseProgramsDO">
SELECT DISTINCT
ltp.id,
ltp.grade_id AS gradeId,
lg.`name` AS gradeName,
ltp.models_id AS modelsId,
lm.`name` AS modelsName,
ltp.type_id AS typeId,
lt.`name` AS typeName,
ltp.price,
ltp.place,
ltp.main_image AS mainImage,
ltp.org_id AS orgId
FROM
license_training_programs ltp
LEFT JOIN licence_grade lg ON ltp.grade_id = lg.id
LEFT JOIN licence_models lm ON ltp.models_id = lm.id
LEFT JOIN licence_type lt ON ltp.type_id = lt.id
WHERE
1 =1 and ltp.org_id = #{orgId}
</select>
</mapper>
......@@ -31,7 +31,8 @@
news_contents,
origin,
create_time,
update_time
update_time,
is_hot
from industry_news
where is_deleted = 0
<if test=" userIds != null ">
......@@ -43,10 +44,13 @@
<if test="date != null ">
and Date(create_time) = #{date}
</if>
<if test="isHot != null">
and is_hot = #{isHot}
</if>
<if test="keyword != null ">
and news_title like CONCAT("%",#{keyword},"%")
</if>
order by create_time desc
order by is_hot desc,create_time desc
limit #{pageNo}, #{pageSize}
</select>
......@@ -59,7 +63,8 @@
news_contents,
origin,
create_time,
update_time
update_time,
is_hot
from industry_news
where is_deleted = 0
and id = #{id}
......@@ -93,8 +98,8 @@
<insert id="insert" parameterType="com.mmc.csf.release.entity.information.IndustryNewsDO" useGeneratedKeys="true"
keyColumn="id">
insert into industry_news(news_title, news_author, user_account_id, surface_img, news_contents, origin,
create_time)
values (#{newsTitle}, #{newsAuthor}, #{userAccountId}, #{surfaceImg}, #{newsContents}, #{origin}, now())
create_time,is_hot)
values (#{newsTitle}, #{newsAuthor}, #{userAccountId}, #{surfaceImg}, #{newsContents}, #{origin}, now(),#{isHot})
</insert>
<update id="update" parameterType="com.mmc.csf.release.entity.information.IndustryNewsDO">
......@@ -121,6 +126,9 @@
<if test="isDeleted !=null">
is_deleted = #{isDeleted},
</if>
<if test="isHot != null">
is_hot = #{isHot}
</if>
</set>
where is_deleted = 0 and id = #{id}
</update>
......@@ -152,7 +160,8 @@
news_contents,
origin,
create_time,
update_time
update_time,
is_hot
from industry_news
<where>
is_deleted = 0
......@@ -165,8 +174,11 @@
<if test="endTime != null">
and create_time &lt;= #{endTime}
</if>
<if test="isHot != null">
and is_hot = #{isHot}
</if>
</where>
order by create_time desc
order by is_hot desc,create_time desc
limit #{pageNo}, #{pageSize}
</select>
</mapper>
\ No newline at end of file
......@@ -56,6 +56,7 @@
SELECT
ri.id,
ri.create_time,
ri.father_require_id,
ri.update_time,
ri.publisher_number,
ri.publish_phone,
......@@ -68,7 +69,8 @@
ri.service_id,
ri.service_name,
sf.order_status,
sf.waiting
sf.waiting,
ri.project_code
FROM
requirements_info ri
LEFT JOIN requirements_amount ra ON ri.id = ra.requirements_info_id
......@@ -76,6 +78,34 @@
LEFT JOIN service_flow sf ON ri.service_flow_id = sf.id
WHERE
ri.publish =1
<choose>
<when test="pilotUserIdList != null and !pilotUserIdList.isEmpty()">
<!-- 当 pilotUserIdList 不为空时 说明不是后台用户不是admin 是其他后台用户啊查看飞手接单或者货单就只能看到自己团队飞手的接单发单-->
and (
<choose>
<when test="isPilotOrder == 0">
-- 当时发单的时候要是看到的是总订单
ri.father_require_id = 0
and ri.user_account_id IN
</when>
<when test="isPilotOrder == 1">
-- 接单接的是子订单就只能看到子订单
rs.pilot_certification_user_id IN
</when>
</choose>
<foreach item="item" collection="pilotUserIdList" open="(" separator="," close=")">
#{item}
</foreach>
)
</when>
<otherwise>
<!-- 剩下就是admin用户就是要查出所用接单发单就行 只要主订单-->
and ri.father_require_id = 0
</otherwise>
</choose>
<if test="orderStatus != null and orderStatus!='' ">
and sf.order_status = #{orderStatus}
</if>
<if test=" publishPhone != null and publishPhone!='' ">
and ri.publish_phone = #{publishPhone}
</if>
......@@ -85,6 +115,9 @@
<if test=" orderAttribute != null and orderAttribute!='' ">
and ri.order_attribute = #{orderAttribute}
</if>
<if test=" publisherNumber != null and publisherNumber!='' ">
and ri.publisher_number = #{publisherNumber}
</if>
order by ri.id desc
limit #{pageNo},#{pageSize}
</select>
......@@ -95,10 +128,38 @@
FROM
requirements_info ri
LEFT JOIN requirements_amount ra ON ri.id = ra.requirements_info_id
LEFT JOIN requirements_service rs ON rs.requirements_info_id = ra.id
LEFT JOIN requirements_service rs ON rs.requirements_info_id = ri.id
LEFT JOIN service_flow sf ON ri.service_flow_id = sf.id
WHERE
ri.publish =1
<choose>
<when test="pilotUserIdList != null and !pilotUserIdList.isEmpty()">
<!-- 当 pilotUserIdList 不为空时 说明不是后台用户不是admin 是其他后台用户啊查看飞手接单或者货单就只能看到自己团队飞手的接单发单-->
and (
<choose>
<when test="isPilotOrder == 0">
-- 当时发单的时候要是看到的是总订单
ri.father_require_id = 0
and ri.user_account_id IN
</when>
<when test="isPilotOrder == 1">
-- 接单接的是子订单就只能看到子订单
rs.pilot_certification_user_id IN
</when>
</choose>
<foreach item="item" collection="pilotUserIdList" open="(" separator="," close=")">
#{item}
</foreach>
)
</when>
<otherwise>
<!-- 剩下就是admin用户就是要查出所用接单发单就行 只要主订单-->
and ri.father_require_id = 0
</otherwise>
</choose>
<if test="orderStatus != null and orderStatus!='' ">
and sf.order_status = #{orderStatus}
</if>
<if test=" publishPhone != null and publishPhone!='' ">
and ri.publish_phone = #{publishPhone}
</if>
......@@ -108,6 +169,9 @@
<if test=" orderAttribute != null and orderAttribute!='' ">
and ri.order_attribute = #{orderAttribute}
</if>
<if test=" publisherNumber != null and publisherNumber!='' ">
and ri.publisher_number = #{publisherNumber}
</if>
</select>
<select id="serviceOrderFormDetails" resultMap="serviceDetails">
......@@ -124,6 +188,7 @@
ri.task_address,
ri.latitude,
ri.longitude,
ri.project_code,
ra.cash_amount,
ra.salary_amount,
ra.we_chat,
......@@ -136,14 +201,43 @@
sf.doing,
ra.order_earnings,
csi.decision_content,
csi.duty
csi.duty,
ri.inspection_id
FROM
requirements_info ri
LEFT JOIN requirements_amount ra ON ri.id = ra.requirements_info_id
LEFT JOIN requirements_service rs ON rs.requirements_info_id = ri.id
LEFT JOIN service_flow sf ON ri.service_flow_id = sf.id
LEFT JOIN customer_service_intervention csi ON csi.requirements_info_id = ri.id
WHERE ri.id = #{requirementsInfoId}
WHERE ri.id = #{requirementsInfoId} and (rs.service_flow_id != 11 or rs.service_flow_id is null)
</select>
<select id="getSonFromFatherRequireId"
resultType="com.mmc.csf.release.entity.requirements.ServiceOrderFormDO">
SELECT
ri.id,
ri.create_time,
ri.father_require_id,
ri.update_time,
ri.publisher_number,
ri.publish_phone,
ri.order_attribute,
ra.order_earnings,
ra.order_level,
rs.preempt_phone,
ri.service_flow_id,
sf.doing,
ri.service_id,
ri.service_name,
sf.order_status,
sf.waiting
FROM
requirements_info ri
LEFT JOIN requirements_amount ra ON ri.id = ra.requirements_info_id
LEFT JOIN requirements_service rs ON rs.requirements_info_id = ri.id
LEFT JOIN service_flow sf ON ri.service_flow_id = sf.id
WHERE
ri.publish =1 and ri.father_require_id = #{id}
</select>
</mapper>
<?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.mmc.csf.release.dao.OrderAmountDetailDao">
<resultMap id="BaseResultMap" type="com.mmc.csf.release.entity.requirements.OrderAmountDetailDO">
<id property="id" column="id" jdbcType="INTEGER"/>
<result property="requirementsInfoId" column="requirements_info_id" jdbcType="INTEGER"/>
<result property="dailyWage" column="daily_wage" jdbcType="DECIMAL"/>
<result property="subsidyFestival" column="subsidy_festival" jdbcType="DECIMAL"/>
<result property="rentalSubsidy" column="rental_subsidy" jdbcType="DECIMAL"/>
<result property="trafficSubsidy" column="traffic_subsidy" jdbcType="DECIMAL"/>
<result property="highTemperatureSubsidy" column="high_temperature_subsidy" jdbcType="DECIMAL"/>
<result property="settleAccountsProportion" column="settle_accounts_proportion" jdbcType="DECIMAL"/>
<result property="realWages" column="real_wages" jdbcType="DECIMAL"/>
<result property="workDate" column="work_date" jdbcType="TIMESTAMP"/>
</resultMap>
<sql id="Base_Column_List">
id,requirements_info_id,daily_wage,
subsidy_festival,rental_subsidy,traffic_subsidy,
high_temperature_subsidy,settle_accounts_proportion,real_wages,
work_date,create_time,update_time,other_subsidy,remark
</sql>
<delete id="deleteByPrimaryKey" parameterType="java.lang.Integer">
delete from order_amount_detail
where requirements_info_id = #{requirementsInfoId}
</delete>
<select id="selectByPrimaryKey" resultType="com.mmc.csf.release.entity.requirements.OrderAmountDetailDO">
select
<include refid="Base_Column_List" />
from order_amount_detail
where requirements_info_id = #{id,jdbcType=INTEGER}
</select>
<insert id="insert" keyColumn="id" keyProperty="id" parameterType="com.mmc.csf.release.entity.requirements.OrderAmountDetailDO" useGeneratedKeys="true">
insert into order_amount_detail
( id,requirements_info_id,daily_wage
,subsidy_festival,rental_subsidy,traffic_subsidy
,high_temperature_subsidy,settle_accounts_proportion,real_wages
,work_date,create_time
)
values (#{id,jdbcType=INTEGER},#{requirementsInfoId,jdbcType=INTEGER},#{dailyWage,jdbcType=DECIMAL}
,#{subsidyFestival,jdbcType=DECIMAL},#{rentalSubsidy,jdbcType=DECIMAL},#{trafficSubsidy,jdbcType=DECIMAL}
,#{highTemperatureSubsidy,jdbcType=DECIMAL},#{settleAccountsProportion,jdbcType=DECIMAL},#{realWages,jdbcType=DECIMAL}
,#{workDate,jdbcType=TIMESTAMP},NOW())
</insert>
<insert id="batchInsert" parameterType="java.util.List">
insert into order_amount_detail
(id, requirements_info_id, daily_wage, subsidy_festival, rental_subsidy, traffic_subsidy,
high_temperature_subsidy, settle_accounts_proportion, real_wages, work_date, create_time,other_subsidy,remark)
values
<foreach collection="list" item="item" separator=",">
(#{item.id}, #{item.requirementsInfoId}, #{item.dailyWage}, #{item.subsidyFestival}, #{item.rentalSubsidy},
#{item.trafficSubsidy}, #{item.highTemperatureSubsidy}, #{item.settleAccountsProportion}, #{item.realWages},
#{item.workDate}, NOW(),#{item.otherSubsidy},#{item.remark})
</foreach>
</insert>
<insert id="insertSelective" keyColumn="id" keyProperty="id" parameterType="com.mmc.csf.release.entity.requirements.OrderAmountDetailDO" useGeneratedKeys="true">
insert into order_amount_detail
<trim prefix="(" suffix=")" suffixOverrides=",">
<if test="id != null">id,</if>
<if test="requirementsInfoId != null">requirements_info_id,</if>
<if test="dailyWage != null">daily_wage,</if>
<if test="subsidyFestival != null">subsidy_festival,</if>
<if test="rentalSubsidy != null">rental_subsidy,</if>
<if test="trafficSubsidy != null">traffic_subsidy,</if>
<if test="highTemperatureSubsidy != null">high_temperature_subsidy,</if>
<if test="settleAccountsProportion != null">settle_accounts_proportion,</if>
<if test="realWages != null">real_wages,</if>
<if test="workDate != null">work_date,</if>
create_time
</trim>
<trim prefix="values (" suffix=")" suffixOverrides=",">
<if test="id != null">#{id,jdbcType=INTEGER},</if>
<if test="requirementsInfoId != null">#{requirementsInfoId,jdbcType=INTEGER},</if>
<if test="dailyWage != null">#{dailyWage,jdbcType=DECIMAL},</if>
<if test="subsidyFestival != null">#{subsidyFestival,jdbcType=DECIMAL},</if>
<if test="rentalSubsidy != null">#{rentalSubsidy,jdbcType=DECIMAL},</if>
<if test="trafficSubsidy != null">#{trafficSubsidy,jdbcType=DECIMAL},</if>
<if test="highTemperatureSubsidy != null">#{highTemperatureSubsidy,jdbcType=DECIMAL},</if>
<if test="settleAccountsProportion != null">#{settleAccountsProportion,jdbcType=DECIMAL},</if>
<if test="realWages != null">#{realWages,jdbcType=DECIMAL},</if>
<if test="workDate != null">#{workDate,jdbcType=TIMESTAMP},</if>
NOW()
</trim>
</insert>
<update id="updateByPrimaryKeySelective" parameterType="com.mmc.csf.release.entity.requirements.OrderAmountDetailDO">
update order_amount_detail
<set>
<if test="requirementsInfoId != null">
requirements_info_id = #{requirementsInfoId,jdbcType=INTEGER},
</if>
<if test="dailyWage != null">
daily_wage = #{dailyWage,jdbcType=DECIMAL},
</if>
<if test="subsidyFestival != null">
subsidy_festival = #{subsidyFestival,jdbcType=DECIMAL},
</if>
<if test="rentalSubsidy != null">
rental_subsidy = #{rentalSubsidy,jdbcType=DECIMAL},
</if>
<if test="trafficSubsidy != null">
traffic_subsidy = #{trafficSubsidy,jdbcType=DECIMAL},
</if>
<if test="highTemperatureSubsidy != null">
high_temperature_subsidy = #{highTemperatureSubsidy,jdbcType=DECIMAL},
</if>
<if test="settleAccountsProportion != null">
settle_accounts_proportion = #{settleAccountsProportion,jdbcType=DECIMAL},
</if>
<if test="realWages != null">
real_wages = #{realWages,jdbcType=DECIMAL},
</if>
<if test="workDate != null">
work_date = #{workDate,jdbcType=TIMESTAMP},
</if>
update_time = NOW()
</set>
where id = #{id,jdbcType=INTEGER}
</update>
<update id="updateByPrimaryKey" parameterType="com.mmc.csf.release.entity.requirements.OrderAmountDetailDO">
update order_amount_detail
set
requirements_info_id = #{requirementsInfoId,jdbcType=INTEGER},
daily_wage = #{dailyWage,jdbcType=DECIMAL},
subsidy_festival = #{subsidyFestival,jdbcType=DECIMAL},
rental_subsidy = #{rentalSubsidy,jdbcType=DECIMAL},
traffic_subsidy = #{trafficSubsidy,jdbcType=DECIMAL},
high_temperature_subsidy = #{highTemperatureSubsidy,jdbcType=DECIMAL},
settle_accounts_proportion = #{settleAccountsProportion,jdbcType=DECIMAL},
real_wages = #{realWages,jdbcType=DECIMAL},
work_date = #{workDate,jdbcType=TIMESTAMP},
create_time = #{createTime,jdbcType=TIMESTAMP},
update_time = #{updateTime,jdbcType=TIMESTAMP}
where id = #{id,jdbcType=INTEGER}
</update>
</mapper>
......@@ -50,11 +50,11 @@
INSERT INTO requirements_amount_update(requirements_info_id, order_amount, cash_amount, we_chat, salary_amount,
wechat_pay_order_number, create_time, update_time, reason, url,
user_account_id, update_order_amount, return_cash_amount, return_we_chat,
return_salary_amount)
return_salary_amount,user_sure_change)
values (#{requirementsInfoId}, #{orderAmount}, #{cashAmount}, #{weChat}, #{salaryAmount},
#{wechatPayOrderNumber}, NOW(), NOW(), #{reason}, #{url},
#{userAccountId}, #{updateOrderAmount}, #{returnCashAmount}, #{returnWeChat},
#{returnSalaryAmount})
#{returnSalaryAmount},#{userSureChange})
</insert>
......@@ -87,7 +87,8 @@
</if>
return_cash_amount=#{returnCashAmount},
return_we_chat =#{returnWeChat},
return_salary_amount=#{returnSalaryAmount}
return_salary_amount=#{returnSalaryAmount},
user_sure_change = 1
</set>
where requirements_info_id=#{requirementsInfoId}
</update>
......@@ -463,42 +464,6 @@
where id = #{id}
</delete>
<select id="appPublishList" resultType="com.mmc.csf.release.entity.requirements.RequirementsInfoDO">
SELECT ri.id,
ri.task_title,
ri.task_start_time,
ri.task_end_time,
ri.task_address,
ri.longitude,
ri.latitude,
ri.require_url,
ri.require_description,
ri.requirement_type_id,
ri.user_account_id,
ra.order_level,
ri.service_id,
ra.total_amount,
ra.order_amount,
ra.update_order_amount,
ri.insurance,
ri.publish,
ri.service_name,
ri.create_time,
ri.repertory,
ri.require_num
FROM requirements_info ri
left join requirements_amount ra
on ra.requirements_info_id = ri.id and ri.user_account_id = ra.user_account_id
WHERE NOT EXISTS(
SELECT rs.requirements_info_id FROM requirements_service rs WHERE ri.id = rs.requirements_info_id)
AND ri.service_flow = 1
AND ri.is_deleted = 0
AND ri.service_flow_id != 7
AND father_require_id = 0
AND repertory > 0
ORDER BY ri.order_level_amount DESC,
ri.id DESC
</select>
<select id="detailPublish" resultType="com.mmc.csf.release.entity.requirements.RequirementsInfoDO">
SELECT ri.id,
......@@ -536,7 +501,9 @@
rau.url AS afterModificationUrl,
rs.pilot_certification_user_id AS pilotCertificationUserId,
rs.preempt_phone AS preemptPhone,
rs.pilot_certification_id
rs.pilot_certification_id,
ri.inspection_id,
ri.project_code
FROM requirements_info ri
LEFT JOIN requirements_type rt
ON rt.id = ri.requirement_type_id
......@@ -554,12 +521,12 @@
require_description, create_time,
update_time, task_start_time, task_end_time, task_address, longitude,
latitude, publisher_number, insurance, publish,
service_flow_id, adcode, order_level_amount, openid, service_name,province_code,city_code,district_code,require_num,repertory)
service_flow_id, adcode, order_level_amount, openid, service_name,province_code,city_code,district_code,require_num,repertory,project_code,inspection_id)
VALUES (#{serviceId}, #{userAccountId}, #{publishName}, #{publishPhone},
#{requireDescription}, NOW(),
NOW(), #{taskStartTime}, #{taskEndTime}, #{taskAddress}, #{longitude},
#{latitude}, #{publisherNumber}, #{insurance}, 1, 1, #{adcode}, #{orderLevelAmount}, #{openid},
#{serviceName},#{provinceCode},#{cityCode},#{districtCode},#{requireNum},#{repertory});
#{serviceName},#{provinceCode},#{cityCode},#{districtCode},#{requireNum},#{repertory},#{projectCode},#{inspectionId});
</insert>
<insert id="addPublishServiceSon" parameterType="com.mmc.csf.release.entity.requirements.ServiceRequirementsSonDO"
......@@ -568,12 +535,12 @@
require_description, create_time,
update_time, task_start_time, task_end_time, task_address, longitude,
latitude, publisher_number, insurance, publish,
service_flow_id, adcode, order_level_amount, openid, service_name,province_code,city_code,district_code,father_require_id)
service_flow_id, adcode, order_level_amount, openid, service_name,province_code,city_code,district_code,father_require_id,project_code,inspection_id)
VALUES (#{serviceId}, #{userAccountId}, #{publishName}, #{publishPhone},
#{requireDescription}, NOW(),
NOW(), #{taskStartTime}, #{taskEndTime}, #{taskAddress}, #{longitude},
#{latitude}, #{publisherNumber}, #{insurance}, 1, 1, #{adcode}, #{orderLevelAmount}, #{openid},
#{serviceName},#{provinceCode},#{cityCode},#{districtCode},#{fatherRequireId});
#{serviceName},#{provinceCode},#{cityCode},#{districtCode},#{fatherRequireId},#{projectCode},#{inspectionId});
</insert>
<insert id="addAmount" parameterType="com.mmc.csf.release.entity.requirements.RequirementsAmountDO"
......@@ -634,7 +601,9 @@
wechat_pay_order_number, service_flow_id, preempt_total_amount, openid,
create_time, update_time, preempt_phone)
VALUES (#{requirementsInfoId}, #{pilotCertificationId}, #{pilotCertificationUserId},
#{teamId}, #{teamUserId}, #{cashAmount}, #{weChat}, #{salaryAmount}, #{wechatPayOrderNumber},10,
#{teamId}, #{teamUserId}, #{cashAmount}, #{weChat}, #{salaryAmount}, #{wechatPayOrderNumber},
coalesce(#{serviceFlowId}, 10)
,
#{preemptTotalAmount}, #{openid}, NOW(), NOW(), #{phoneNum});
</insert>
......@@ -745,7 +714,7 @@
LEFT JOIN requirements_amount_update rau ON rau.requirements_info_id = ri.id
WHERE ri.user_account_id = #{userAccountId} and ri.is_deleted!=1
<if test=" requirementsInfoId != null ">
and ri.id=#{requirementsInfoId}
and ri.father_require_id=#{requirementsInfoId}
</if>
<if test="requireDescription!=null and requireDescription!='' ">
and ri.require_description like CONCAT("%",#{requireDescription},"%")
......@@ -782,13 +751,17 @@
ri.publish,
ri.require_num,
rau.update_order_amount,
ri.repertory
ri.repertory,
rs.pilot_certification_id,
rs.pilot_certification_user_id,
ri.create_time
FROM
requirements_info ri
LEFT JOIN requirements_type rt ON rt.id = ri.requirement_type_id
LEFT JOIN service_flow sf ON sf.id = ri.service_flow_id
LEFT JOIN requirements_amount ra ON ra.requirements_info_id = ri.id
LEFT JOIN requirements_amount_update rau ON rau.requirements_info_id = ri.id
left join requirements_service rs on ri.id = rs.requirements_info_id
WHERE ri.user_account_id = #{userAccountId} and ri.is_deleted!=1
and father_require_id = 0
<if test=" requirementsInfoId != null ">
......@@ -824,6 +797,7 @@
SELECT
ri.id,
ri.task_title,
ri.create_time,
ri.task_start_time,
ri.task_end_time,
ri.task_address,
......@@ -878,6 +852,7 @@
ri.task_address,
ri.longitude,
ri.latitude,
ri.repertory,
ri.require_url,
ri.require_description,
ri.requirement_type_id,
......@@ -901,6 +876,7 @@
ra.salary_amount,
ra.we_chat,
ra.wechat_pay_order_number
,ri.require_num
FROM requirements_info ri
LEFT JOIN requirements_type rt ON rt.id = ri.requirement_type_id
LEFT JOIN service_flow sf ON sf.id = ri.service_flow_id
......@@ -1388,7 +1364,7 @@
<select id="serviceAgreePilotOrderDTO" resultMap="serviceAgreePilotOrderMap">
select require_info_id,create_time,service_flow_id from agree_pilot_order
where service_flow_id = 2 and require_info_id = #{requirementsInfoId}
where service_flow_id = 2 and require_info_id = #{requirementsInfoId} limit 1
</select>
<select id="serviceFulfilATaskDTO" resultMap="serviceFulfilATaskMap">
......@@ -1401,7 +1377,7 @@
user_account_id,
service_flow_id
FROM service_fulfil_a_task
WHERE requirements_info_id = #{requirementsInfoId}
WHERE requirements_info_id = #{requirementsInfoId} limit 1
</select>
<select id="settleAccountsDTO" resultMap="settleAccountsMap">
......@@ -1622,6 +1598,7 @@
ri.task_address,
ri.longitude,
ri.latitude,
ri.service_flow_id,
ri.require_url,
ri.require_description,
ri.requirement_type_id,
......@@ -1641,23 +1618,24 @@
sf.order_status,
ri.publish,
rau.update_order_amount,
ri.father_require_id,
rs.pilot_certification_id,
rs.pilot_certification_user_id
ri.father_require_id
# rs.pilot_certification_id,
# rs.pilot_certification_user_id
FROM
requirements_info ri
LEFT JOIN requirements_type rt ON rt.id = ri.requirement_type_id
LEFT JOIN service_flow sf ON sf.id = ri.service_flow_id
LEFT JOIN requirements_amount ra ON ra.requirements_info_id = ri.id
LEFT JOIN requirements_amount_update rau ON rau.requirements_info_id = ri.id
left join requirements_service rs on ri.id = rs.requirements_info_id
WHERE ri.user_account_id = #{userAccountId} and ri.is_deleted!=1 and (rs.service_flow_id != 11 or rs.service_flow_id is NULL)
# left join requirements_service rs on ri.id = rs.requirements_info_id
WHERE ri.is_deleted!=1
<if test=" requirementsInfoId != null ">
and ri.father_require_id=#{requirementsInfoId}
</if>
ORDER BY ri.id desc
limit #{pageNo}, #{pageSize}
</select>
<select id="selectFatherRequireIdBySonId" resultType="java.lang.Integer">
select father_require_id from requirements_info
where id = #{requireInfoId}
......@@ -1680,15 +1658,82 @@
update requirements_service set service_flow_id = 11
where requirements_info_id = #{requireInfoId} and pilot_certification_user_id = #{pilotUserId}
</update>
<update id="setWorkTimeByPilot">
update order_amount_detail set work_date = NOW() where requirements_info_id = #{requireId}
</update>
<update id="orderConfirmationByPilot">
update requirements_service_temp
set pilot_status = #{status}
where id = #{id} and is_deleted=0
</update>
<update id="orderConfirmationByTeam">
update requirements_service_temp
set team_status = #{status}
where requirements_info_id = #{id} and is_deleted=0
</update>
<update id="updateCount">
update requirements_info
set repertory = #{status}
where id = #{id}
</update>
<update id="updateInfoStatus">
update requirements_info
set service_flow_id = #{status}
where id = #{id}
</update>
<update id="updateSendOrder">
update requirements_service_temp
set pilot_certification_id = #{pilotCertificationId},
pilot_certification_user_id = #{pilotCertificationUserId}
where requirements_info_id = #{requirementsInfoId} and is_deleted=0
</update>
<update id="deleteSendOrder">
update requirements_service_temp
set is_deleted = 1
where requirements_info_id = #{requirementsInfoId} and is_deleted=0
</update>
<update id="updateOrderRequireNum">
update requirements_info
set repertory = #{num}
where id = #{requireId}
</update>
<update id="updateTaskUrl">
update service_fulfil_a_task
set task_url = #{taskUrl}
where requirements_info_id = #{requirementsInfoId}
</update>
<select id="getTaskUrl" resultType="java.lang.String">
select task_url from service_fulfil_a_task
where requirements_info_id = #{requirementsInfoId}
</select>
<insert id="insertAgreePilotOrder">
insert into agree_pilot_order(require_info_id, service_flow_id, pilot_certification_user_id, create_time)
values(#{requireInfoId},#{serviceFlowId},#{pilotCertificationUserId},NOW())
</insert>
<insert id="personSendOrder" useGeneratedKeys="true" keyProperty="id">
insert into requirements_service_temp
<trim prefix="(" suffix=")" suffixOverrides=",">
<if test="requirementsInfoId != null">requirements_info_id,</if>
<if test="pilotCertificationId != null">pilot_certification_id,</if>
<if test="pilotCertificationUserId != null">pilot_certification_user_id,</if>
<if test="teamId != null">team_id,</if>
<if test="teamUserId != null">team_user_id</if>
</trim>
<trim prefix="values (" suffix=")" suffixOverrides=",">
<if test="requirementsInfoId != null">#{requirementsInfoId,jdbcType=INTEGER},</if>
<if test="pilotCertificationId != null">#{pilotCertificationId,jdbcType=INTEGER},</if>
<if test="pilotCertificationUserId != null">#{pilotCertificationUserId,jdbcType=INTEGER},</if>
<if test="teamId != null">#{teamId,jdbcType=INTEGER},</if>
<if test="teamUserId != null">#{teamUserId,jdbcType=INTEGER}</if>
</trim>
</insert>
<select id="selectServiceIdByRequireIdAndUserId" resultType="java.lang.Integer">
select service_flow_id from agree_pilot_order
where require_info_id = #{requirementsId} and pilot_certification_user_id = #{userAccountId}
where require_info_id = #{requirementsId} and pilot_certification_user_id = #{userAccountId} limit 1
</select>
<select id="selectRequirementsNum" resultType="java.lang.Integer">
......@@ -1704,7 +1749,7 @@
</select>
<select id="selectServiceFlowIdFromAgreePilot" resultType="java.lang.Integer">
select service_flow_id from agree_pilot_order where require_info_id = #{requireId} and pilot_certification_user_id = #{userAccountId}
select service_flow_id from agree_pilot_order where require_info_id = #{requireId} and pilot_certification_user_id = #{userAccountId} limit 1
</select>
<select id="selectDetailRefusePilotInfo"
resultType="com.mmc.csf.release.entity.requirements.RequirementsInfoDO">
......@@ -1744,7 +1789,9 @@
rau.url AS afterModificationUrl,
rs.pilot_certification_user_id AS pilotCertificationUserId,
rs.preempt_phone AS preemptPhone,
rs.pilot_certification_id
rs.pilot_certification_id,
ri.inspection_id,
ri.project_code
FROM requirements_info ri
LEFT JOIN requirements_type rt
ON rt.id = ri.requirement_type_id
......@@ -1755,6 +1802,413 @@
AND ra.user_account_id = ri.user_account_id
WHERE ri.id = #{id} and (rs.service_flow_id = 11 or rs.service_flow_id is NULL)
</select>
<select id="selectPilotInfoByRequireId"
resultType="com.mmc.csf.release.entity.requirements.RequirementsServicePilotInfoDO">
select pilot_certification_id,pilot_certification_user_id from requirements_service where service_flow_id != 11 and is_deleted != 1 and requirements_info_id = #{requireId}
</select>
<select id="appPublishList" resultType="com.mmc.csf.release.entity.requirements.RequirementsInfoDO">
SELECT ri.id,
ri.task_title,
ri.task_start_time,
ri.task_end_time,
ri.task_address,
ri.longitude,
ri.latitude,
ri.require_url,
ri.require_description,
ri.requirement_type_id,
ri.user_account_id,
ra.order_level,
ri.service_id,
ra.total_amount,
ra.order_amount,
ra.update_order_amount,
ri.insurance,
ri.publish,
ri.service_name,
ri.create_time,
ri.repertory,
ri.require_num,
ri.province_code,
ri.city_code,
ri.district_code
FROM requirements_info ri
left join requirements_amount ra
on ra.requirements_info_id = ri.id and ri.user_account_id = ra.user_account_id
WHERE NOT EXISTS(
SELECT rs.requirements_info_id FROM requirements_service rs WHERE ri.id = rs.requirements_info_id)
AND ri.service_flow = 1
AND ri.is_deleted = 0
AND ri.service_flow_id != 7
AND father_require_id = 0
AND repertory > 0
<if test="provinceCode != null">
and ri.province_code = #{provinceCode}
</if>
ORDER BY ri.order_level_amount DESC
<if test="isNewRequirements != null and isNewRequirements">
,ri.id DESC
</if>
<if test="isHighCommission != null and isHighCommission">
,ra.order_amount DESC
</if>
</select>
<select id="appPublishList1" resultType="com.mmc.csf.release.entity.requirements.RequirementsInfoDO">
SELECT ri.id,
ri.task_title,
ri.task_start_time,
ri.task_end_time,
ri.task_address,
ri.longitude,
ri.latitude,
ri.require_url,
ri.require_description,
ri.requirement_type_id,
ri.user_account_id,
ra.order_level,
ri.service_id,
ra.total_amount,
ra.order_amount,
ra.update_order_amount,
ri.insurance,
ri.publish,
ri.service_name,
ri.create_time,
ri.repertory,
ri.require_num,
ri.province_code,
ri.city_code,
ri.district_code,
ri.service_flow_id,
ri.project_code
FROM requirements_info ri
LEFT JOIN requirements_amount ra
ON ra.requirements_info_id = ri.id AND ri.user_account_id = ra.user_account_id
WHERE NOT EXISTS(
SELECT rs.requirements_info_id FROM requirements_service rs WHERE ri.id = rs.requirements_info_id)
AND father_require_id = 0
<if test="provinceCode != null">
AND ri.province_code = #{provinceCode}
</if>
ORDER BY CASE
WHEN ri.service_flow_id != 7
THEN ri.order_level_amount
END DESC
<if test="isNewRequirements != null and isNewRequirements">
,ri.id DESC
</if>
<if test="isHighCommission != null and isHighCommission">
,ra.order_amount DESC
</if>
</select>
<select id="selectOrderStatusByServiceFlowId" resultType="java.lang.String">
select order_status from service_flow where id = #{serviceFlowId}
</select>
<select id="selectServiceIdByRequireId" resultType="java.lang.Integer">
select service_flow_id from requirements_info where id = #{requireId}
</select>
<select id="getChangedOrderAmount" resultType="java.math.BigDecimal">
select update_order_amount from requirements_amount_update where requirements_info_id = #{requireId} and user_sure_change = 0
</select>
<select id="selectUserSureChangeAmount" resultType="java.lang.Integer">
select user_sure_change from requirements_amount_update where requirements_info_id = #{requireId}
</select>
<select id="getUserIdByRequireId" resultType="java.lang.Integer">
select user_account_id from requirements_info where id = #{requireId}
</select>
<select id="getPilotUserIdByRequireId" resultType="java.lang.Integer">
select pilot_certification_user_id from requirements_service where requirements_info_id = #{requireId} and service_flow_id not in (7 , 11)
</select>
<select id="isReSendOrder" resultType="java.lang.Integer">
select count(*)
from requirements_service_temp
where requirements_info_id = #{requireId} and is_deleted = 0
</select>
<select id="selectSendOrderById" resultType="com.mmc.csf.release.entity.information.PersonSendOrderDO">
select *
from requirements_service_temp
where id = #{id} and is_deleted=0
</select>
<select id="isReConfirm" resultType="java.lang.Integer">
select pilot_status
from requirements_service_temp
where id = #{id} and is_deleted = 0
</select>
<select id="mySendOderListCount" resultType="java.lang.Integer">
SELECT
count(*)
FROM
requirements_info ri
LEFT JOIN requirements_type rt ON rt.id = ri.requirement_type_id
LEFT JOIN service_flow sf ON sf.id = ri.service_flow_id
LEFT JOIN requirements_amount ra ON ra.requirements_info_id = ri.id
LEFT JOIN requirements_amount_update rau ON rau.requirements_info_id = ri.id
INNER JOIN requirements_service_temp rs ON ri.id = rs.requirements_info_id
WHERE rs.pilot_certification_user_id = #{userAccountId} AND rs.is_deleted !=1
<if test=" requirementsInfoId != null ">
and ri.id=#{requirementsInfoId}
</if>
<if test="requireDescription!=null and requireDescription!='' ">
and ri.require_description like CONCAT("%",#{requireDescription},"%")
</if>
</select>
<select id="mySendOderList" resultType="com.mmc.csf.release.entity.requirements.RequirementsInfoDO">
SELECT
ri.id,
rs.id as tempId,
ri.create_time,
ri.task_title,
ri.task_start_time,
ri.task_end_time,
ri.task_address,
ri.longitude,
ri.latitude,
ri.require_url,
ri.require_description,
ri.requirement_type_id,
ri.user_account_id,
rt.type_name AS requirementTypeName,
ri.publish_phone,
ri.publisher_number,
ri.service_id,
ra.total_amount,
ri.insurance,
ri.publish,
ra.order_level,
ra.order_amount,
rau.update_order_amount
FROM
requirements_info ri
LEFT JOIN requirements_type rt ON rt.id = ri.requirement_type_id
# TODO 可能会有问题 删除的
# LEFT JOIN service_flow sf ON sf.id = ri.service_flow_id
LEFT JOIN requirements_amount ra ON ra.requirements_info_id = ri.id
LEFT JOIN requirements_amount_update rau ON rau.requirements_info_id = ri.id
INNER JOIN requirements_service_temp rs ON ri.id = rs.requirements_info_id
WHERE rs.pilot_certification_user_id = #{userAccountId} AND rs.is_deleted !=1 AND rs.pilot_status = 0
<if test=" requirementsInfoId != null ">
and ri.id=#{requirementsInfoId}
</if>
<if test="requireDescription!=null and requireDescription!='' ">
and ri.require_description like CONCAT("%",#{requireDescription},"%")
</if>
ORDER BY ri.id desc
limit #{pageNo}, #{pageSize}
</select>
<select id="reSendOrder" resultType="java.lang.Integer">
select count(*) from requirements_service_temp where requirements_info_id = #{requireId} and pilot_certification_user_id = #{userAccountId} and is_deleted=0
</select>
<select id="isTeamSendOrder" resultType="java.lang.Integer">
select count(*)
from requirements_service_temp
where requirements_info_id = #{requireId} and team_user_id is not null and is_deleted=0;
</select>
<select id="mySendPublish" resultType="com.mmc.csf.release.entity.requirements.RequirementsInfoDO">
SELECT
ri.id,
rs.id as requireTempId,
ri.task_title,
ri.task_start_time,
ri.task_end_time,
ri.task_address,
ri.longitude,
ri.latitude,
ri.require_url,
ri.require_description,
ri.requirement_type_id,
ri.user_account_id,
rt.type_name AS requirementTypeName,
ri.publish_phone,
ri.publisher_number,
ri.service_id,
ra.total_amount,
ri.insurance,
ra.order_level,
ra.order_amount,
sf.doing,
sf.waiting,
sf.user_port,
sf.flyer_port,
sf.order_status,
ri.publish,
ri.require_num,
rau.update_order_amount,
ri.repertory,
rs.pilot_certification_id,
rs.pilot_certification_user_id,
rs.team_status,
ri.create_time
FROM
requirements_info ri
left join requirements_service_temp rs on ri.id = rs.requirements_info_id
LEFT JOIN requirements_type rt ON rt.id = ri.requirement_type_id
LEFT JOIN service_flow sf ON sf.id = ri.service_flow_id
LEFT JOIN requirements_amount ra ON ra.requirements_info_id = ri.id
LEFT JOIN requirements_amount_update rau ON rau.requirements_info_id = ri.id
WHERE rs.team_user_id = #{userAccountId} and ri.is_deleted!=1 and rs.is_deleted=0
and father_require_id = 0
and rs.pilot_certification_user_id is null
<if test=" requirementsInfoId != null ">
and ri.id=#{requirementsInfoId}
</if>
<if test="requireDescription!=null and requireDescription!='' ">
and ri.require_description like CONCAT("%",#{requireDescription},"%")
</if>
ORDER BY ri.id desc
limit #{pageNo}, #{pageSize}
</select>
<select id="mySendPublishCount" resultType="java.lang.Integer">
SELECT
count(rs.id)
FROM
requirements_service_temp rs
left join requirements_info ri on ri.id = rs.requirements_info_id
LEFT JOIN requirements_type rt ON rt.id = ri.requirement_type_id
LEFT JOIN service_flow sf ON sf.id = ri.service_flow_id
LEFT JOIN requirements_amount ra ON ra.requirements_info_id = ri.id
LEFT JOIN requirements_amount_update rau ON rau.requirements_info_id = ri.id
WHERE ri.user_account_id = #{userAccountId} and ri.is_deleted!=1 and rs.is_deleted=0
and father_require_id = 0
and rs.pilot_certification_user_id is null
<if test=" requirementsInfoId != null ">
and ri.id=#{requirementsInfoId}
</if>
<if test="requireDescription!=null and requireDescription!='' ">
and ri.require_description like CONCAT("%",#{requireDescription},"%")
</if>
</select>
<select id="selectAllSuborder" resultType="java.lang.Integer">
select id
from requirements_info
where father_require_id = #{fatherRequireId} and is_deleted = 0
</select>
<select id="selectSenderId" resultType="java.lang.Integer">
select user_account_id
from requirements_info
where id = #{id}
</select>
<select id="selectTempPilotInfoByRequireId"
resultType="com.mmc.csf.release.entity.requirements.RequirementsServicePilotInfoDO">
select pilot_certification_id,pilot_certification_user_id
from requirements_service_temp
where is_deleted != 1
and requirements_info_id = #{requireId}
</select>
<select id="isLootedByPilot" resultType="java.lang.Integer">
select repertory
from requirements_info
where id = #{requireId}
</select>
<select id="isLootedByTeam" resultType="java.lang.Integer">
select count(*)
from requirements_info
where id = #{requireId} and repertory = require_num
</select>
<select id="detailSendPublish" resultType="com.mmc.csf.release.entity.requirements.RequirementsInfoDO">
SELECT ri.id,
rs.id as tempId,
ri.task_title,
ri.task_start_time,
ri.task_end_time,
ri.task_address,
ri.longitude,
ri.latitude,
ri.require_url,
ri.require_description,
ri.requirement_type_id,
ri.user_account_id,
rt.type_name AS requirementTypeName,
ri.publish_phone,
ri.publisher_number,
ri.service_id,
ri.repertory,
ri.require_num,
ri.father_require_id,
ra.total_amount,
ri.insurance,
sf.doing,
sf.waiting,
sf.user_port,
sf.flyer_port,
sf.order_status,
ri.publish,
ra.order_amount,
rau.update_order_amount,
ra.reason,
ra.url,
ra.order_level,
rau.reason AS afterModificationReason,
rau.url AS afterModificationUrl,
rs.pilot_certification_user_id AS pilotCertificationUserId,
rs.pilot_certification_id,
rs.team_status,
ri.inspection_id,
ri.project_code
FROM requirements_info ri
LEFT JOIN requirements_type rt
ON rt.id = ri.requirement_type_id
LEFT JOIN requirements_amount_update rau ON rau.requirements_info_id = ri.id
LEFT JOIN service_flow sf ON sf.id = ri.service_flow_id
LEFT JOIN requirements_service_temp rs ON rs.requirements_info_id = ri.id
LEFT JOIN requirements_amount ra ON ra.requirements_info_id = ri.id
AND ra.user_account_id = ri.user_account_id
WHERE ri.id = #{id} and(rs.requirements_info_id is null or rs.is_deleted=0)
</select>
<select id="countRequireServiceNum" resultType="java.lang.Integer">
select count(*) from requirements_service where
requirements_info_id = #{requireId} and service_flow_id != 11
</select>
<select id="publisherCancel1" resultType="com.mmc.csf.release.entity.requirements.RequirementsInfoDO">
SELECT ri.id,
ri.task_title,
ri.task_start_time,
ri.task_end_time,
ri.task_address,
ri.longitude,
ri.latitude,
ri.require_url,
ri.require_description,
ri.requirement_type_id,
ri.user_account_id,
rt.type_name AS requirementTypeName,
ri.publish_phone,
ri.publisher_number,
ri.service_id,
ra.total_amount,
ri.insurance,
ra.order_level,
ra.order_amount,
sf.doing,
sf.waiting,
sf.user_port,
sf.flyer_port,
sf.order_status,
ri.publish,
ra.order_amount,
ra.we_chat,
ra.salary_amount,
ra.cash_amount,
ra.level_cash_amount,
ra.level_salary_amount,
ra.level_we_chat_amount,
ra.wechat_pay_order_number,
ri.service_flow_id,
ri.create_time,
ra.order_level_amount,
ra.order_earnings
FROM requirements_info ri
LEFT JOIN requirements_type rt
ON rt.id = ri.requirement_type_id
LEFT JOIN service_flow sf ON sf.id = ri.service_flow_id
LEFT JOIN requirements_amount ra ON ra.requirements_info_id = ri.id
WHERE ri.user_account_id = #{userAccountId}
AND ri.id = #{requirementsInfoId}
</select>
<delete id="deleteRequirementsServiceInfo">
delete from requirements_service where requirements_info_id = #{requireId} and pilot_certification_user_id = #{userAccountId}
</delete>
......
......@@ -44,3 +44,9 @@ data-filter:
- /release/dynamic/getPilot
- /release/dynamic/dynamicDetails
- /release/gambit/allCommentList
- /release/dynamic/appGambitList
- /release/curriculum/curriculumDetails
- /release/backstage/forum/getNotCheckDynamicSum
- /release/dynamic/dynamicList1
- /release/curriculum/selectCurriculumClassify
Markdown 格式
0%
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论