Merge remote-tracking branch 'origin/dev/feat/partner1.4_20231009' into dev/feat/partner1.4_20231009
# Conflicts: # coolstore-partner-service/src/main/java/com/cool/store/service/impl/FlowServiceImpl.java
This commit is contained in:
@@ -69,6 +69,7 @@ public enum ErrorCodeEnum {
|
||||
PARTNER_MOBILE_EXIST(500010, "手机号码已存在,请核实!", null),
|
||||
MOBILE_EXIST(500015, "此手机号码已存在,请修改后重试", null),
|
||||
INVESTMENT_MANAGER_NOT_EXIST(500016, "当前招商经理不存在", null),
|
||||
PARTNER_MOBILE_EXIST_0(500017, "手机号码已存在", null),
|
||||
|
||||
INTERVIEW_ENTER_FAIL(1021101, "进入面试间失败", null),
|
||||
DINGDING_USER_NOT_EXIST(1021102, "用户钉钉信息不存在,无法发起资质审核!", null),
|
||||
@@ -86,6 +87,7 @@ public enum ErrorCodeEnum {
|
||||
INTERVIEW_INTERVIEW_TIME_IS_UNUSABLE(1021114, "当前预约时间不可用,请和线索用户协商其他时间后确定预约时间\n面试人:{0} 手机号:{1}", null),
|
||||
INTERVIEW_PARTNER_NOT_EXIST(1021115, "线索下的加盟商不存在!", null),
|
||||
INTERVIEW_STATUS_NOT_TRANSFER(1021116, "当前面试状态不允许转让! 面试状态:{0}", null),
|
||||
MOBILE_WECHAT_EXIST(1021116, "此号码已绑定其他微信,请更换手机号码或微信后重试。", null),
|
||||
|
||||
ROOM_STATUS_ERROR(10211156, "当前面试房间状态不允许进行该操作!", null),
|
||||
MOBILE_APP_NOT_ONLINE_ERROR(10211157, "呼叫失败,请确认呼出号码正确并检查是否安装并打开呼叫插件", null),
|
||||
|
||||
@@ -0,0 +1,46 @@
|
||||
package com.cool.store.dao;
|
||||
|
||||
import com.cool.store.entity.BeautyCameraSettingDO;
|
||||
import com.cool.store.mapper.BeautyCameraSettingMapper;
|
||||
import org.apache.commons.lang3.StringUtils;
|
||||
import org.springframework.stereotype.Repository;
|
||||
|
||||
import javax.annotation.Resource;
|
||||
|
||||
/**
|
||||
* @author zhangchenbiao
|
||||
* @FileName: BeautyCameraSettingDAO
|
||||
* @Description:
|
||||
* @date 2023-09-11 14:46
|
||||
*/
|
||||
@Repository
|
||||
public class BeautyCameraSettingDAO {
|
||||
|
||||
@Resource
|
||||
private BeautyCameraSettingMapper beautyCameraSettingMapper;
|
||||
|
||||
/**
|
||||
* 插入或更新
|
||||
* @param param
|
||||
* @return
|
||||
*/
|
||||
public Long insertOrUpdateBeautyCameraSetting(BeautyCameraSettingDO param){
|
||||
if(StringUtils.isBlank(param.getUserId())){
|
||||
return 0L;
|
||||
}
|
||||
return beautyCameraSettingMapper.insertOrUpdateBeautyCameraSetting(param);
|
||||
}
|
||||
|
||||
/**
|
||||
* 获取用户美颜配置
|
||||
* @param userId
|
||||
* @return
|
||||
*/
|
||||
public BeautyCameraSettingDO getBeautyCameraSetting(String userId){
|
||||
if(StringUtils.isBlank(userId)){
|
||||
return null;
|
||||
}
|
||||
return beautyCameraSettingMapper.getBeautyCameraSetting(userId);
|
||||
}
|
||||
|
||||
}
|
||||
@@ -71,4 +71,11 @@ public class HyPartnerIntentInfoDAO {
|
||||
return hyPartnerIntentInfoMapper.updateLineId(newPartnerId,newLineId, oldLineId);
|
||||
}
|
||||
|
||||
public int updateByPartnerLineId(HyPartnerIntentInfoDO record){
|
||||
if(Objects.isNull(record.getPartnerLineId())){
|
||||
return 0;
|
||||
}
|
||||
return hyPartnerIntentInfoMapper.updateByPartnerLineId(record);
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
@@ -75,5 +75,12 @@ public class HyPartnerUserInfoDAO {
|
||||
return hyPartnerUserInfoMapper.updateJoinKnowById(isWritePartnerKnow, id);
|
||||
}
|
||||
|
||||
public int updateByPartnerId(HyPartnerUserInfoDO record){
|
||||
if(StringUtils.isBlank(record.getPartnerId())){
|
||||
return 0;
|
||||
}
|
||||
return hyPartnerUserInfoMapper.updateByPartnerId(record);
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
|
||||
@@ -0,0 +1,26 @@
|
||||
package com.cool.store.mapper;
|
||||
|
||||
import com.cool.store.entity.BeautyCameraSettingDO;
|
||||
import org.apache.ibatis.annotations.Param;
|
||||
import tk.mybatis.mapper.common.Mapper;
|
||||
|
||||
/**
|
||||
* @author zhangchenbiao
|
||||
* @date 2023-09-11 02:20
|
||||
*/
|
||||
public interface BeautyCameraSettingMapper extends Mapper<BeautyCameraSettingDO> {
|
||||
|
||||
/**
|
||||
* 插入或更新
|
||||
* @param param
|
||||
* @return
|
||||
*/
|
||||
Long insertOrUpdateBeautyCameraSetting(@Param("record") BeautyCameraSettingDO param);
|
||||
|
||||
/**
|
||||
* 获取美颜配置
|
||||
* @param userId
|
||||
* @return
|
||||
*/
|
||||
BeautyCameraSettingDO getBeautyCameraSetting(@Param("userId") String userId);
|
||||
}
|
||||
@@ -0,0 +1,26 @@
|
||||
package com.cool.store.mapper;
|
||||
|
||||
import com.cool.store.entity.HyPartnerFraSourceDO;
|
||||
import org.apache.ibatis.annotations.Mapper;
|
||||
import org.apache.ibatis.annotations.Param;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
@Mapper
|
||||
public interface HyPartnerFraSourceMapper {
|
||||
int deleteByPrimaryKey(Long id);
|
||||
|
||||
int insert(HyPartnerFraSourceDO record);
|
||||
|
||||
int insertSelective(HyPartnerFraSourceDO record);
|
||||
|
||||
HyPartnerFraSourceDO selectByPrimaryKey(Long id);
|
||||
|
||||
int updateByPrimaryKeySelective(HyPartnerFraSourceDO record);
|
||||
|
||||
int updateByPrimaryKey(HyPartnerFraSourceDO record);
|
||||
|
||||
List<HyPartnerFraSourceDO> selectAllFraSourceList();
|
||||
|
||||
int batchInsertSelective(@Param("insertList") List<HyPartnerFraSourceDO> collect);
|
||||
}
|
||||
@@ -64,4 +64,7 @@ public interface HyPartnerIntentInfoMapper {
|
||||
* @return
|
||||
*/
|
||||
int updateLineId(@Param("newPartnerId")String newPartnerId,@Param("newLineId") Long newLineId, @Param("oldLineId") Long oldLineId);
|
||||
|
||||
|
||||
int updateByPartnerLineId(@Param("record") HyPartnerIntentInfoDO record);
|
||||
}
|
||||
@@ -244,4 +244,10 @@ public interface HyPartnerLineInfoMapper {
|
||||
*/
|
||||
List<HyPartnerLineInfoDO> getHyPartnerLineInfoList(@Param("lineIds") List<Long> lineIds,String investmentManager);
|
||||
|
||||
/**
|
||||
* 获取线索转让次数
|
||||
* @param partnerLineId 线索 id
|
||||
* @return 线索转让次数
|
||||
*/
|
||||
Integer getTransferTimes(@Param("lineId") Long partnerLineId);
|
||||
}
|
||||
@@ -47,4 +47,6 @@ public interface HyPartnerUserInfoMapper {
|
||||
List<SyncEcCustomerDO> selectByHourDate(@Param("selectTime") String hourDayDate, @Param("now") String now,@Param("limit1")Integer limit1,@Param("limit2")Integer limit2);
|
||||
|
||||
int selectByHourDateCount(@Param("selectTime") String hourDayDate, @Param("now") String now);
|
||||
|
||||
int updateByPartnerId(@Param("record") HyPartnerUserInfoDO record);
|
||||
}
|
||||
@@ -0,0 +1,79 @@
|
||||
<?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.cool.store.mapper.BeautyCameraSettingMapper">
|
||||
<resultMap id="BaseResultMap" type="com.cool.store.entity.BeautyCameraSettingDO">
|
||||
<id column="id" jdbcType="BIGINT" property="id"/>
|
||||
<result column="user_id" jdbcType="VARCHAR" property="userId"/>
|
||||
<result column="beauty_status" jdbcType="BIT" property="beautyStatus"/>
|
||||
<result column="beauty" jdbcType="INTEGER" property="beauty"/>
|
||||
<result column="brightness" jdbcType="INTEGER" property="brightness"/>
|
||||
<result column="ruddy" jdbcType="INTEGER" property="ruddy"/>
|
||||
<result column="deleted" jdbcType="BIT" property="deleted"/>
|
||||
<result column="create_time" jdbcType="TIMESTAMP" property="createTime"/>
|
||||
<result column="update_time" jdbcType="TIMESTAMP" property="updateTime"/>
|
||||
</resultMap>
|
||||
<sql id="Base_Column_List">
|
||||
id, user_id, beauty_status, beauty, brightness, ruddy, deleted, create_time, update_time
|
||||
</sql>
|
||||
|
||||
<insert id="insertOrUpdateBeautyCameraSetting" keyColumn="id" keyProperty="record.id" useGeneratedKeys="true">
|
||||
insert into beauty_camera_setting
|
||||
<trim prefix="(" suffix=")" suffixOverrides=",">
|
||||
<if test="record.userId != null">
|
||||
user_id,
|
||||
</if>
|
||||
<if test="record.beautyStatus != null">
|
||||
beauty_status,
|
||||
</if>
|
||||
<if test="record.beauty != null">
|
||||
beauty,
|
||||
</if>
|
||||
<if test="record.brightness != null">
|
||||
brightness,
|
||||
</if>
|
||||
<if test="record.ruddy != null">
|
||||
ruddy,
|
||||
</if>
|
||||
<if test="record.deleted != null">
|
||||
deleted,
|
||||
</if>
|
||||
<if test="record.createTime != null">
|
||||
create_time,
|
||||
</if>
|
||||
<if test="record.updateTime != null">
|
||||
update_time,
|
||||
</if>
|
||||
</trim>
|
||||
<trim prefix="values (" suffix=")" suffixOverrides=",">
|
||||
<if test="record.userId != null">
|
||||
#{record.userId},
|
||||
</if>
|
||||
<if test="record.beautyStatus != null">
|
||||
#{record.beautyStatus},
|
||||
</if>
|
||||
<if test="record.beauty != null">
|
||||
#{record.beauty},
|
||||
</if>
|
||||
<if test="record.brightness != null">
|
||||
#{record.brightness},
|
||||
</if>
|
||||
<if test="record.ruddy != null">
|
||||
#{record.ruddy},
|
||||
</if>
|
||||
<if test="record.deleted != null">
|
||||
#{record.deleted},
|
||||
</if>
|
||||
<if test="record.createTime != null">
|
||||
#{record.createTime},
|
||||
</if>
|
||||
<if test="record.updateTime != null">
|
||||
#{record.updateTime},
|
||||
</if>
|
||||
</trim>
|
||||
ON DUPLICATE KEY UPDATE beauty_status = values(beauty_status), beauty = values(beauty), brightness = values(brightness), ruddy = values(ruddy)
|
||||
</insert>
|
||||
|
||||
<select id="getBeautyCameraSetting" resultMap="BaseResultMap">
|
||||
select <include refid="Base_Column_List"/> from beauty_camera_setting where user_id = #{userId} and deleted = 0
|
||||
</select>
|
||||
</mapper>
|
||||
@@ -0,0 +1,190 @@
|
||||
<?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.cool.store.mapper.HyPartnerFraSourceMapper">
|
||||
<resultMap id="BaseResultMap" type="com.cool.store.entity.HyPartnerFraSourceDO">
|
||||
<id column="id" jdbcType="BIGINT" property="id" />
|
||||
<result column="name" jdbcType="VARCHAR" property="name" />
|
||||
<result column="code" jdbcType="VARCHAR" property="code" />
|
||||
<result column="dict_id" jdbcType="VARCHAR" property="dictId" />
|
||||
<result column="source_id" jdbcType="VARCHAR" property="sourceId" />
|
||||
<result column="enabled" jdbcType="BOOLEAN" property="enabled" />
|
||||
<result column="create_time" jdbcType="TIMESTAMP" property="createTime" />
|
||||
<result column="update_time" jdbcType="TIMESTAMP" property="updateTime" />
|
||||
<result column="remark" jdbcType="VARCHAR" property="remark" />
|
||||
</resultMap>
|
||||
<sql id="Base_Column_List">
|
||||
id, `name`, code, dict_id, source_id, enabled, create_time, update_time, remark
|
||||
</sql>
|
||||
<select id="selectByPrimaryKey" parameterType="java.lang.Long" resultMap="BaseResultMap">
|
||||
select
|
||||
<include refid="Base_Column_List" />
|
||||
from hy_partner_fra_source
|
||||
where id = #{id,jdbcType=BIGINT}
|
||||
</select>
|
||||
<select id="selectAllFraSourceList" resultMap="BaseResultMap">
|
||||
select
|
||||
<include refid="Base_Column_List" />
|
||||
from hy_partner_fra_source where enabled=1
|
||||
</select>
|
||||
<delete id="deleteByPrimaryKey" parameterType="java.lang.Long">
|
||||
delete from hy_partner_fra_source
|
||||
where id = #{id,jdbcType=BIGINT}
|
||||
</delete>
|
||||
<insert id="insert" keyColumn="id" keyProperty="id" parameterType="com.cool.store.entity.HyPartnerFraSourceDO" useGeneratedKeys="true">
|
||||
insert into hy_partner_fra_source (`name`, code, dict_id,
|
||||
source_id, enabled, create_time,
|
||||
update_time, remark)
|
||||
values (#{name,jdbcType=VARCHAR}, #{code,jdbcType=VARCHAR}, #{dictId,jdbcType=VARCHAR},
|
||||
#{sourceId,jdbcType=VARCHAR}, #{enabled,jdbcType=BOOLEAN}, #{createTime,jdbcType=TIMESTAMP},
|
||||
#{updateTime,jdbcType=TIMESTAMP}, #{remark,jdbcType=VARCHAR})
|
||||
</insert>
|
||||
<insert id="insertSelective" keyColumn="id" keyProperty="id" parameterType="com.cool.store.entity.HyPartnerFraSourceDO" useGeneratedKeys="true">
|
||||
insert into hy_partner_fra_source
|
||||
<trim prefix="(" suffix=")" suffixOverrides=",">
|
||||
<if test="name != null">
|
||||
`name`,
|
||||
</if>
|
||||
<if test="code != null">
|
||||
code,
|
||||
</if>
|
||||
<if test="dictId != null">
|
||||
dict_id,
|
||||
</if>
|
||||
<if test="sourceId != null">
|
||||
source_id,
|
||||
</if>
|
||||
<if test="enabled != null">
|
||||
enabled,
|
||||
</if>
|
||||
<if test="createTime != null">
|
||||
create_time,
|
||||
</if>
|
||||
<if test="updateTime != null">
|
||||
update_time,
|
||||
</if>
|
||||
<if test="remark != null">
|
||||
remark,
|
||||
</if>
|
||||
</trim>
|
||||
<trim prefix="values (" suffix=")" suffixOverrides=",">
|
||||
<if test="name != null">
|
||||
#{name,jdbcType=VARCHAR},
|
||||
</if>
|
||||
<if test="code != null">
|
||||
#{code,jdbcType=VARCHAR},
|
||||
</if>
|
||||
<if test="dictId != null">
|
||||
#{dictId,jdbcType=VARCHAR},
|
||||
</if>
|
||||
<if test="sourceId != null">
|
||||
#{sourceId,jdbcType=VARCHAR},
|
||||
</if>
|
||||
<if test="enabled != null">
|
||||
#{enabled,jdbcType=BOOLEAN},
|
||||
</if>
|
||||
<if test="createTime != null">
|
||||
#{createTime,jdbcType=TIMESTAMP},
|
||||
</if>
|
||||
<if test="updateTime != null">
|
||||
#{updateTime,jdbcType=TIMESTAMP},
|
||||
</if>
|
||||
<if test="remark != null">
|
||||
#{remark,jdbcType=VARCHAR},
|
||||
</if>
|
||||
</trim>
|
||||
</insert>
|
||||
<insert id="batchInsertSelective">
|
||||
<foreach collection="insertList" item="record" separator=";">
|
||||
insert into hy_partner_fra_source
|
||||
<trim prefix="(" suffix=")" suffixOverrides=",">
|
||||
<if test="record.name != null">
|
||||
`name`,
|
||||
</if>
|
||||
<if test="record.code != null">
|
||||
`code`,
|
||||
</if>
|
||||
<if test="record.dictId != null">
|
||||
dict_id,
|
||||
</if>
|
||||
<if test="record.sourceId != null">
|
||||
source_id,
|
||||
</if>
|
||||
<if test="record.enabled != null">
|
||||
enabled,
|
||||
</if>
|
||||
<if test="record.createTime != null">
|
||||
create_time,
|
||||
</if>
|
||||
<if test="record.remark != null">
|
||||
remark,
|
||||
</if>
|
||||
</trim>
|
||||
<trim prefix="values (" suffix=")" suffixOverrides=",">
|
||||
<if test="record.name != null">
|
||||
#{record.name,jdbcType=VARCHAR},
|
||||
</if>
|
||||
<if test="record.code != null">
|
||||
#{record.code,jdbcType=VARCHAR},
|
||||
</if>
|
||||
<if test="record.dictId != null">
|
||||
#{record.dictId,jdbcType=VARCHAR},
|
||||
</if>
|
||||
<if test="record.sourceId != null">
|
||||
#{record.sourceId,jdbcType=VARCHAR},
|
||||
</if>
|
||||
<if test="record.enabled != null">
|
||||
#{record.enabled,jdbcType=BOOLEAN},
|
||||
</if>
|
||||
<if test="record.createTime != null">
|
||||
#{record.createTime,jdbcType=TIMESTAMP},
|
||||
</if>
|
||||
<if test="record.remark != null">
|
||||
#{record.remark,jdbcType=VARCHAR},
|
||||
</if>
|
||||
</trim>
|
||||
ON DUPLICATE KEY UPDATE update_time = now(), enabled = values(enabled), `name` = values(`name`), `code` = values(`code`), dict_id = values(dict_id)
|
||||
</foreach>
|
||||
</insert>
|
||||
<update id="updateByPrimaryKeySelective" parameterType="com.cool.store.entity.HyPartnerFraSourceDO">
|
||||
update hy_partner_fra_source
|
||||
<set>
|
||||
<if test="name != null">
|
||||
`name` = #{name,jdbcType=VARCHAR},
|
||||
</if>
|
||||
<if test="code != null">
|
||||
code = #{code,jdbcType=VARCHAR},
|
||||
</if>
|
||||
<if test="dictId != null">
|
||||
dict_id = #{dictId,jdbcType=VARCHAR},
|
||||
</if>
|
||||
<if test="sourceId != null">
|
||||
source_id = #{sourceId,jdbcType=VARCHAR},
|
||||
</if>
|
||||
<if test="enabled != null">
|
||||
enabled = #{enabled,jdbcType=BOOLEAN},
|
||||
</if>
|
||||
<if test="createTime != null">
|
||||
create_time = #{createTime,jdbcType=TIMESTAMP},
|
||||
</if>
|
||||
<if test="updateTime != null">
|
||||
update_time = #{updateTime,jdbcType=TIMESTAMP},
|
||||
</if>
|
||||
<if test="remark != null">
|
||||
remark = #{remark,jdbcType=VARCHAR},
|
||||
</if>
|
||||
</set>
|
||||
where id = #{id,jdbcType=BIGINT}
|
||||
</update>
|
||||
<update id="updateByPrimaryKey" parameterType="com.cool.store.entity.HyPartnerFraSourceDO">
|
||||
update hy_partner_fra_source
|
||||
set `name` = #{name,jdbcType=VARCHAR},
|
||||
code = #{code,jdbcType=VARCHAR},
|
||||
dict_id = #{dictId,jdbcType=VARCHAR},
|
||||
source_id = #{sourceId,jdbcType=VARCHAR},
|
||||
enabled = #{enabled,jdbcType=BOOLEAN},
|
||||
create_time = #{createTime,jdbcType=TIMESTAMP},
|
||||
update_time = #{updateTime,jdbcType=TIMESTAMP},
|
||||
remark = #{remark,jdbcType=VARCHAR}
|
||||
where id = #{id,jdbcType=BIGINT}
|
||||
</update>
|
||||
</mapper>
|
||||
@@ -360,6 +360,71 @@
|
||||
where partner_line_id = #{oldLineId}
|
||||
</update>
|
||||
|
||||
|
||||
<update id="updateByPartnerLineId">
|
||||
update hy_partner_intent_info
|
||||
<set>
|
||||
<if test="record.liveArea != null">
|
||||
live_area = #{record.liveArea},
|
||||
</if>
|
||||
<if test="record.wantShopArea != null">
|
||||
want_shop_area = #{record.wantShopArea},
|
||||
</if>
|
||||
<if test="record.acceptAdjustType != null">
|
||||
accept_adjust_type = #{record.acceptAdjustType},
|
||||
</if>
|
||||
<if test="record.isHaveWantShop != null">
|
||||
is_have_want_shop = #{record.isHaveWantShop},
|
||||
</if>
|
||||
<if test="record.wantShopInfo != null">
|
||||
want_shop_info = #{record.wantShopInfo},
|
||||
</if>
|
||||
<if test="record.maxBudget != null">
|
||||
max_budget = #{record.maxBudget},
|
||||
</if>
|
||||
<if test="record.moneySource != null">
|
||||
money_source = #{record.moneySource},
|
||||
</if>
|
||||
<if test="record.moneyProve != null">
|
||||
money_prove = #{record.moneyProve},
|
||||
</if>
|
||||
<if test="record.education != null">
|
||||
education = #{record.education},
|
||||
</if>
|
||||
<if test="record.workYear != null">
|
||||
work_year = #{record.workYear},
|
||||
</if>
|
||||
<if test="record.isHaveWorkExp != null">
|
||||
is_have_work_exp = #{record.isHaveWorkExp},
|
||||
</if>
|
||||
<if test="record.workExp != null">
|
||||
work_exp = #{record.workExp},
|
||||
</if>
|
||||
<if test="record.isConsumer != null">
|
||||
is_consumer = #{record.isConsumer},
|
||||
</if>
|
||||
<if test="record.otherBand != null">
|
||||
other_band = #{record.otherBand},
|
||||
</if>
|
||||
<if test="record.brandStrength != null">
|
||||
brand_strength = #{record.brandStrength},
|
||||
</if>
|
||||
<if test="record.needImprove != null">
|
||||
need_improve = #{record.needImprove},
|
||||
</if>
|
||||
<if test="record.strength != null">
|
||||
strength = #{record.strength},
|
||||
</if>
|
||||
<if test="record.weakness != null">
|
||||
weakness = #{record.weakness},
|
||||
</if>
|
||||
<if test="record.createTime != null">
|
||||
create_time = #{record.createTime},
|
||||
</if>
|
||||
<if test="record.updateTime != null">
|
||||
update_time = #{record.updateTime},
|
||||
</if>
|
||||
</set>
|
||||
where partner_line_id = #{record.partnerLineId}
|
||||
</update>
|
||||
|
||||
</mapper>
|
||||
@@ -736,4 +736,13 @@
|
||||
</where>
|
||||
</select>
|
||||
|
||||
<!-- 获取线索转让次数 -->
|
||||
<select id="getTransferTimes" resultType="java.lang.Integer">
|
||||
select count(*)
|
||||
from hy_partner_task_info_log
|
||||
where operate_type = 'entrust_others'
|
||||
and partner_line_id = #{lineId}
|
||||
-- and deleted = 0
|
||||
</select>
|
||||
|
||||
</mapper>
|
||||
@@ -166,6 +166,9 @@
|
||||
<if test="record.userChannelId!=null">
|
||||
user_channel_id,
|
||||
</if>
|
||||
<if test="record.ecWantShopArea!=null">
|
||||
ec_want_shop_area,
|
||||
</if>
|
||||
</trim>
|
||||
<trim prefix="values (" suffix=")" suffixOverrides=",">
|
||||
<if test="record.partnerId != null">
|
||||
@@ -219,6 +222,9 @@
|
||||
<if test="record.userChannelId != null">
|
||||
#{record.userChannelId},
|
||||
</if>
|
||||
<if test="record.ecWantShopArea != null">
|
||||
#{record.ecWantShopArea},
|
||||
</if>
|
||||
</trim>
|
||||
</insert>
|
||||
<update id="updateByPrimaryKeySelective">
|
||||
@@ -272,6 +278,9 @@
|
||||
<if test="record.recommendPartnerMobile != null">
|
||||
recommend_partner_mobile = #{record.recommendPartnerMobile},
|
||||
</if>
|
||||
<if test="record.ecWantShopArea != null">
|
||||
ec_want_shop_area = #{record.ecWantShopArea},
|
||||
</if>
|
||||
</set>
|
||||
where id = #{record.id}
|
||||
</update>
|
||||
@@ -282,4 +291,56 @@
|
||||
where id=#{id,jdbcType=BIGINT}
|
||||
</update>
|
||||
|
||||
<update id="updateByPartnerId">
|
||||
update hy_partner_user_info
|
||||
<set>
|
||||
<if test="record.mobile != null">
|
||||
mobile = #{record.mobile},
|
||||
</if>
|
||||
<if test="record.username != null">
|
||||
username = #{record.username},
|
||||
</if>
|
||||
<if test="record.liveArea != null">
|
||||
live_area = #{record.liveArea},
|
||||
</if>
|
||||
<if test="record.wantShopArea != null">
|
||||
want_shop_area = #{record.wantShopArea},
|
||||
</if>
|
||||
<if test="record.acceptAdjustType != null">
|
||||
accept_adjust_type = #{record.acceptAdjustType},
|
||||
</if>
|
||||
<if test="record.inviteCode != null">
|
||||
invite_code = #{record.inviteCode},
|
||||
</if>
|
||||
<if test="record.isWritePartnerKnow != null">
|
||||
is_write_partner_know = #{record.isWritePartnerKnow},
|
||||
</if>
|
||||
<if test="record.createTime != null">
|
||||
create_time = #{record.createTime},
|
||||
</if>
|
||||
<if test="record.updateTime != null">
|
||||
update_time = #{record.updateTime},
|
||||
</if>
|
||||
<if test="record.shopCode != null">
|
||||
shop_code = #{record.shopCode},
|
||||
</if>
|
||||
<if test="record.shopName != null">
|
||||
shop_name = #{record.shopName},
|
||||
</if>
|
||||
<if test="record.shopId != null">
|
||||
shop_id = #{record.shopId},
|
||||
</if>
|
||||
<if test="record.recommendPartnerId != null">
|
||||
recommend_partner_id = #{record.recommendPartnerId},
|
||||
</if>
|
||||
<if test="record.recommendPartnerName != null">
|
||||
recommend_partner_name = #{record.recommendPartnerName},
|
||||
</if>
|
||||
<if test="record.recommendPartnerMobile != null">
|
||||
recommend_partner_mobile = #{record.recommendPartnerMobile},
|
||||
</if>
|
||||
</set>
|
||||
where partner_id = #{record.partnerId}
|
||||
</update>
|
||||
|
||||
</mapper>
|
||||
@@ -0,0 +1,36 @@
|
||||
package com.cool.store.dto.response;
|
||||
|
||||
import lombok.Data;
|
||||
import lombok.experimental.Accessors;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* @author HXD
|
||||
*/
|
||||
@Data
|
||||
@Accessors(chain = true)
|
||||
public class DictResultDTO {
|
||||
private String id;
|
||||
private String createdBy;
|
||||
private String createdTime;
|
||||
private String groupCode;
|
||||
private String code;
|
||||
private String name;
|
||||
private String type;
|
||||
private String enabled;
|
||||
private String remark;
|
||||
private List<Dict> configList;
|
||||
|
||||
@Data
|
||||
@Accessors(chain = true)
|
||||
public static class Dict{
|
||||
private String id;
|
||||
private String dictId;
|
||||
private String code;
|
||||
private String name;
|
||||
private String parentId;
|
||||
private Boolean enabled;
|
||||
private String remark;
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,49 @@
|
||||
package com.cool.store.entity;
|
||||
|
||||
import io.swagger.annotations.ApiModelProperty;
|
||||
import java.io.Serializable;
|
||||
import java.util.Date;
|
||||
import javax.persistence.Table;
|
||||
import lombok.AllArgsConstructor;
|
||||
import lombok.Builder;
|
||||
import lombok.Data;
|
||||
import lombok.NoArgsConstructor;
|
||||
|
||||
/**
|
||||
*
|
||||
* @author zhangchenbiao
|
||||
* @date 2023-09-11 02:20
|
||||
*/
|
||||
@Table(name = "beauty_camera_setting")
|
||||
@Data
|
||||
@Builder
|
||||
@NoArgsConstructor
|
||||
@AllArgsConstructor
|
||||
public class BeautyCameraSettingDO implements Serializable {
|
||||
@ApiModelProperty("主键id")
|
||||
private Long id;
|
||||
|
||||
@ApiModelProperty("用户id")
|
||||
private String userId;
|
||||
|
||||
@ApiModelProperty("美颜状态0未开启,1开启")
|
||||
private Boolean beautyStatus;
|
||||
|
||||
@ApiModelProperty("美颜度")
|
||||
private Integer beauty;
|
||||
|
||||
@ApiModelProperty("明亮度")
|
||||
private Integer brightness;
|
||||
|
||||
@ApiModelProperty("红润")
|
||||
private Integer ruddy;
|
||||
|
||||
@ApiModelProperty("删除标识")
|
||||
private Boolean deleted;
|
||||
|
||||
@ApiModelProperty("用户创建时间")
|
||||
private Date createTime;
|
||||
|
||||
@ApiModelProperty("修改时间")
|
||||
private Date updateTime;
|
||||
}
|
||||
@@ -0,0 +1,61 @@
|
||||
package com.cool.store.entity;
|
||||
|
||||
import java.io.Serializable;
|
||||
import java.util.Date;
|
||||
|
||||
import lombok.Data;
|
||||
import lombok.experimental.Accessors;
|
||||
|
||||
|
||||
|
||||
/**
|
||||
* hy_partner_fra_source
|
||||
* @author
|
||||
*/
|
||||
@Data
|
||||
@Accessors(chain = true)
|
||||
public class HyPartnerFraSourceDO implements Serializable {
|
||||
private Long id;
|
||||
|
||||
/**
|
||||
* 来源名称
|
||||
*/
|
||||
private String name;
|
||||
|
||||
/**
|
||||
* 来源code
|
||||
*/
|
||||
private String code;
|
||||
|
||||
/**
|
||||
* 所属字典枚举组的id
|
||||
*/
|
||||
private String dictId;
|
||||
|
||||
/**
|
||||
* 数据的id
|
||||
*/
|
||||
private String sourceId;
|
||||
|
||||
/**
|
||||
* 启用标识
|
||||
*/
|
||||
private Boolean enabled;
|
||||
|
||||
/**
|
||||
* 创建时间
|
||||
*/
|
||||
private Date createTime;
|
||||
|
||||
/**
|
||||
* 更新时间
|
||||
*/
|
||||
private Date updateTime;
|
||||
|
||||
/**
|
||||
* 备注
|
||||
*/
|
||||
private String remark;
|
||||
|
||||
private static final long serialVersionUID = 1L;
|
||||
}
|
||||
@@ -75,4 +75,9 @@ public class HyPartnerUserInfoDO implements Serializable {
|
||||
|
||||
@ApiModelProperty("hy_partner_user_channel.channel_id")
|
||||
private Integer userChannelId;
|
||||
|
||||
|
||||
@ApiModelProperty("ec意向区域")
|
||||
private String ecWantShopArea;
|
||||
|
||||
}
|
||||
@@ -38,6 +38,9 @@ public class CreateQualifyVerifyReq {
|
||||
@ApiModelProperty(value = "加盟商类型", required = true)
|
||||
private KeyText fraType;
|
||||
|
||||
@ApiModelProperty(value = "请求来源", required = true)
|
||||
private KeyText fraSource;
|
||||
|
||||
@ApiModelProperty(value = "合作关系", required = true)
|
||||
private KeyText partnership;
|
||||
|
||||
|
||||
@@ -23,4 +23,7 @@ public class CustomerInfoRequest {
|
||||
private Long lastFollowUserId;
|
||||
|
||||
private String followUserName;
|
||||
|
||||
|
||||
private String ecWantShopArea;
|
||||
}
|
||||
|
||||
@@ -0,0 +1,30 @@
|
||||
package com.cool.store.request;
|
||||
|
||||
import io.swagger.annotations.ApiModelProperty;
|
||||
import lombok.Data;
|
||||
|
||||
/**
|
||||
* @author zhangchenbiao
|
||||
* @FileName: EditBaseInfoRequest
|
||||
* @Description:
|
||||
* @date 2023-09-13 10:29
|
||||
*/
|
||||
@Data
|
||||
public class EditBaseInfoRequest {
|
||||
|
||||
@ApiModelProperty("线索id")
|
||||
private Long partnerLineId;
|
||||
|
||||
@ApiModelProperty("姓名")
|
||||
private String username;
|
||||
|
||||
@ApiModelProperty("手机号")
|
||||
private String mobile;
|
||||
|
||||
@ApiModelProperty("意向区域")
|
||||
private String wantShopArea;
|
||||
|
||||
@ApiModelProperty("调剂方式")
|
||||
private Integer acceptAdjustType;
|
||||
|
||||
}
|
||||
@@ -0,0 +1,42 @@
|
||||
package com.cool.store.request.beauty;
|
||||
|
||||
import com.cool.store.entity.BeautyCameraSettingDO;
|
||||
import io.swagger.annotations.ApiModelProperty;
|
||||
import lombok.Data;
|
||||
|
||||
import java.util.Date;
|
||||
|
||||
/**
|
||||
* @author zhangchenbiao
|
||||
* @FileName: AddBeautyCameraSettingRequest
|
||||
* @Description: 新增美颜配置
|
||||
* @date 2023-09-11 14:31
|
||||
*/
|
||||
@Data
|
||||
public class AddBeautyCameraSettingRequest {
|
||||
|
||||
@ApiModelProperty("美颜状态0未开启,1开启")
|
||||
private Boolean beautyStatus;
|
||||
|
||||
@ApiModelProperty("美颜度")
|
||||
private Integer beauty;
|
||||
|
||||
@ApiModelProperty("明亮度")
|
||||
private Integer brightness;
|
||||
|
||||
@ApiModelProperty("红润")
|
||||
private Integer ruddy;
|
||||
|
||||
|
||||
public static BeautyCameraSettingDO convertDO(String userId, AddBeautyCameraSettingRequest request){
|
||||
BeautyCameraSettingDO result = new BeautyCameraSettingDO();
|
||||
result.setUserId(userId);
|
||||
result.setBeautyStatus(request.getBeautyStatus());
|
||||
result.setBeauty(request.getBeauty());
|
||||
result.setBrightness(request.getBrightness());
|
||||
result.setRuddy(request.getRuddy());
|
||||
result.setCreateTime(new Date());
|
||||
return result;
|
||||
}
|
||||
|
||||
}
|
||||
@@ -0,0 +1,42 @@
|
||||
package com.cool.store.vo.beauty;
|
||||
|
||||
import com.cool.store.entity.BeautyCameraSettingDO;
|
||||
import io.swagger.annotations.ApiModelProperty;
|
||||
import lombok.Data;
|
||||
|
||||
import java.util.Objects;
|
||||
|
||||
/**
|
||||
* @author zhangchenbiao
|
||||
* @FileName: BeautyCameraSettingVO
|
||||
* @Description:
|
||||
* @date 2023-09-11 14:40
|
||||
*/
|
||||
@Data
|
||||
public class BeautyCameraSettingVO {
|
||||
|
||||
@ApiModelProperty("美颜状态0未开启,1开启")
|
||||
private Boolean beautyStatus;
|
||||
|
||||
@ApiModelProperty("美颜度")
|
||||
private Integer beauty;
|
||||
|
||||
@ApiModelProperty("明亮度")
|
||||
private Integer brightness;
|
||||
|
||||
@ApiModelProperty("红润")
|
||||
private Integer ruddy;
|
||||
|
||||
public static BeautyCameraSettingVO convertVO(BeautyCameraSettingDO request){
|
||||
if(Objects.isNull(request)){
|
||||
return null;
|
||||
}
|
||||
BeautyCameraSettingVO result = new BeautyCameraSettingVO();
|
||||
result.setBeautyStatus(request.getBeautyStatus());
|
||||
result.setBeauty(request.getBeauty());
|
||||
result.setBrightness(request.getBrightness());
|
||||
result.setRuddy(request.getRuddy());
|
||||
return result;
|
||||
}
|
||||
|
||||
}
|
||||
@@ -0,0 +1,54 @@
|
||||
package com.cool.store.vo.partner;
|
||||
|
||||
import com.cool.store.dto.partner.UserPortraitDTO;
|
||||
import com.cool.store.entity.HyPartnerUserInfoDO;
|
||||
import io.swagger.annotations.ApiModelProperty;
|
||||
import lombok.Data;
|
||||
|
||||
import java.util.List;
|
||||
import java.util.Objects;
|
||||
|
||||
/**
|
||||
* @author zhangchenbiao
|
||||
* @FileName: PartnerBaseInfoVO
|
||||
* @Description:
|
||||
* @date 2023-09-13 16:47
|
||||
*/
|
||||
@Data
|
||||
public class PartnerSimpleBaseInfoVO {
|
||||
|
||||
@ApiModelProperty("线索id")
|
||||
private Long partnerLineId;
|
||||
|
||||
@ApiModelProperty("姓名")
|
||||
private String username;
|
||||
|
||||
@ApiModelProperty("手机号")
|
||||
private String mobile;
|
||||
|
||||
@ApiModelProperty("意向区域")
|
||||
private String wantShopArea;
|
||||
|
||||
@ApiModelProperty("调剂方式")
|
||||
private Integer acceptAdjustType;
|
||||
|
||||
@ApiModelProperty("加盟申请基本信息ID")
|
||||
private Long partnerBaseInfoId;
|
||||
|
||||
@ApiModelProperty("用户画像")
|
||||
private List<UserPortraitDTO> userPortrait;
|
||||
|
||||
public static PartnerSimpleBaseInfoVO convertVO(Long partnerLineId, HyPartnerUserInfoDO partnerUserInfo){
|
||||
if(Objects.isNull(partnerUserInfo)){
|
||||
return null;
|
||||
}
|
||||
PartnerSimpleBaseInfoVO result = new PartnerSimpleBaseInfoVO();
|
||||
result.setPartnerLineId(partnerLineId);
|
||||
result.setUsername(partnerUserInfo.getUsername());
|
||||
result.setMobile(partnerUserInfo.getMobile());
|
||||
result.setWantShopArea(partnerUserInfo.getWantShopArea());
|
||||
result.setAcceptAdjustType(partnerUserInfo.getAcceptAdjustType());
|
||||
return result;
|
||||
}
|
||||
|
||||
}
|
||||
@@ -0,0 +1,122 @@
|
||||
package com.cool.store.job;
|
||||
|
||||
import cn.hutool.core.bean.BeanUtil;
|
||||
import cn.hutool.core.util.ObjectUtil;
|
||||
import com.alibaba.fastjson.JSON;
|
||||
import com.alibaba.fastjson.JSONObject;
|
||||
import com.alibaba.fastjson.TypeReference;
|
||||
import com.cool.store.dto.mdm.AccessTokenDTO;
|
||||
import com.cool.store.dto.response.DictResultDTO;
|
||||
import com.cool.store.dto.response.MDMResultDTO;
|
||||
import com.cool.store.entity.HyPartnerFraSourceDO;
|
||||
import com.cool.store.exception.ApiException;
|
||||
import com.cool.store.exception.ServiceException;
|
||||
import com.cool.store.mapper.HyPartnerFraSourceMapper;
|
||||
import com.cool.store.request.RpcGetMdmTokenReq;
|
||||
import com.cool.store.utils.RestTemplateUtil;
|
||||
import com.xxl.job.core.context.XxlJobHelper;
|
||||
import com.xxl.job.core.handler.annotation.XxlJob;
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
import org.apache.commons.lang3.StringUtils;
|
||||
import org.springframework.beans.factory.annotation.Value;
|
||||
import org.springframework.http.ResponseEntity;
|
||||
import org.springframework.stereotype.Component;
|
||||
|
||||
import javax.annotation.Resource;
|
||||
import java.util.HashMap;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
import java.util.Objects;
|
||||
import java.util.stream.Collectors;
|
||||
|
||||
/**
|
||||
* @author hxd
|
||||
*/
|
||||
@Slf4j
|
||||
@Component
|
||||
public class FraSourceSyncJob {
|
||||
|
||||
|
||||
@Value("${hs.mdm.baseUrl:null}")
|
||||
private String mdmBaseUrl;
|
||||
|
||||
@Value("${hs.mdm.appkey:null}")
|
||||
private String mdmAppKey;
|
||||
|
||||
@Value("${hs.mdm.appsec:null}")
|
||||
private String mdmAppSec;
|
||||
|
||||
@Resource
|
||||
private HyPartnerFraSourceMapper hyPartnerFraSourceMapper;
|
||||
|
||||
@XxlJob("FraSourceSyncJob")
|
||||
public void fraSourceSyncJob() {
|
||||
XxlJobHelper.log("-------------------------------定时同步800请求来源开始-------------------------------");
|
||||
execute();
|
||||
XxlJobHelper.log("-------------------------------定时同步800请求来源结束-------------------------------");
|
||||
XxlJobHelper.handleSuccess();
|
||||
}
|
||||
|
||||
private void execute() {
|
||||
DictResultDTO dictResultDTO = null;
|
||||
try {
|
||||
dictResultDTO = JSON.parseObject(getDictList(), new TypeReference<DictResultDTO>() {
|
||||
});
|
||||
} catch (ApiException e) {
|
||||
log.error("请求800获取字典报错:" + JSONObject.toJSONString(e));
|
||||
}
|
||||
if (ObjectUtil.isNull(dictResultDTO)) {
|
||||
return;
|
||||
}
|
||||
List<DictResultDTO.Dict> configList = dictResultDTO.getConfigList();
|
||||
List<HyPartnerFraSourceDO> collect = configList.stream().map(item -> {
|
||||
HyPartnerFraSourceDO hyPartnerFraSourceDO = new HyPartnerFraSourceDO();
|
||||
BeanUtil.copyProperties(item, hyPartnerFraSourceDO);
|
||||
hyPartnerFraSourceDO.setSourceId(item.getId());
|
||||
return hyPartnerFraSourceDO;
|
||||
}).collect(Collectors.toList());
|
||||
hyPartnerFraSourceMapper.batchInsertSelective(collect);
|
||||
}
|
||||
|
||||
public String getDictList() throws ApiException {
|
||||
String url = mdmBaseUrl + "/api/openapi/dict/api/dictListByCode?code=mdFraSource";
|
||||
ResponseEntity<MDMResultDTO> responseEntity = null;
|
||||
try {
|
||||
RpcGetMdmTokenReq rpcGetMDMTokenReq = new RpcGetMdmTokenReq();
|
||||
rpcGetMDMTokenReq.setAppKey(mdmAppKey);
|
||||
rpcGetMDMTokenReq.setAppSecret(mdmAppSec);
|
||||
Map<String, String> headers = new HashMap<>(1);
|
||||
headers.put("Authorization", getMdmAccessToken(rpcGetMDMTokenReq));
|
||||
responseEntity = RestTemplateUtil.get(url, headers, MDMResultDTO.class);
|
||||
log.info("url:{}, header:{}, response:{}", url, JSONObject.toJSONString(headers), JSONObject.toJSONString(responseEntity));
|
||||
if (Objects.nonNull(responseEntity.getBody()) && responseEntity.getBody().isSuccess()) {
|
||||
return JSONObject.toJSONString(responseEntity.getBody().getData());
|
||||
}
|
||||
} catch (Exception e) {
|
||||
log.info("调用MDM接口出错 url{}, e{}", url, e);
|
||||
throw new ApiException(e.getMessage());
|
||||
}
|
||||
return null;
|
||||
}
|
||||
|
||||
public String getMdmAccessToken(RpcGetMdmTokenReq rpcGetMDMTokenReq) throws ApiException {
|
||||
String url = mdmBaseUrl + "/api/oauth2/accessToken";
|
||||
ResponseEntity<MDMResultDTO> responseEntity = null;
|
||||
try {
|
||||
responseEntity = RestTemplateUtil.post(url, rpcGetMDMTokenReq, MDMResultDTO.class);
|
||||
log.info("url:{}, response:{}", url, JSONObject.toJSONString(responseEntity));
|
||||
if (Objects.nonNull(responseEntity.getBody()) && responseEntity.getBody().isSuccess()) {
|
||||
AccessTokenDTO accessTokenDTO = JSONObject.parseObject(JSONObject.toJSONString(responseEntity.getBody().getData()), AccessTokenDTO.class);
|
||||
if (accessTokenDTO == null || StringUtils.isBlank(accessTokenDTO.getAccessToken())) {
|
||||
throw new ServiceException("获取Mdm token失败!");
|
||||
}
|
||||
return accessTokenDTO.getAccessToken();
|
||||
}
|
||||
} catch (Exception e) {
|
||||
log.info("获取MDM Token 出错 url:\t{}, e:\t{}", url, e);
|
||||
throw new ApiException(e.getMessage());
|
||||
}
|
||||
return null;
|
||||
}
|
||||
|
||||
}
|
||||
@@ -0,0 +1,29 @@
|
||||
package com.cool.store.service;
|
||||
|
||||
import com.cool.store.request.beauty.AddBeautyCameraSettingRequest;
|
||||
import com.cool.store.vo.beauty.BeautyCameraSettingVO;
|
||||
|
||||
/**
|
||||
* @author zhangchenbiao
|
||||
* @FileName: BeautyCameraSettingService
|
||||
* @Description: 美颜配置service
|
||||
* @date 2023-09-11 14:23
|
||||
*/
|
||||
public interface BeautyCameraSettingService {
|
||||
|
||||
/**
|
||||
* AddBeautyCameraSettingRequest request
|
||||
* @param userId
|
||||
* @param request
|
||||
* @return
|
||||
*/
|
||||
Long saveBeautyCameraSetting(String userId, AddBeautyCameraSettingRequest request);
|
||||
|
||||
/**
|
||||
* 获取美颜配置
|
||||
* @param userId
|
||||
* @return
|
||||
*/
|
||||
BeautyCameraSettingVO queryBeautyCameraSetting(String userId);
|
||||
|
||||
}
|
||||
@@ -1,10 +1,12 @@
|
||||
package com.cool.store.service;
|
||||
|
||||
import com.cool.store.entity.HyPartnerFraSourceDO;
|
||||
import com.cool.store.exception.ApiException;
|
||||
import com.cool.store.request.CreateQualifyVerifyReq;
|
||||
import com.cool.store.request.QualificationCallbackReq;
|
||||
|
||||
import java.io.IOException;
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* @Author: young.yu
|
||||
@@ -15,4 +17,7 @@ public interface FlowService {
|
||||
void createQualifyVerify(CreateQualifyVerifyReq request) throws ApiException, IOException;
|
||||
|
||||
void qualificationCallback(QualificationCallbackReq request) throws ApiException;
|
||||
|
||||
List<HyPartnerFraSourceDO> getDictList();
|
||||
|
||||
}
|
||||
|
||||
@@ -6,6 +6,7 @@ import com.cool.store.exception.ApiException;
|
||||
import com.cool.store.request.*;
|
||||
import com.cool.store.vo.*;
|
||||
import com.cool.store.vo.interview.InterviewVO;
|
||||
import com.cool.store.vo.partner.PartnerSimpleBaseInfoVO;
|
||||
import com.github.pagehelper.PageInfo;
|
||||
|
||||
import java.util.List;
|
||||
@@ -162,4 +163,17 @@ public interface HyPartnerLineInfoService {
|
||||
|
||||
Long checkGenerateNewLineId(Long lineId);
|
||||
|
||||
/**
|
||||
* 编辑加盟商基本信息
|
||||
* @param request
|
||||
* @return
|
||||
*/
|
||||
Integer editBaseInfo(EditBaseInfoRequest request);
|
||||
|
||||
/**
|
||||
* 获取加盟商基本信息
|
||||
* @param partnerLineId
|
||||
* @return
|
||||
*/
|
||||
PartnerSimpleBaseInfoVO queryBaseInfo(Long partnerLineId);
|
||||
}
|
||||
|
||||
@@ -0,0 +1,35 @@
|
||||
package com.cool.store.service.impl;
|
||||
|
||||
import com.cool.store.dao.BeautyCameraSettingDAO;
|
||||
import com.cool.store.entity.BeautyCameraSettingDO;
|
||||
import com.cool.store.request.beauty.AddBeautyCameraSettingRequest;
|
||||
import com.cool.store.service.BeautyCameraSettingService;
|
||||
import com.cool.store.vo.beauty.BeautyCameraSettingVO;
|
||||
import org.springframework.stereotype.Service;
|
||||
|
||||
import javax.annotation.Resource;
|
||||
|
||||
/**
|
||||
* @author zhangchenbiao
|
||||
* @FileName: BeautyCameraSettingServiceImpl
|
||||
* @Description:
|
||||
* @date 2023-09-11 14:23
|
||||
*/
|
||||
@Service
|
||||
public class BeautyCameraSettingServiceImpl implements BeautyCameraSettingService {
|
||||
|
||||
@Resource
|
||||
private BeautyCameraSettingDAO beautyCameraSettingDAO;
|
||||
|
||||
@Override
|
||||
public Long saveBeautyCameraSetting(String userId, AddBeautyCameraSettingRequest request) {
|
||||
BeautyCameraSettingDO beautyCameraSettingDO = AddBeautyCameraSettingRequest.convertDO(userId, request);
|
||||
return beautyCameraSettingDAO.insertOrUpdateBeautyCameraSetting(beautyCameraSettingDO);
|
||||
}
|
||||
|
||||
@Override
|
||||
public BeautyCameraSettingVO queryBeautyCameraSetting(String userId) {
|
||||
BeautyCameraSettingDO beautyCameraSetting = beautyCameraSettingDAO.getBeautyCameraSetting(userId);
|
||||
return BeautyCameraSettingVO.convertVO(beautyCameraSetting);
|
||||
}
|
||||
}
|
||||
@@ -86,8 +86,8 @@ public class EcSyncServiceImpl implements EcSyncService {
|
||||
try {
|
||||
insertSelectiveSync(customerInfoItem);
|
||||
} catch (Exception e) {
|
||||
e.printStackTrace();
|
||||
sendFeiShuRobotMessage("推送:" + JSONObject.toJSONString(e), "27243d49-97ca-4981-8aec-7c3bf84eb660");
|
||||
log.error("ec同步至招商小程序报错"+JSONObject.toJSONString(e));
|
||||
sendFeiShuRobotMessage("推送:"+JSONObject.toJSONString(e),"27243d49-97ca-4981-8aec-7c3bf84eb660");
|
||||
}
|
||||
}
|
||||
return false;
|
||||
@@ -158,8 +158,7 @@ public class EcSyncServiceImpl implements EcSyncService {
|
||||
}
|
||||
String newPartnerId = UUIDUtils.get32UUID();
|
||||
HyPartnerUserInfoDO resultUser = new HyPartnerUserInfoDO();
|
||||
resultUser.setUsername(customerInfoItem.getName()).setMobile(customerInfoItem.getMobile()).setUserChannelId(Convert.toInt(channelId));
|
||||
|
||||
resultUser.setUsername(customerInfoItem.getName()).setMobile(customerInfoItem.getMobile()).setUserChannelId(Convert.toInt(channelId)).setEcWantShopArea(customerInfoItem.getEcWantShopArea());
|
||||
HyPartnerLineInfoDO resultLine = new HyPartnerLineInfoDO();
|
||||
String followUserName = customerInfoItem.getFollowUserName();
|
||||
String followUserMobile = customerInfoItem.getFollowUserMobile();
|
||||
@@ -249,6 +248,9 @@ public class EcSyncServiceImpl implements EcSyncService {
|
||||
setCreateTime(new Date());
|
||||
hyPartnerBaseInfoDAO.insertSelective(resultBase);
|
||||
}
|
||||
newUserInfo.setEcWantShopArea(resultUser.getEcWantShopArea());
|
||||
//添加ec意向区域同步
|
||||
hyPartnerUserInfoDAO.updateByPrimaryKeySelective(newUserInfo);
|
||||
} else {
|
||||
resultUser.setPartnerId(newPartnerId).setCreateTime(new Date());
|
||||
hyPartnerUserInfoDAO.insertSelective(resultUser);
|
||||
|
||||
@@ -16,7 +16,10 @@ import com.cool.store.dto.log.LogBasicDTO;
|
||||
import com.cool.store.dto.mdm.AccessTokenDTO;
|
||||
import com.cool.store.dto.response.MDMResultDTO;
|
||||
import com.cool.store.entity.*;
|
||||
import com.cool.store.enums.*;
|
||||
import com.cool.store.enums.ErrorCodeEnum;
|
||||
import com.cool.store.enums.InspectionTyeEnum;
|
||||
import com.cool.store.enums.OperateTypeEnum;
|
||||
import com.cool.store.enums.WorkflowStatusEnum;
|
||||
import com.cool.store.exception.ApiException;
|
||||
import com.cool.store.exception.ServiceException;
|
||||
import com.cool.store.mapper.*;
|
||||
@@ -24,7 +27,10 @@ import com.cool.store.oss.OSSServer;
|
||||
import com.cool.store.request.*;
|
||||
import com.cool.store.request.data.flow.KeyText;
|
||||
import com.cool.store.request.data.flow.SkrRelshipProve;
|
||||
import com.cool.store.service.*;
|
||||
import com.cool.store.service.FlowService;
|
||||
import com.cool.store.service.HyPartnerLineInfoService;
|
||||
import com.cool.store.service.LogService;
|
||||
import com.cool.store.service.SmsService;
|
||||
import com.cool.store.utils.*;
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
import org.apache.commons.lang3.StringUtils;
|
||||
@@ -99,8 +105,12 @@ public class FlowServiceImpl implements FlowService {
|
||||
private HyInspectionMapper inspectionMapper;
|
||||
@Autowired
|
||||
private WechatMiniAppService wechatMiniAppService;
|
||||
|
||||
@Autowired
|
||||
private HyPartnerFraSourceMapper hyPartnerFraSourceMapper;
|
||||
|
||||
@Override
|
||||
@Transactional
|
||||
@Transactional(rollbackFor = Exception.class)
|
||||
public void createQualifyVerify(CreateQualifyVerifyReq request) throws ApiException, IOException {
|
||||
//根据面试id获取面试信息
|
||||
HyPartnerInterviewDO hyPartnerInterviewDO = hyPartnerInterviewMapper.selectByPrimaryKeySelective(request.getInterviewId());
|
||||
@@ -114,10 +124,7 @@ public class FlowServiceImpl implements FlowService {
|
||||
//1.发起加盟商资质审核
|
||||
RpcCreateQualifyVerifyReq rpcRequest = new RpcCreateQualifyVerifyReq();
|
||||
RpcCreateQualifyVerifyReq.Data dataBody = new RpcCreateQualifyVerifyReq().new Data();
|
||||
KeyText fraSource = new KeyText();
|
||||
fraSource.setKey("HSAYPartner");
|
||||
fraSource.setText("沪上阿姨合伙人");
|
||||
dataBody.setFraSource(fraSource);
|
||||
dataBody.setFraSource(request.getFraSource());
|
||||
//copy properties
|
||||
BeanUtil.copyProperties(request, dataBody);
|
||||
//日期格式问题
|
||||
@@ -218,6 +225,24 @@ public class FlowServiceImpl implements FlowService {
|
||||
hyPartnerLineInfoDO.setDevelopmentDirector(request.getDevtDirectorId());
|
||||
hyPartnerLineInfoMapper.updateByPrimaryKeySelective(hyPartnerLineInfoDO);
|
||||
}
|
||||
//3. 生成通过函并修改数据库相关信息
|
||||
String verifyCity = hyPartnerInterviewMapper.getVerifyCityByInterviewId(request.getInterviewId());
|
||||
String[] split = verifyCity.split("/");
|
||||
//根据长度来取市级行政区域
|
||||
if (split.length == 2) {
|
||||
verifyCity = split[1];
|
||||
} else if (split.length == 3) {
|
||||
verifyCity = split[1];
|
||||
} else if (split.length == 4) {
|
||||
verifyCity = split[2];
|
||||
} else {
|
||||
throw new ServiceException(ErrorCodeEnum.INTENT_INFO_NOT_EXIST);
|
||||
}
|
||||
// TODO pass_reason 暂无
|
||||
//将通过时间修改为本系统处理回调的时间,不以 request 的 modifiedTime 为准(有误)
|
||||
String partnerName = request.getIntentionSignerUsername();
|
||||
//TODO 问题:如果因为 pdf 生成失败或者其他原因导致异常,但是由于 MDM 只是做回调,不对回调是否成功负责,会导致流程信息缺失
|
||||
genPassLetterAndUpdateDB(partnerName, verifyCity, new Date(), request.getInterviewId());
|
||||
//记录日志
|
||||
CreateQualifyVerifyDTO log = CreateQualifyVerifyDTO.builder().mobile(operator.getMobile()).operateUserId(operator.getUserId()).operateUsername(operator.getName()).operateTime(DateUtil.format(new Date(), CoolDateUtils.DATE_FORMAT_SEC))
|
||||
.summary(request.getSummary()).qualiVerifyContent(JSON.toJSONString(partnerCertificationInfoDO)).build();
|
||||
@@ -246,27 +271,10 @@ public class FlowServiceImpl implements FlowService {
|
||||
if ("FINISHED".equals(request.getInstanceStatus())) {
|
||||
//更新面试状态
|
||||
interviewDAO.updateInterviewWorkflowStatus(interviewPlanId, WorkflowStatusEnum.INTERVIEW_6);
|
||||
//2. 准备需要的信息
|
||||
String partnerName = request.getIntendedSigner();
|
||||
String verifyCity = hyPartnerInterviewMapper.getVerifyCityByInterviewId(interviewId);
|
||||
String[] split = verifyCity.split("/");
|
||||
//根据长度来取市级行政区域
|
||||
if (split.length == 2) {
|
||||
verifyCity = split[1];
|
||||
} else if (split.length == 3) {
|
||||
verifyCity = split[1];
|
||||
} else if (split.length == 4) {
|
||||
verifyCity = split[2];
|
||||
} else {
|
||||
throw new ServiceException(ErrorCodeEnum.INTENT_INFO_NOT_EXIST);
|
||||
}
|
||||
// TODO pass_reason 暂无
|
||||
//将通过时间修改为本系统处理回调的时间,不以 request 的 modifiedTime 为准(有误)
|
||||
Date passDate = new Date();
|
||||
//3. 生成通过函并修改数据库相关信息
|
||||
//TODO 问题:如果因为 pdf 生成失败或者其他原因导致异常,但是由于 MDM 只是做回调,不对回调是否成功负责,会导致流程信息缺失
|
||||
genPassLetterAndUpdateDB(partnerName, verifyCity, passDate, interviewId);
|
||||
//4. 向面试稽核表中新增一条信息
|
||||
//4. 向面试稽核表中新增一条信息
|
||||
HyInspectionDO hyInspectionDO = new HyInspectionDO();
|
||||
hyInspectionDO.setInterviewPlanId(Long.parseLong(interviewPlanId));
|
||||
hyInspectionDO.setCreateTime(DateUtil.formatDateTime(passDate));
|
||||
|
||||
@@ -23,9 +23,9 @@ import com.cool.store.utils.RedisUtilPool;
|
||||
import com.cool.store.utils.StringUtil;
|
||||
import com.cool.store.vo.*;
|
||||
import com.cool.store.vo.interview.InterviewVO;
|
||||
import com.cool.store.vo.partner.PartnerSimpleBaseInfoVO;
|
||||
import com.github.pagehelper.PageHelper;
|
||||
import com.github.pagehelper.PageInfo;
|
||||
import com.google.common.collect.Lists;
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
import org.apache.commons.collections4.CollectionUtils;
|
||||
import org.apache.commons.lang3.StringUtils;
|
||||
@@ -93,6 +93,8 @@ public class HyPartnerLineInfoServiceImpl implements HyPartnerLineInfoService {
|
||||
private SmsService smsService;
|
||||
@Resource
|
||||
HyFollowTaskDAO hyFollowTaskDAO;
|
||||
@Resource
|
||||
private HyPartnerIntentInfoDAO hyPartnerIntentInfoDAO;
|
||||
|
||||
@Autowired
|
||||
private WechatMiniAppService wechatMiniAppService;
|
||||
@@ -888,6 +890,54 @@ public class HyPartnerLineInfoServiceImpl implements HyPartnerLineInfoService {
|
||||
return hyPartnerLineInfoDO.getId();
|
||||
}
|
||||
|
||||
@Override
|
||||
@Transactional(rollbackFor = Exception.class)
|
||||
public Integer editBaseInfo(EditBaseInfoRequest request) {
|
||||
HyPartnerLineInfoDO lineInfo = hyPartnerLineInfoDAO.selectByPrimaryKeySelective(request.getPartnerLineId());
|
||||
if(Objects.isNull(lineInfo)){
|
||||
throw new ServiceException(ErrorCodeEnum.LINE_ID_IS_NOT_EXIST);
|
||||
}
|
||||
HyPartnerUserInfoDO partnerUserInfo = hyPartnerUserInfoDAO.selectByMobile(request.getMobile());
|
||||
if(Objects.nonNull(partnerUserInfo) && !lineInfo.getPartnerId().equals(partnerUserInfo.getPartnerId())){
|
||||
throw new ServiceException(ErrorCodeEnum.PARTNER_MOBILE_EXIST_0);
|
||||
}
|
||||
HyPartnerUserInfoDO update = new HyPartnerUserInfoDO();
|
||||
update.setPartnerId(lineInfo.getPartnerId());
|
||||
update.setUsername(request.getUsername());
|
||||
update.setMobile(request.getMobile());
|
||||
update.setWantShopArea(request.getWantShopArea());
|
||||
update.setAcceptAdjustType(request.getAcceptAdjustType());
|
||||
hyPartnerUserInfoDAO.updateByPartnerId(update);
|
||||
hyPartnerBaseInfoDAO.updateByPartnerId(request.getUsername(), request.getMobile(), lineInfo.getPartnerId());
|
||||
HyPartnerIntentInfoDO updateIntentInfo = new HyPartnerIntentInfoDO();
|
||||
updateIntentInfo.setPartnerLineId(request.getPartnerLineId());
|
||||
updateIntentInfo.setAcceptAdjustType(request.getAcceptAdjustType());
|
||||
updateIntentInfo.setWantShopArea(request.getWantShopArea());
|
||||
hyPartnerIntentInfoDAO.updateByPartnerLineId(updateIntentInfo);
|
||||
return null;
|
||||
}
|
||||
|
||||
@Override
|
||||
public PartnerSimpleBaseInfoVO queryBaseInfo(Long partnerLineId) {
|
||||
HyPartnerLineInfoDO lineInfo = hyPartnerLineInfoDAO.selectByPrimaryKeySelective(partnerLineId);
|
||||
if(Objects.isNull(lineInfo)){
|
||||
return null;
|
||||
}
|
||||
HyPartnerUserInfoDO partnerUserInfo = hyPartnerUserInfoDAO.selectByPartnerId(lineInfo.getPartnerId());
|
||||
HyPartnerBaseInfoDO partnerBaseInfo = hyPartnerBaseInfoDAO.getByPartnerLineId(partnerLineId);
|
||||
PartnerSimpleBaseInfoVO result = PartnerSimpleBaseInfoVO.convertVO(partnerLineId, partnerUserInfo);
|
||||
String userPortrait = Optional.ofNullable(partnerBaseInfo).map(o->o.getUserPortrait()).orElse(null);
|
||||
if (StringUtils.isNotEmpty(userPortrait) && Objects.nonNull(result)){
|
||||
Map<Long, String> userPortraitMap = labelService.getUserPortraitMap(Arrays.asList(userPortrait));
|
||||
List<UserPortraitDTO> userPortraitList = userPortraitMap.entrySet().stream()
|
||||
.map(entry -> new UserPortraitDTO(entry.getKey(), entry.getValue()))
|
||||
.collect(Collectors.toList());
|
||||
result.setPartnerBaseInfoId(partnerBaseInfo.getId());
|
||||
result.setUserPortrait(userPortraitList);
|
||||
}
|
||||
return result;
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* convertPartnerBlackListDTOToVo
|
||||
|
||||
@@ -186,7 +186,10 @@ public class InterviewServiceImpl implements InterviewService {
|
||||
// }
|
||||
|
||||
//有可能还未同意面试预约,这时候没有建立日程,只需要修改面试官
|
||||
if (interviewInfo.getFeishuCalendarId() != null && interviewInfo.getFeishuScheduleId() != null) {
|
||||
//1.4 优化多次转让,线索转让次数 >= 1 无需添加日程,只转让线索的招商经理及面试官
|
||||
Integer transferTimes = hyPartnerLineInfoMapper.getTransferTimes(request.getPartnerLineId());
|
||||
if (interviewInfo.getFeishuCalendarId() != null && interviewInfo.getFeishuScheduleId() != null
|
||||
&& transferTimes < 1) {
|
||||
//V1.3 需求变更为将新面试官拉入原面试官日程,而非删除和新增日程
|
||||
//1. 原面试官面试日程信息
|
||||
String oldInterviewerId = CurrentUserHolder.getUserId();
|
||||
|
||||
@@ -103,6 +103,12 @@ public class WechatMiniAppServiceImpl implements WechatMiniAppService {
|
||||
// 微信未授权过
|
||||
if(hyPartnerUserPlatformBindDO == null){
|
||||
hyPartnerUserInfoDO = hyPartnerUserInfoDAO.selectByMobile(phoneInfoDTO.getPhoneInfo().getPhoneNumber());
|
||||
if(hyPartnerUserInfoDO != null){
|
||||
HyPartnerUserPlatformBindDO hy = hyPartnerUserPlatformBindDAO.getByPartnerId(hyPartnerUserInfoDO.getPartnerId());
|
||||
if (hy!=null){
|
||||
throw new ServiceException(ErrorCodeEnum.MOBILE_WECHAT_EXIST);
|
||||
}
|
||||
}
|
||||
if(hyPartnerUserInfoDO == null){
|
||||
hyPartnerUserInfoDO = new HyPartnerUserInfoDO();
|
||||
hyPartnerUserInfoDO.setMobile(phoneInfoDTO.getPhoneInfo().getPhoneNumber());
|
||||
|
||||
@@ -52,7 +52,7 @@ public class Swagger2Config {
|
||||
.groupName(groupName)
|
||||
.select()
|
||||
.apis(this.scanBasePackage(packages))
|
||||
.paths(PathSelectors.regex(".*/getPartnerIntentInfo|.*/queryPartnerClerkInfoList|.*/queryPartnerBaseInfo"))
|
||||
//.paths(PathSelectors.regex(".*/getPartnerIntentInfo|.*/queryPartnerClerkInfoList|.*/queryPartnerBaseInfo"))
|
||||
.build()
|
||||
.globalOperationParameters(pars);
|
||||
}
|
||||
|
||||
@@ -0,0 +1,41 @@
|
||||
package com.cool.store.controller;
|
||||
|
||||
import com.cool.store.context.CurrentUserHolder;
|
||||
import com.cool.store.request.beauty.AddBeautyCameraSettingRequest;
|
||||
import com.cool.store.response.ResponseResult;
|
||||
import com.cool.store.service.BeautyCameraSettingService;
|
||||
import com.cool.store.vo.beauty.BeautyCameraSettingVO;
|
||||
import io.swagger.annotations.Api;
|
||||
import org.springframework.web.bind.annotation.PostMapping;
|
||||
import org.springframework.web.bind.annotation.RequestBody;
|
||||
import org.springframework.web.bind.annotation.RequestMapping;
|
||||
import org.springframework.web.bind.annotation.RestController;
|
||||
|
||||
import javax.annotation.Resource;
|
||||
|
||||
/**
|
||||
* @author zhangchenbiao
|
||||
* @FileName: BeautyCameraSettingController
|
||||
* @Description: 美颜配置
|
||||
* @date 2023-09-11 14:21
|
||||
*/
|
||||
@RestController
|
||||
@Api(tags = "美颜配置")
|
||||
public class BeautyCameraSettingController {
|
||||
|
||||
@Resource
|
||||
private BeautyCameraSettingService beautyCameraSettingService;
|
||||
|
||||
|
||||
@PostMapping("/saveBeautyCameraSetting")
|
||||
public ResponseResult<Long> saveBeautyCameraSetting(@RequestBody AddBeautyCameraSettingRequest request){
|
||||
Long result = beautyCameraSettingService.saveBeautyCameraSetting(CurrentUserHolder.getUserId(), request);
|
||||
return ResponseResult.success(result);
|
||||
}
|
||||
|
||||
@PostMapping("/queryBeautyCameraSetting")
|
||||
public ResponseResult<BeautyCameraSettingVO> queryBeautyCameraSetting(){
|
||||
return ResponseResult.success(beautyCameraSettingService.queryBeautyCameraSetting(CurrentUserHolder.getUserId()));
|
||||
}
|
||||
|
||||
}
|
||||
@@ -11,6 +11,7 @@ import com.cool.store.response.ResponseResult;
|
||||
import com.cool.store.service.*;
|
||||
import com.cool.store.vo.*;
|
||||
import com.cool.store.vo.interview.InterviewVO;
|
||||
import com.cool.store.vo.partner.PartnerSimpleBaseInfoVO;
|
||||
import com.github.pagehelper.PageInfo;
|
||||
import io.swagger.annotations.ApiImplicitParam;
|
||||
import io.swagger.annotations.ApiImplicitParams;
|
||||
@@ -314,4 +315,16 @@ public class DeskController {
|
||||
@RequestParam(value = "needDevelopmentDirector",required = false)Boolean needDevelopmentDirector) throws ApiException {
|
||||
return ResponseResult.success(hyPartnerLineInfoService.getInterviewInfo(lineId,needDevelopmentDirector));
|
||||
}
|
||||
|
||||
@PostMapping(path = "/editBaseInfo")
|
||||
@ApiOperation("修改接口")
|
||||
public ResponseResult<Integer> editBaseInfo(@RequestBody EditBaseInfoRequest request){
|
||||
return ResponseResult.success(hyPartnerLineInfoService.editBaseInfo(request));
|
||||
}
|
||||
|
||||
@GetMapping(path = "/queryBaseInfo")
|
||||
@ApiOperation("获取数据接口")
|
||||
public ResponseResult<PartnerSimpleBaseInfoVO> queryBaseInfo(@RequestParam(value = "partnerLineId")Long partnerLineId){
|
||||
return ResponseResult.success(hyPartnerLineInfoService.queryBaseInfo(partnerLineId));
|
||||
}
|
||||
}
|
||||
|
||||
@@ -9,10 +9,7 @@ import com.cool.store.service.FlowService;
|
||||
import io.swagger.annotations.Api;
|
||||
import io.swagger.annotations.ApiOperation;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.web.bind.annotation.PostMapping;
|
||||
import org.springframework.web.bind.annotation.RequestBody;
|
||||
import org.springframework.web.bind.annotation.RequestMapping;
|
||||
import org.springframework.web.bind.annotation.RestController;
|
||||
import org.springframework.web.bind.annotation.*;
|
||||
|
||||
import java.io.IOException;
|
||||
|
||||
@@ -28,6 +25,8 @@ public class FlowController {
|
||||
|
||||
@Autowired
|
||||
private FlowService flowService;
|
||||
|
||||
|
||||
@PostMapping("/qualifyVerify/create")
|
||||
@ApiOperation("发起加盟商资质审核")
|
||||
public ResponseResult createQualifyVerify(@RequestBody CreateQualifyVerifyReq request) throws ApiException, IOException {
|
||||
@@ -42,4 +41,10 @@ public class FlowController {
|
||||
return ResponseResult.success();
|
||||
}
|
||||
|
||||
@GetMapping("/dictList")
|
||||
@ApiOperation("获取资质审核数据来源")
|
||||
public ResponseResult getDictList(){
|
||||
return ResponseResult.success(flowService.getDictList());
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user