diff --git a/hai-service/src/main/java/com/hai/config/HuaWeiSmsService.java b/hai-service/src/main/java/com/hai/config/HuaWeiSmsService.java new file mode 100644 index 00000000..309246a6 --- /dev/null +++ b/hai-service/src/main/java/com/hai/config/HuaWeiSmsService.java @@ -0,0 +1,158 @@ +package com.hai.config; + +import com.fasterxml.jackson.databind.ObjectMapper; +import com.hai.common.exception.ErrorCode; +import com.hai.common.exception.ErrorHelp; +import com.hai.common.exception.SysCode; +import com.hai.common.utils.RedisUtil; +import com.hai.model.MtSmsMessageModel; +import org.springframework.stereotype.Component; + +import javax.annotation.Resource; +import javax.net.ssl.*; +import java.io.*; +import java.net.URL; +import java.security.cert.CertificateException; +import java.security.cert.X509Certificate; +import java.util.ArrayList; +import java.util.HashMap; +import java.util.List; +import java.util.Map; + +@Component +public class HuaWeiSmsService { + + @Resource + private RedisUtil redisUtil; + + private static String requestUrl = "https://139.9.32.119:18312/common/sms/sendTemplateMessage"; + private static String account = "760887"; + private static String password = "Z.o'&mO%7_?5M,Br"; + + + public void sendGasPriceInsufficient(String phone,String gasName) { + try { + + // ip:port根据实际情况填写 + String smsTemplateId = "SMS_22070500005"; + Map templateParas = new HashMap(); + templateParas.put("name", gasName); + + // If the request body does not contain the signature name, set signature to null. + Map body = buildRequestBody(phone, smsTemplateId, templateParas, account, password); + if (null == body || body.isEmpty()) { + throw ErrorHelp.genException(SysCode.System, ErrorCode.COMMON_ERROR, "初始化短信请求失败"); + } + + HttpsURLConnection connection = null; + InputStream is = null; + BufferedReader br = null; + trustAllHttpsCertificates(); + try { + URL realUrl = new URL(requestUrl); + connection = (HttpsURLConnection) realUrl.openConnection(); + connection.setHostnameVerifier(DO_NOT_VERIFY); + connection.setDoInput(true); // 设置可输入 + connection.setDoOutput(true); // 设置该连接是可以输出的 + connection.setRequestMethod("POST"); // 设置请求方式 + connection.setRequestProperty("Content-Type", "application/json;charset=UTF-8"); + // connection.connect(); + ObjectMapper objectMapper = new ObjectMapper(); + PrintWriter pw = new PrintWriter(new OutputStreamWriter(connection.getOutputStream(), "UTF-8")); + pw.write(objectMapper.writeValueAsString(body)); + pw.flush(); + pw.close(); + + br = new BufferedReader(new InputStreamReader(connection.getInputStream(), "utf-8")); + int status = connection.getResponseCode(); + if (200 == status) { // 200 + is = connection.getInputStream(); + } else { // 400/401 + is = connection.getErrorStream(); + } + br = new BufferedReader(new InputStreamReader(is, "UTF-8")); + String line = null; + StringBuilder result = new StringBuilder(); + while ((line = br.readLine()) != null) { // 读取数据 + result.append(line + ""); + } + connection.disconnect(); + } catch (Exception e) { + e.printStackTrace(); + } finally { + try { + if (null != is) { + is.close(); + } + if (null != br) { + br.close(); + } + } catch (Exception e) { + e.printStackTrace(); + } + } + } catch (Exception e) { + throw ErrorHelp.genException(SysCode.System, ErrorCode.COMMON_ERROR, "短信发送失败"); + } + } + + /** + * 设置不验证主机 + */ + private static final HostnameVerifier DO_NOT_VERIFY = new HostnameVerifier() { + @Override + public boolean verify(String hostname, SSLSession session) { + return true; + } + }; + + // msisdn, smsTemplateId, paramValues, countryID + public static Map buildRequestBody(String msisdn, String smsTemplateId, + Map paramValues, String accout, String passward) { + if (null == msisdn || null == smsTemplateId || null == accout || null == passward) { + System.out.println( + "buildRequestBody(): mobiles, templateId or templateParas or account or password is null."); + return null; + } + + + Map map = new HashMap(); + List requestLists = new ArrayList(); + MtSmsMessageModel mtSmsMessage = new MtSmsMessageModel(); + List mobiles = new ArrayList(); + mobiles.add(msisdn); + mtSmsMessage.setMobiles(mobiles); + mtSmsMessage.setTemplateId(smsTemplateId); + mtSmsMessage.setTemplateParas(paramValues); + mtSmsMessage.setSignature("【嗨森逛】"); + requestLists.add(mtSmsMessage); + map.put("account", accout); + map.put("password", passward); + map.put("requestLists", requestLists); + return map; + } + + static void trustAllHttpsCertificates() throws Exception { + TrustManager[] trustAllCerts = new TrustManager[] { + new X509TrustManager() { + @Override + public void checkClientTrusted(X509Certificate[] chain, String authType) throws CertificateException { + return; + } + + @Override + public void checkServerTrusted(X509Certificate[] chain, String authType) throws CertificateException { + return; + } + + @Override + public X509Certificate[] getAcceptedIssuers() { + return null; + } + } + }; + SSLContext sc = SSLContext.getInstance("SSL"); + sc.init(null, trustAllCerts, null); + HttpsURLConnection.setDefaultSSLSocketFactory(sc.getSocketFactory()); + } +} diff --git a/hai-service/src/main/java/com/hai/dao/SecUserLabelMapper.java b/hai-service/src/main/java/com/hai/dao/SecUserLabelMapper.java new file mode 100644 index 00000000..1e261c91 --- /dev/null +++ b/hai-service/src/main/java/com/hai/dao/SecUserLabelMapper.java @@ -0,0 +1,113 @@ +package com.hai.dao; + +import com.hai.entity.SecUserLabel; +import com.hai.entity.SecUserLabelExample; +import java.util.List; +import org.apache.ibatis.annotations.Delete; +import org.apache.ibatis.annotations.DeleteProvider; +import org.apache.ibatis.annotations.Insert; +import org.apache.ibatis.annotations.InsertProvider; +import org.apache.ibatis.annotations.Options; +import org.apache.ibatis.annotations.Param; +import org.apache.ibatis.annotations.Result; +import org.apache.ibatis.annotations.Results; +import org.apache.ibatis.annotations.Select; +import org.apache.ibatis.annotations.SelectProvider; +import org.apache.ibatis.annotations.Update; +import org.apache.ibatis.annotations.UpdateProvider; +import org.apache.ibatis.type.JdbcType; +import org.springframework.stereotype.Repository; + +/** + * + * 代码由工具生成,请勿修改!!! + * 如果需要扩展请在其父类进行扩展 + * + **/ +@Repository +public interface SecUserLabelMapper extends SecUserLabelMapperExt { + @SelectProvider(type=SecUserLabelSqlProvider.class, method="countByExample") + long countByExample(SecUserLabelExample example); + + @DeleteProvider(type=SecUserLabelSqlProvider.class, method="deleteByExample") + int deleteByExample(SecUserLabelExample example); + + @Delete({ + "delete from sec_user_label", + "where id = #{id,jdbcType=BIGINT}" + }) + int deleteByPrimaryKey(Long id); + + @Insert({ + "insert into sec_user_label (user_id, label_id, ", + "label_name, `status`, ", + "create_time, ext_1, ", + "ext_2, ext_3)", + "values (#{userId,jdbcType=BIGINT}, #{labelId,jdbcType=BIGINT}, ", + "#{labelName,jdbcType=VARCHAR}, #{status,jdbcType=INTEGER}, ", + "#{createTime,jdbcType=TIMESTAMP}, #{ext1,jdbcType=VARCHAR}, ", + "#{ext2,jdbcType=VARCHAR}, #{ext3,jdbcType=VARCHAR})" + }) + @Options(useGeneratedKeys=true,keyProperty="id") + int insert(SecUserLabel record); + + @InsertProvider(type=SecUserLabelSqlProvider.class, method="insertSelective") + @Options(useGeneratedKeys=true,keyProperty="id") + int insertSelective(SecUserLabel record); + + @SelectProvider(type=SecUserLabelSqlProvider.class, method="selectByExample") + @Results({ + @Result(column="id", property="id", jdbcType=JdbcType.BIGINT, id=true), + @Result(column="user_id", property="userId", jdbcType=JdbcType.BIGINT), + @Result(column="label_id", property="labelId", jdbcType=JdbcType.BIGINT), + @Result(column="label_name", property="labelName", jdbcType=JdbcType.VARCHAR), + @Result(column="status", property="status", jdbcType=JdbcType.INTEGER), + @Result(column="create_time", property="createTime", jdbcType=JdbcType.TIMESTAMP), + @Result(column="ext_1", property="ext1", jdbcType=JdbcType.VARCHAR), + @Result(column="ext_2", property="ext2", jdbcType=JdbcType.VARCHAR), + @Result(column="ext_3", property="ext3", jdbcType=JdbcType.VARCHAR) + }) + List selectByExample(SecUserLabelExample example); + + @Select({ + "select", + "id, user_id, label_id, label_name, `status`, create_time, ext_1, ext_2, ext_3", + "from sec_user_label", + "where id = #{id,jdbcType=BIGINT}" + }) + @Results({ + @Result(column="id", property="id", jdbcType=JdbcType.BIGINT, id=true), + @Result(column="user_id", property="userId", jdbcType=JdbcType.BIGINT), + @Result(column="label_id", property="labelId", jdbcType=JdbcType.BIGINT), + @Result(column="label_name", property="labelName", jdbcType=JdbcType.VARCHAR), + @Result(column="status", property="status", jdbcType=JdbcType.INTEGER), + @Result(column="create_time", property="createTime", jdbcType=JdbcType.TIMESTAMP), + @Result(column="ext_1", property="ext1", jdbcType=JdbcType.VARCHAR), + @Result(column="ext_2", property="ext2", jdbcType=JdbcType.VARCHAR), + @Result(column="ext_3", property="ext3", jdbcType=JdbcType.VARCHAR) + }) + SecUserLabel selectByPrimaryKey(Long id); + + @UpdateProvider(type=SecUserLabelSqlProvider.class, method="updateByExampleSelective") + int updateByExampleSelective(@Param("record") SecUserLabel record, @Param("example") SecUserLabelExample example); + + @UpdateProvider(type=SecUserLabelSqlProvider.class, method="updateByExample") + int updateByExample(@Param("record") SecUserLabel record, @Param("example") SecUserLabelExample example); + + @UpdateProvider(type=SecUserLabelSqlProvider.class, method="updateByPrimaryKeySelective") + int updateByPrimaryKeySelective(SecUserLabel record); + + @Update({ + "update sec_user_label", + "set user_id = #{userId,jdbcType=BIGINT},", + "label_id = #{labelId,jdbcType=BIGINT},", + "label_name = #{labelName,jdbcType=VARCHAR},", + "`status` = #{status,jdbcType=INTEGER},", + "create_time = #{createTime,jdbcType=TIMESTAMP},", + "ext_1 = #{ext1,jdbcType=VARCHAR},", + "ext_2 = #{ext2,jdbcType=VARCHAR},", + "ext_3 = #{ext3,jdbcType=VARCHAR}", + "where id = #{id,jdbcType=BIGINT}" + }) + int updateByPrimaryKey(SecUserLabel record); +} \ No newline at end of file diff --git a/hai-service/src/main/java/com/hai/dao/SecUserLabelMapperExt.java b/hai-service/src/main/java/com/hai/dao/SecUserLabelMapperExt.java new file mode 100644 index 00000000..56f6116f --- /dev/null +++ b/hai-service/src/main/java/com/hai/dao/SecUserLabelMapperExt.java @@ -0,0 +1,26 @@ +package com.hai.dao; + +import org.apache.ibatis.annotations.Param; +import org.apache.ibatis.annotations.Select; + +import java.util.List; +import java.util.Map; + +/** + * mapper扩展类 + */ +public interface SecUserLabelMapperExt { + + @Select({" select" + + " b.id userId," + + " b.telephone telephone" + + " FROM sec_user_label a" + + " LEFT JOIN sec_user b on b.id = a.user_id" + + " where " + + " a.`status` = 1 " + + " and a.label_id = #{labelId}" + + " and b.company_id = #{companyId}" + + " and b.telephone is not null"}) + List> selectUserByCompanyAndLabel(@Param("companyId") Long companyId, @Param("labelId") Long labelId); + +} diff --git a/hai-service/src/main/java/com/hai/dao/SecUserLabelSqlProvider.java b/hai-service/src/main/java/com/hai/dao/SecUserLabelSqlProvider.java new file mode 100644 index 00000000..8a1ea3be --- /dev/null +++ b/hai-service/src/main/java/com/hai/dao/SecUserLabelSqlProvider.java @@ -0,0 +1,290 @@ +package com.hai.dao; + +import com.hai.entity.SecUserLabel; +import com.hai.entity.SecUserLabelExample.Criteria; +import com.hai.entity.SecUserLabelExample.Criterion; +import com.hai.entity.SecUserLabelExample; +import java.util.List; +import java.util.Map; +import org.apache.ibatis.jdbc.SQL; + +public class SecUserLabelSqlProvider { + + public String countByExample(SecUserLabelExample example) { + SQL sql = new SQL(); + sql.SELECT("count(*)").FROM("sec_user_label"); + applyWhere(sql, example, false); + return sql.toString(); + } + + public String deleteByExample(SecUserLabelExample example) { + SQL sql = new SQL(); + sql.DELETE_FROM("sec_user_label"); + applyWhere(sql, example, false); + return sql.toString(); + } + + public String insertSelective(SecUserLabel record) { + SQL sql = new SQL(); + sql.INSERT_INTO("sec_user_label"); + + if (record.getUserId() != null) { + sql.VALUES("user_id", "#{userId,jdbcType=BIGINT}"); + } + + if (record.getLabelId() != null) { + sql.VALUES("label_id", "#{labelId,jdbcType=BIGINT}"); + } + + if (record.getLabelName() != null) { + sql.VALUES("label_name", "#{labelName,jdbcType=VARCHAR}"); + } + + if (record.getStatus() != null) { + sql.VALUES("`status`", "#{status,jdbcType=INTEGER}"); + } + + if (record.getCreateTime() != null) { + sql.VALUES("create_time", "#{createTime,jdbcType=TIMESTAMP}"); + } + + if (record.getExt1() != null) { + sql.VALUES("ext_1", "#{ext1,jdbcType=VARCHAR}"); + } + + if (record.getExt2() != null) { + sql.VALUES("ext_2", "#{ext2,jdbcType=VARCHAR}"); + } + + if (record.getExt3() != null) { + sql.VALUES("ext_3", "#{ext3,jdbcType=VARCHAR}"); + } + + return sql.toString(); + } + + public String selectByExample(SecUserLabelExample example) { + SQL sql = new SQL(); + if (example != null && example.isDistinct()) { + sql.SELECT_DISTINCT("id"); + } else { + sql.SELECT("id"); + } + sql.SELECT("user_id"); + sql.SELECT("label_id"); + sql.SELECT("label_name"); + sql.SELECT("`status`"); + sql.SELECT("create_time"); + sql.SELECT("ext_1"); + sql.SELECT("ext_2"); + sql.SELECT("ext_3"); + sql.FROM("sec_user_label"); + applyWhere(sql, example, false); + + if (example != null && example.getOrderByClause() != null) { + sql.ORDER_BY(example.getOrderByClause()); + } + + return sql.toString(); + } + + public String updateByExampleSelective(Map parameter) { + SecUserLabel record = (SecUserLabel) parameter.get("record"); + SecUserLabelExample example = (SecUserLabelExample) parameter.get("example"); + + SQL sql = new SQL(); + sql.UPDATE("sec_user_label"); + + if (record.getId() != null) { + sql.SET("id = #{record.id,jdbcType=BIGINT}"); + } + + if (record.getUserId() != null) { + sql.SET("user_id = #{record.userId,jdbcType=BIGINT}"); + } + + if (record.getLabelId() != null) { + sql.SET("label_id = #{record.labelId,jdbcType=BIGINT}"); + } + + if (record.getLabelName() != null) { + sql.SET("label_name = #{record.labelName,jdbcType=VARCHAR}"); + } + + if (record.getStatus() != null) { + sql.SET("`status` = #{record.status,jdbcType=INTEGER}"); + } + + if (record.getCreateTime() != null) { + sql.SET("create_time = #{record.createTime,jdbcType=TIMESTAMP}"); + } + + if (record.getExt1() != null) { + sql.SET("ext_1 = #{record.ext1,jdbcType=VARCHAR}"); + } + + if (record.getExt2() != null) { + sql.SET("ext_2 = #{record.ext2,jdbcType=VARCHAR}"); + } + + if (record.getExt3() != null) { + sql.SET("ext_3 = #{record.ext3,jdbcType=VARCHAR}"); + } + + applyWhere(sql, example, true); + return sql.toString(); + } + + public String updateByExample(Map parameter) { + SQL sql = new SQL(); + sql.UPDATE("sec_user_label"); + + sql.SET("id = #{record.id,jdbcType=BIGINT}"); + sql.SET("user_id = #{record.userId,jdbcType=BIGINT}"); + sql.SET("label_id = #{record.labelId,jdbcType=BIGINT}"); + sql.SET("label_name = #{record.labelName,jdbcType=VARCHAR}"); + sql.SET("`status` = #{record.status,jdbcType=INTEGER}"); + sql.SET("create_time = #{record.createTime,jdbcType=TIMESTAMP}"); + sql.SET("ext_1 = #{record.ext1,jdbcType=VARCHAR}"); + sql.SET("ext_2 = #{record.ext2,jdbcType=VARCHAR}"); + sql.SET("ext_3 = #{record.ext3,jdbcType=VARCHAR}"); + + SecUserLabelExample example = (SecUserLabelExample) parameter.get("example"); + applyWhere(sql, example, true); + return sql.toString(); + } + + public String updateByPrimaryKeySelective(SecUserLabel record) { + SQL sql = new SQL(); + sql.UPDATE("sec_user_label"); + + if (record.getUserId() != null) { + sql.SET("user_id = #{userId,jdbcType=BIGINT}"); + } + + if (record.getLabelId() != null) { + sql.SET("label_id = #{labelId,jdbcType=BIGINT}"); + } + + if (record.getLabelName() != null) { + sql.SET("label_name = #{labelName,jdbcType=VARCHAR}"); + } + + if (record.getStatus() != null) { + sql.SET("`status` = #{status,jdbcType=INTEGER}"); + } + + if (record.getCreateTime() != null) { + sql.SET("create_time = #{createTime,jdbcType=TIMESTAMP}"); + } + + if (record.getExt1() != null) { + sql.SET("ext_1 = #{ext1,jdbcType=VARCHAR}"); + } + + if (record.getExt2() != null) { + sql.SET("ext_2 = #{ext2,jdbcType=VARCHAR}"); + } + + if (record.getExt3() != null) { + sql.SET("ext_3 = #{ext3,jdbcType=VARCHAR}"); + } + + sql.WHERE("id = #{id,jdbcType=BIGINT}"); + + return sql.toString(); + } + + protected void applyWhere(SQL sql, SecUserLabelExample example, boolean includeExamplePhrase) { + if (example == null) { + return; + } + + String parmPhrase1; + String parmPhrase1_th; + String parmPhrase2; + String parmPhrase2_th; + String parmPhrase3; + String parmPhrase3_th; + if (includeExamplePhrase) { + parmPhrase1 = "%s #{example.oredCriteria[%d].allCriteria[%d].value}"; + parmPhrase1_th = "%s #{example.oredCriteria[%d].allCriteria[%d].value,typeHandler=%s}"; + parmPhrase2 = "%s #{example.oredCriteria[%d].allCriteria[%d].value} and #{example.oredCriteria[%d].criteria[%d].secondValue}"; + parmPhrase2_th = "%s #{example.oredCriteria[%d].allCriteria[%d].value,typeHandler=%s} and #{example.oredCriteria[%d].criteria[%d].secondValue,typeHandler=%s}"; + parmPhrase3 = "#{example.oredCriteria[%d].allCriteria[%d].value[%d]}"; + parmPhrase3_th = "#{example.oredCriteria[%d].allCriteria[%d].value[%d],typeHandler=%s}"; + } else { + parmPhrase1 = "%s #{oredCriteria[%d].allCriteria[%d].value}"; + parmPhrase1_th = "%s #{oredCriteria[%d].allCriteria[%d].value,typeHandler=%s}"; + parmPhrase2 = "%s #{oredCriteria[%d].allCriteria[%d].value} and #{oredCriteria[%d].criteria[%d].secondValue}"; + parmPhrase2_th = "%s #{oredCriteria[%d].allCriteria[%d].value,typeHandler=%s} and #{oredCriteria[%d].criteria[%d].secondValue,typeHandler=%s}"; + parmPhrase3 = "#{oredCriteria[%d].allCriteria[%d].value[%d]}"; + parmPhrase3_th = "#{oredCriteria[%d].allCriteria[%d].value[%d],typeHandler=%s}"; + } + + StringBuilder sb = new StringBuilder(); + List oredCriteria = example.getOredCriteria(); + boolean firstCriteria = true; + for (int i = 0; i < oredCriteria.size(); i++) { + Criteria criteria = oredCriteria.get(i); + if (criteria.isValid()) { + if (firstCriteria) { + firstCriteria = false; + } else { + sb.append(" or "); + } + + sb.append('('); + List criterions = criteria.getAllCriteria(); + boolean firstCriterion = true; + for (int j = 0; j < criterions.size(); j++) { + Criterion criterion = criterions.get(j); + if (firstCriterion) { + firstCriterion = false; + } else { + sb.append(" and "); + } + + if (criterion.isNoValue()) { + sb.append(criterion.getCondition()); + } else if (criterion.isSingleValue()) { + if (criterion.getTypeHandler() == null) { + sb.append(String.format(parmPhrase1, criterion.getCondition(), i, j)); + } else { + sb.append(String.format(parmPhrase1_th, criterion.getCondition(), i, j,criterion.getTypeHandler())); + } + } else if (criterion.isBetweenValue()) { + if (criterion.getTypeHandler() == null) { + sb.append(String.format(parmPhrase2, criterion.getCondition(), i, j, i, j)); + } else { + sb.append(String.format(parmPhrase2_th, criterion.getCondition(), i, j, criterion.getTypeHandler(), i, j, criterion.getTypeHandler())); + } + } else if (criterion.isListValue()) { + sb.append(criterion.getCondition()); + sb.append(" ("); + List listItems = (List) criterion.getValue(); + boolean comma = false; + for (int k = 0; k < listItems.size(); k++) { + if (comma) { + sb.append(", "); + } else { + comma = true; + } + if (criterion.getTypeHandler() == null) { + sb.append(String.format(parmPhrase3, i, j, k)); + } else { + sb.append(String.format(parmPhrase3_th, i, j, k, criterion.getTypeHandler())); + } + } + sb.append(')'); + } + } + sb.append(')'); + } + } + + if (sb.length() > 0) { + sql.WHERE(sb.toString()); + } + } +} \ No newline at end of file diff --git a/hai-service/src/main/java/com/hai/entity/SecUser.java b/hai-service/src/main/java/com/hai/entity/SecUser.java index a973b2dd..9933f136 100644 --- a/hai-service/src/main/java/com/hai/entity/SecUser.java +++ b/hai-service/src/main/java/com/hai/entity/SecUser.java @@ -2,6 +2,7 @@ package com.hai.entity; import java.io.Serializable; import java.util.Date; +import java.util.List; /** * sec_user @@ -93,6 +94,24 @@ public class SecUser implements Serializable { private static final long serialVersionUID = 1L; private Long roleId; private boolean manager; + private List labelIdArray; + private List labelNameArray; + + public List getLabelIdArray() { + return labelIdArray; + } + + public void setLabelIdArray(List labelIdArray) { + this.labelIdArray = labelIdArray; + } + + public List getLabelNameArray() { + return labelNameArray; + } + + public void setLabelNameArray(List labelNameArray) { + this.labelNameArray = labelNameArray; + } public Long getId() { return id; diff --git a/hai-service/src/main/java/com/hai/entity/SecUserLabel.java b/hai-service/src/main/java/com/hai/entity/SecUserLabel.java new file mode 100644 index 00000000..21635b0d --- /dev/null +++ b/hai-service/src/main/java/com/hai/entity/SecUserLabel.java @@ -0,0 +1,184 @@ +package com.hai.entity; + +import java.io.Serializable; +import java.util.Date; + +/** + * sec_user_label + * @author + */ +/** + * + * 代码由工具生成 + * + **/ +public class SecUserLabel implements Serializable { + /** + * 主键 + */ + private Long id; + + /** + * 用户id + */ + private Long userId; + + /** + * 标签id + */ + private Long labelId; + + /** + * 标签名称 + */ + private String labelName; + + /** + * 状态 0:删除 1:可用 + */ + private Integer status; + + /** + * 创建时间 + */ + private Date createTime; + + private String ext1; + + private String ext2; + + private String ext3; + + private static final long serialVersionUID = 1L; + + public Long getId() { + return id; + } + + public void setId(Long id) { + this.id = id; + } + + public Long getUserId() { + return userId; + } + + public void setUserId(Long userId) { + this.userId = userId; + } + + public Long getLabelId() { + return labelId; + } + + public void setLabelId(Long labelId) { + this.labelId = labelId; + } + + public String getLabelName() { + return labelName; + } + + public void setLabelName(String labelName) { + this.labelName = labelName; + } + + public Integer getStatus() { + return status; + } + + public void setStatus(Integer status) { + this.status = status; + } + + public Date getCreateTime() { + return createTime; + } + + public void setCreateTime(Date createTime) { + this.createTime = createTime; + } + + public String getExt1() { + return ext1; + } + + public void setExt1(String ext1) { + this.ext1 = ext1; + } + + public String getExt2() { + return ext2; + } + + public void setExt2(String ext2) { + this.ext2 = ext2; + } + + public String getExt3() { + return ext3; + } + + public void setExt3(String ext3) { + this.ext3 = ext3; + } + + @Override + public boolean equals(Object that) { + if (this == that) { + return true; + } + if (that == null) { + return false; + } + if (getClass() != that.getClass()) { + return false; + } + SecUserLabel other = (SecUserLabel) that; + return (this.getId() == null ? other.getId() == null : this.getId().equals(other.getId())) + && (this.getUserId() == null ? other.getUserId() == null : this.getUserId().equals(other.getUserId())) + && (this.getLabelId() == null ? other.getLabelId() == null : this.getLabelId().equals(other.getLabelId())) + && (this.getLabelName() == null ? other.getLabelName() == null : this.getLabelName().equals(other.getLabelName())) + && (this.getStatus() == null ? other.getStatus() == null : this.getStatus().equals(other.getStatus())) + && (this.getCreateTime() == null ? other.getCreateTime() == null : this.getCreateTime().equals(other.getCreateTime())) + && (this.getExt1() == null ? other.getExt1() == null : this.getExt1().equals(other.getExt1())) + && (this.getExt2() == null ? other.getExt2() == null : this.getExt2().equals(other.getExt2())) + && (this.getExt3() == null ? other.getExt3() == null : this.getExt3().equals(other.getExt3())); + } + + @Override + public int hashCode() { + final int prime = 31; + int result = 1; + result = prime * result + ((getId() == null) ? 0 : getId().hashCode()); + result = prime * result + ((getUserId() == null) ? 0 : getUserId().hashCode()); + result = prime * result + ((getLabelId() == null) ? 0 : getLabelId().hashCode()); + result = prime * result + ((getLabelName() == null) ? 0 : getLabelName().hashCode()); + result = prime * result + ((getStatus() == null) ? 0 : getStatus().hashCode()); + result = prime * result + ((getCreateTime() == null) ? 0 : getCreateTime().hashCode()); + result = prime * result + ((getExt1() == null) ? 0 : getExt1().hashCode()); + result = prime * result + ((getExt2() == null) ? 0 : getExt2().hashCode()); + result = prime * result + ((getExt3() == null) ? 0 : getExt3().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(", userId=").append(userId); + sb.append(", labelId=").append(labelId); + sb.append(", labelName=").append(labelName); + sb.append(", status=").append(status); + sb.append(", createTime=").append(createTime); + sb.append(", ext1=").append(ext1); + sb.append(", ext2=").append(ext2); + sb.append(", ext3=").append(ext3); + sb.append(", serialVersionUID=").append(serialVersionUID); + sb.append("]"); + return sb.toString(); + } +} \ No newline at end of file diff --git a/hai-service/src/main/java/com/hai/entity/SecUserLabelExample.java b/hai-service/src/main/java/com/hai/entity/SecUserLabelExample.java new file mode 100644 index 00000000..6536e987 --- /dev/null +++ b/hai-service/src/main/java/com/hai/entity/SecUserLabelExample.java @@ -0,0 +1,803 @@ +package com.hai.entity; + +import java.util.ArrayList; +import java.util.Date; +import java.util.List; + +public class SecUserLabelExample { + protected String orderByClause; + + protected boolean distinct; + + protected List oredCriteria; + + private Integer limit; + + private Long offset; + + public SecUserLabelExample() { + oredCriteria = new ArrayList(); + } + + public void setOrderByClause(String orderByClause) { + this.orderByClause = orderByClause; + } + + public String getOrderByClause() { + return orderByClause; + } + + public void setDistinct(boolean distinct) { + this.distinct = distinct; + } + + public boolean isDistinct() { + return distinct; + } + + public List getOredCriteria() { + return oredCriteria; + } + + public void or(Criteria criteria) { + oredCriteria.add(criteria); + } + + public Criteria or() { + Criteria criteria = createCriteriaInternal(); + oredCriteria.add(criteria); + return criteria; + } + + public Criteria createCriteria() { + Criteria criteria = createCriteriaInternal(); + if (oredCriteria.size() == 0) { + oredCriteria.add(criteria); + } + return criteria; + } + + protected Criteria createCriteriaInternal() { + Criteria criteria = new Criteria(); + return criteria; + } + + public void clear() { + oredCriteria.clear(); + orderByClause = null; + distinct = false; + } + + public void setLimit(Integer limit) { + this.limit = limit; + } + + public Integer getLimit() { + return limit; + } + + public void setOffset(Long offset) { + this.offset = offset; + } + + public Long getOffset() { + return offset; + } + + protected abstract static class GeneratedCriteria { + protected List criteria; + + protected GeneratedCriteria() { + super(); + criteria = new ArrayList(); + } + + public boolean isValid() { + return criteria.size() > 0; + } + + public List getAllCriteria() { + return criteria; + } + + public List getCriteria() { + return criteria; + } + + protected void addCriterion(String condition) { + if (condition == null) { + throw new RuntimeException("Value for condition cannot be null"); + } + criteria.add(new Criterion(condition)); + } + + protected void addCriterion(String condition, Object value, String property) { + if (value == null) { + throw new RuntimeException("Value for " + property + " cannot be null"); + } + criteria.add(new Criterion(condition, value)); + } + + protected void addCriterion(String condition, Object value1, Object value2, String property) { + if (value1 == null || value2 == null) { + throw new RuntimeException("Between values for " + property + " cannot be null"); + } + criteria.add(new Criterion(condition, value1, value2)); + } + + public Criteria andIdIsNull() { + addCriterion("id is null"); + return (Criteria) this; + } + + public Criteria andIdIsNotNull() { + addCriterion("id is not null"); + return (Criteria) this; + } + + public Criteria andIdEqualTo(Long value) { + addCriterion("id =", value, "id"); + return (Criteria) this; + } + + public Criteria andIdNotEqualTo(Long value) { + addCriterion("id <>", value, "id"); + return (Criteria) this; + } + + public Criteria andIdGreaterThan(Long value) { + addCriterion("id >", value, "id"); + return (Criteria) this; + } + + public Criteria andIdGreaterThanOrEqualTo(Long value) { + addCriterion("id >=", value, "id"); + return (Criteria) this; + } + + public Criteria andIdLessThan(Long value) { + addCriterion("id <", value, "id"); + return (Criteria) this; + } + + public Criteria andIdLessThanOrEqualTo(Long value) { + addCriterion("id <=", value, "id"); + return (Criteria) this; + } + + public Criteria andIdIn(List values) { + addCriterion("id in", values, "id"); + return (Criteria) this; + } + + public Criteria andIdNotIn(List values) { + addCriterion("id not in", values, "id"); + return (Criteria) this; + } + + public Criteria andIdBetween(Long value1, Long value2) { + addCriterion("id between", value1, value2, "id"); + return (Criteria) this; + } + + public Criteria andIdNotBetween(Long value1, Long value2) { + addCriterion("id not between", value1, value2, "id"); + return (Criteria) this; + } + + public Criteria andUserIdIsNull() { + addCriterion("user_id is null"); + return (Criteria) this; + } + + public Criteria andUserIdIsNotNull() { + addCriterion("user_id is not null"); + return (Criteria) this; + } + + public Criteria andUserIdEqualTo(Long value) { + addCriterion("user_id =", value, "userId"); + return (Criteria) this; + } + + public Criteria andUserIdNotEqualTo(Long value) { + addCriterion("user_id <>", value, "userId"); + return (Criteria) this; + } + + public Criteria andUserIdGreaterThan(Long value) { + addCriterion("user_id >", value, "userId"); + return (Criteria) this; + } + + public Criteria andUserIdGreaterThanOrEqualTo(Long value) { + addCriterion("user_id >=", value, "userId"); + return (Criteria) this; + } + + public Criteria andUserIdLessThan(Long value) { + addCriterion("user_id <", value, "userId"); + return (Criteria) this; + } + + public Criteria andUserIdLessThanOrEqualTo(Long value) { + addCriterion("user_id <=", value, "userId"); + return (Criteria) this; + } + + public Criteria andUserIdIn(List values) { + addCriterion("user_id in", values, "userId"); + return (Criteria) this; + } + + public Criteria andUserIdNotIn(List values) { + addCriterion("user_id not in", values, "userId"); + return (Criteria) this; + } + + public Criteria andUserIdBetween(Long value1, Long value2) { + addCriterion("user_id between", value1, value2, "userId"); + return (Criteria) this; + } + + public Criteria andUserIdNotBetween(Long value1, Long value2) { + addCriterion("user_id not between", value1, value2, "userId"); + return (Criteria) this; + } + + public Criteria andLabelIdIsNull() { + addCriterion("label_id is null"); + return (Criteria) this; + } + + public Criteria andLabelIdIsNotNull() { + addCriterion("label_id is not null"); + return (Criteria) this; + } + + public Criteria andLabelIdEqualTo(Long value) { + addCriterion("label_id =", value, "labelId"); + return (Criteria) this; + } + + public Criteria andLabelIdNotEqualTo(Long value) { + addCriterion("label_id <>", value, "labelId"); + return (Criteria) this; + } + + public Criteria andLabelIdGreaterThan(Long value) { + addCriterion("label_id >", value, "labelId"); + return (Criteria) this; + } + + public Criteria andLabelIdGreaterThanOrEqualTo(Long value) { + addCriterion("label_id >=", value, "labelId"); + return (Criteria) this; + } + + public Criteria andLabelIdLessThan(Long value) { + addCriterion("label_id <", value, "labelId"); + return (Criteria) this; + } + + public Criteria andLabelIdLessThanOrEqualTo(Long value) { + addCriterion("label_id <=", value, "labelId"); + return (Criteria) this; + } + + public Criteria andLabelIdIn(List values) { + addCriterion("label_id in", values, "labelId"); + return (Criteria) this; + } + + public Criteria andLabelIdNotIn(List values) { + addCriterion("label_id not in", values, "labelId"); + return (Criteria) this; + } + + public Criteria andLabelIdBetween(Long value1, Long value2) { + addCriterion("label_id between", value1, value2, "labelId"); + return (Criteria) this; + } + + public Criteria andLabelIdNotBetween(Long value1, Long value2) { + addCriterion("label_id not between", value1, value2, "labelId"); + return (Criteria) this; + } + + public Criteria andLabelNameIsNull() { + addCriterion("label_name is null"); + return (Criteria) this; + } + + public Criteria andLabelNameIsNotNull() { + addCriterion("label_name is not null"); + return (Criteria) this; + } + + public Criteria andLabelNameEqualTo(String value) { + addCriterion("label_name =", value, "labelName"); + return (Criteria) this; + } + + public Criteria andLabelNameNotEqualTo(String value) { + addCriterion("label_name <>", value, "labelName"); + return (Criteria) this; + } + + public Criteria andLabelNameGreaterThan(String value) { + addCriterion("label_name >", value, "labelName"); + return (Criteria) this; + } + + public Criteria andLabelNameGreaterThanOrEqualTo(String value) { + addCriterion("label_name >=", value, "labelName"); + return (Criteria) this; + } + + public Criteria andLabelNameLessThan(String value) { + addCriterion("label_name <", value, "labelName"); + return (Criteria) this; + } + + public Criteria andLabelNameLessThanOrEqualTo(String value) { + addCriterion("label_name <=", value, "labelName"); + return (Criteria) this; + } + + public Criteria andLabelNameLike(String value) { + addCriterion("label_name like", value, "labelName"); + return (Criteria) this; + } + + public Criteria andLabelNameNotLike(String value) { + addCriterion("label_name not like", value, "labelName"); + return (Criteria) this; + } + + public Criteria andLabelNameIn(List values) { + addCriterion("label_name in", values, "labelName"); + return (Criteria) this; + } + + public Criteria andLabelNameNotIn(List values) { + addCriterion("label_name not in", values, "labelName"); + return (Criteria) this; + } + + public Criteria andLabelNameBetween(String value1, String value2) { + addCriterion("label_name between", value1, value2, "labelName"); + return (Criteria) this; + } + + public Criteria andLabelNameNotBetween(String value1, String value2) { + addCriterion("label_name not between", value1, value2, "labelName"); + return (Criteria) this; + } + + public Criteria andStatusIsNull() { + addCriterion("`status` is null"); + return (Criteria) this; + } + + public Criteria andStatusIsNotNull() { + addCriterion("`status` is not null"); + return (Criteria) this; + } + + public Criteria andStatusEqualTo(Integer value) { + addCriterion("`status` =", value, "status"); + return (Criteria) this; + } + + public Criteria andStatusNotEqualTo(Integer value) { + addCriterion("`status` <>", value, "status"); + return (Criteria) this; + } + + public Criteria andStatusGreaterThan(Integer value) { + addCriterion("`status` >", value, "status"); + return (Criteria) this; + } + + public Criteria andStatusGreaterThanOrEqualTo(Integer value) { + addCriterion("`status` >=", value, "status"); + return (Criteria) this; + } + + public Criteria andStatusLessThan(Integer value) { + addCriterion("`status` <", value, "status"); + return (Criteria) this; + } + + public Criteria andStatusLessThanOrEqualTo(Integer value) { + addCriterion("`status` <=", value, "status"); + return (Criteria) this; + } + + public Criteria andStatusIn(List values) { + addCriterion("`status` in", values, "status"); + return (Criteria) this; + } + + public Criteria andStatusNotIn(List values) { + addCriterion("`status` not in", values, "status"); + return (Criteria) this; + } + + public Criteria andStatusBetween(Integer value1, Integer value2) { + addCriterion("`status` between", value1, value2, "status"); + return (Criteria) this; + } + + public Criteria andStatusNotBetween(Integer value1, Integer value2) { + addCriterion("`status` not between", value1, value2, "status"); + return (Criteria) this; + } + + public Criteria andCreateTimeIsNull() { + addCriterion("create_time is null"); + return (Criteria) this; + } + + public Criteria andCreateTimeIsNotNull() { + addCriterion("create_time is not null"); + return (Criteria) this; + } + + public Criteria andCreateTimeEqualTo(Date value) { + addCriterion("create_time =", value, "createTime"); + return (Criteria) this; + } + + public Criteria andCreateTimeNotEqualTo(Date value) { + addCriterion("create_time <>", value, "createTime"); + return (Criteria) this; + } + + public Criteria andCreateTimeGreaterThan(Date value) { + addCriterion("create_time >", value, "createTime"); + return (Criteria) this; + } + + public Criteria andCreateTimeGreaterThanOrEqualTo(Date value) { + addCriterion("create_time >=", value, "createTime"); + return (Criteria) this; + } + + public Criteria andCreateTimeLessThan(Date value) { + addCriterion("create_time <", value, "createTime"); + return (Criteria) this; + } + + public Criteria andCreateTimeLessThanOrEqualTo(Date value) { + addCriterion("create_time <=", value, "createTime"); + return (Criteria) this; + } + + public Criteria andCreateTimeIn(List values) { + addCriterion("create_time in", values, "createTime"); + return (Criteria) this; + } + + public Criteria andCreateTimeNotIn(List values) { + addCriterion("create_time not in", values, "createTime"); + return (Criteria) this; + } + + public Criteria andCreateTimeBetween(Date value1, Date value2) { + addCriterion("create_time between", value1, value2, "createTime"); + return (Criteria) this; + } + + public Criteria andCreateTimeNotBetween(Date value1, Date value2) { + addCriterion("create_time not between", value1, value2, "createTime"); + return (Criteria) this; + } + + public Criteria andExt1IsNull() { + addCriterion("ext_1 is null"); + return (Criteria) this; + } + + public Criteria andExt1IsNotNull() { + addCriterion("ext_1 is not null"); + return (Criteria) this; + } + + public Criteria andExt1EqualTo(String value) { + addCriterion("ext_1 =", value, "ext1"); + return (Criteria) this; + } + + public Criteria andExt1NotEqualTo(String value) { + addCriterion("ext_1 <>", value, "ext1"); + return (Criteria) this; + } + + public Criteria andExt1GreaterThan(String value) { + addCriterion("ext_1 >", value, "ext1"); + return (Criteria) this; + } + + public Criteria andExt1GreaterThanOrEqualTo(String value) { + addCriterion("ext_1 >=", value, "ext1"); + return (Criteria) this; + } + + public Criteria andExt1LessThan(String value) { + addCriterion("ext_1 <", value, "ext1"); + return (Criteria) this; + } + + public Criteria andExt1LessThanOrEqualTo(String value) { + addCriterion("ext_1 <=", value, "ext1"); + return (Criteria) this; + } + + public Criteria andExt1Like(String value) { + addCriterion("ext_1 like", value, "ext1"); + return (Criteria) this; + } + + public Criteria andExt1NotLike(String value) { + addCriterion("ext_1 not like", value, "ext1"); + return (Criteria) this; + } + + public Criteria andExt1In(List values) { + addCriterion("ext_1 in", values, "ext1"); + return (Criteria) this; + } + + public Criteria andExt1NotIn(List values) { + addCriterion("ext_1 not in", values, "ext1"); + return (Criteria) this; + } + + public Criteria andExt1Between(String value1, String value2) { + addCriterion("ext_1 between", value1, value2, "ext1"); + return (Criteria) this; + } + + public Criteria andExt1NotBetween(String value1, String value2) { + addCriterion("ext_1 not between", value1, value2, "ext1"); + return (Criteria) this; + } + + public Criteria andExt2IsNull() { + addCriterion("ext_2 is null"); + return (Criteria) this; + } + + public Criteria andExt2IsNotNull() { + addCriterion("ext_2 is not null"); + return (Criteria) this; + } + + public Criteria andExt2EqualTo(String value) { + addCriterion("ext_2 =", value, "ext2"); + return (Criteria) this; + } + + public Criteria andExt2NotEqualTo(String value) { + addCriterion("ext_2 <>", value, "ext2"); + return (Criteria) this; + } + + public Criteria andExt2GreaterThan(String value) { + addCriterion("ext_2 >", value, "ext2"); + return (Criteria) this; + } + + public Criteria andExt2GreaterThanOrEqualTo(String value) { + addCriterion("ext_2 >=", value, "ext2"); + return (Criteria) this; + } + + public Criteria andExt2LessThan(String value) { + addCriterion("ext_2 <", value, "ext2"); + return (Criteria) this; + } + + public Criteria andExt2LessThanOrEqualTo(String value) { + addCriterion("ext_2 <=", value, "ext2"); + return (Criteria) this; + } + + public Criteria andExt2Like(String value) { + addCriterion("ext_2 like", value, "ext2"); + return (Criteria) this; + } + + public Criteria andExt2NotLike(String value) { + addCriterion("ext_2 not like", value, "ext2"); + return (Criteria) this; + } + + public Criteria andExt2In(List values) { + addCriterion("ext_2 in", values, "ext2"); + return (Criteria) this; + } + + public Criteria andExt2NotIn(List values) { + addCriterion("ext_2 not in", values, "ext2"); + return (Criteria) this; + } + + public Criteria andExt2Between(String value1, String value2) { + addCriterion("ext_2 between", value1, value2, "ext2"); + return (Criteria) this; + } + + public Criteria andExt2NotBetween(String value1, String value2) { + addCriterion("ext_2 not between", value1, value2, "ext2"); + return (Criteria) this; + } + + public Criteria andExt3IsNull() { + addCriterion("ext_3 is null"); + return (Criteria) this; + } + + public Criteria andExt3IsNotNull() { + addCriterion("ext_3 is not null"); + return (Criteria) this; + } + + public Criteria andExt3EqualTo(String value) { + addCriterion("ext_3 =", value, "ext3"); + return (Criteria) this; + } + + public Criteria andExt3NotEqualTo(String value) { + addCriterion("ext_3 <>", value, "ext3"); + return (Criteria) this; + } + + public Criteria andExt3GreaterThan(String value) { + addCriterion("ext_3 >", value, "ext3"); + return (Criteria) this; + } + + public Criteria andExt3GreaterThanOrEqualTo(String value) { + addCriterion("ext_3 >=", value, "ext3"); + return (Criteria) this; + } + + public Criteria andExt3LessThan(String value) { + addCriterion("ext_3 <", value, "ext3"); + return (Criteria) this; + } + + public Criteria andExt3LessThanOrEqualTo(String value) { + addCriterion("ext_3 <=", value, "ext3"); + return (Criteria) this; + } + + public Criteria andExt3Like(String value) { + addCriterion("ext_3 like", value, "ext3"); + return (Criteria) this; + } + + public Criteria andExt3NotLike(String value) { + addCriterion("ext_3 not like", value, "ext3"); + return (Criteria) this; + } + + public Criteria andExt3In(List values) { + addCriterion("ext_3 in", values, "ext3"); + return (Criteria) this; + } + + public Criteria andExt3NotIn(List values) { + addCriterion("ext_3 not in", values, "ext3"); + return (Criteria) this; + } + + public Criteria andExt3Between(String value1, String value2) { + addCriterion("ext_3 between", value1, value2, "ext3"); + return (Criteria) this; + } + + public Criteria andExt3NotBetween(String value1, String value2) { + addCriterion("ext_3 not between", value1, value2, "ext3"); + return (Criteria) this; + } + } + + /** + */ + public static class Criteria extends GeneratedCriteria { + + protected Criteria() { + super(); + } + } + + public static class Criterion { + private String condition; + + private Object value; + + private Object secondValue; + + private boolean noValue; + + private boolean singleValue; + + private boolean betweenValue; + + private boolean listValue; + + private String typeHandler; + + public String getCondition() { + return condition; + } + + public Object getValue() { + return value; + } + + public Object getSecondValue() { + return secondValue; + } + + public boolean isNoValue() { + return noValue; + } + + public boolean isSingleValue() { + return singleValue; + } + + public boolean isBetweenValue() { + return betweenValue; + } + + public boolean isListValue() { + return listValue; + } + + public String getTypeHandler() { + return typeHandler; + } + + protected Criterion(String condition) { + super(); + this.condition = condition; + this.typeHandler = null; + this.noValue = true; + } + + protected Criterion(String condition, Object value, String typeHandler) { + super(); + this.condition = condition; + this.value = value; + this.typeHandler = typeHandler; + if (value instanceof List) { + this.listValue = true; + } else { + this.singleValue = true; + } + } + + protected Criterion(String condition, Object value) { + this(condition, value, null); + } + + protected Criterion(String condition, Object value, Object secondValue, String typeHandler) { + super(); + this.condition = condition; + this.value = value; + this.secondValue = secondValue; + this.typeHandler = typeHandler; + this.betweenValue = true; + } + + protected Criterion(String condition, Object value, Object secondValue) { + this(condition, value, secondValue, null); + } + } +} \ No newline at end of file diff --git a/hai-service/src/main/java/com/hai/service/SecUserLabelService.java b/hai-service/src/main/java/com/hai/service/SecUserLabelService.java new file mode 100644 index 00000000..43736af1 --- /dev/null +++ b/hai-service/src/main/java/com/hai/service/SecUserLabelService.java @@ -0,0 +1,35 @@ +package com.hai.service; + +import com.hai.entity.SecUserLabel; + +import java.util.List; +import java.util.Map; + +/** + * @author hurui + */ +public interface SecUserLabelService { + + /** + * 编辑 + * @param userLabel + */ + void edit(SecUserLabel userLabel); + + /** + * 根据用户查询 + * @param userId + * @return + */ + List getLabelByUser(Long userId); + + /** + * 根据公司查询标签下的用户 + * @param companyId + * @param labelId + * @return + */ + List> getUserByCompanyAndLabel(Long companyId, Long labelId); + + +} diff --git a/hai-service/src/main/java/com/hai/service/impl/HighMerchantStoreAccountServiceImpl.java b/hai-service/src/main/java/com/hai/service/impl/HighMerchantStoreAccountServiceImpl.java index fc782f0d..768f19c0 100644 --- a/hai-service/src/main/java/com/hai/service/impl/HighMerchantStoreAccountServiceImpl.java +++ b/hai-service/src/main/java/com/hai/service/impl/HighMerchantStoreAccountServiceImpl.java @@ -5,16 +5,14 @@ import com.hai.common.exception.ErrorHelp; import com.hai.common.exception.SysCode; import com.hai.common.security.UserCenter; import com.hai.common.utils.BankNumberUtil; +import com.hai.config.HuaWeiSmsService; import com.hai.dao.HighMerchantStoreAccountMapper; import com.hai.entity.*; import com.hai.enum_type.MerStoreAmountTypeEnum; import com.hai.model.HighMerchantModel; import com.hai.model.HighMerchantStoreModel; import com.hai.model.UserInfoModel; -import com.hai.service.HighMerchantService; -import com.hai.service.HighMerchantStoreAccountRecordService; -import com.hai.service.HighMerchantStoreAccountService; -import com.hai.service.HighMerchantStoreService; +import com.hai.service.*; import org.apache.commons.collections4.MapUtils; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Isolation; @@ -42,6 +40,12 @@ public class HighMerchantStoreAccountServiceImpl implements HighMerchantStoreAcc @Resource private HighMerchantStoreAccountRecordService merchantStoreAccountRecordService; + @Resource + private SecUserLabelService userLabelService; + + @Resource + private HuaWeiSmsService huaWeiSmsService; + @Resource private UserCenter userCenter; @@ -100,6 +104,11 @@ public class HighMerchantStoreAccountServiceImpl implements HighMerchantStoreAcc account.setAmounts(account.getAmounts().add(amount)); // 变更后金额 BigDecimal afterAmount = account.getAmounts(); + + if (!account.getAmountsEarlyWarning().equals(new BigDecimal("0")) + && account.getAmounts().compareTo(account.getAmountsEarlyWarning()) == 1) { + account.setAmountsEarlyWarningStatus(false); + } editStoreAccount(account); HighMerchantStoreAccountRecord record = new HighMerchantStoreAccountRecord(); @@ -151,6 +160,25 @@ public class HighMerchantStoreAccountServiceImpl implements HighMerchantStoreAcc account.setAmounts(account.getAmounts().subtract(amount)); // 变更后金额 BigDecimal afterAmount = account.getAmounts(); + + if (!account.getAmountsEarlyWarning().equals(new BigDecimal("0")) + && account.getAmounts().compareTo(account.getAmountsEarlyWarning()) == -1) { + account.setAmountsEarlyWarningStatus(true); + + List> labelHfkjUserList = userLabelService.getUserByCompanyAndLabel(2L, 1L); + for (Map labelUser : labelHfkjUserList) { + // 发送短信 + huaWeiSmsService.sendGasPriceInsufficient(MapUtils.getString(labelUser, "telephone"), store.getStoreName()); + + } + + List> labelUserList = userLabelService.getUserByCompanyAndLabel(store.getCompanyId(), 1L); + for (Map labelUser : labelUserList) { + // 发送短信 + huaWeiSmsService.sendGasPriceInsufficient(MapUtils.getString(labelUser, "telephone"), store.getStoreName()); + } + + } editStoreAccount(account); HighMerchantStoreAccountRecord record = new HighMerchantStoreAccountRecord(); diff --git a/hai-service/src/main/java/com/hai/service/impl/SecUserLabelServiceImpl.java b/hai-service/src/main/java/com/hai/service/impl/SecUserLabelServiceImpl.java new file mode 100644 index 00000000..ef9cd4ca --- /dev/null +++ b/hai-service/src/main/java/com/hai/service/impl/SecUserLabelServiceImpl.java @@ -0,0 +1,42 @@ +package com.hai.service.impl; + +import com.hai.dao.SecUserLabelMapper; +import com.hai.entity.SecUserLabel; +import com.hai.entity.SecUserLabelExample; +import com.hai.service.SecUserLabelService; +import org.springframework.stereotype.Service; + +import javax.annotation.Resource; +import java.util.Date; +import java.util.List; +import java.util.Map; + +@Service("userLabelService") +public class SecUserLabelServiceImpl implements SecUserLabelService { + + @Resource + private SecUserLabelMapper userLabelMapper; + + @Override + public void edit(SecUserLabel userLabel) { + if (userLabel.getId() == null) { + userLabel.setCreateTime(new Date()); + userLabel.setStatus(1); + userLabelMapper.insert(userLabel); + } else { + userLabelMapper.updateByPrimaryKey(userLabel); + } + } + + @Override + public List getLabelByUser(Long userId) { + SecUserLabelExample example = new SecUserLabelExample(); + example.createCriteria().andUserIdEqualTo(userId).andStatusEqualTo(1); + return userLabelMapper.selectByExample(example); + } + + @Override + public List> getUserByCompanyAndLabel(Long companyId, Long labelId) { + return userLabelMapper.selectUserByCompanyAndLabel(companyId,labelId); + } +} diff --git a/hai-service/src/main/java/com/hai/service/impl/SecUserServiceImpl.java b/hai-service/src/main/java/com/hai/service/impl/SecUserServiceImpl.java index 7fa343c9..d6000a75 100644 --- a/hai-service/src/main/java/com/hai/service/impl/SecUserServiceImpl.java +++ b/hai-service/src/main/java/com/hai/service/impl/SecUserServiceImpl.java @@ -10,6 +10,8 @@ import com.hai.entity.*; import com.hai.model.SecUserModel; import com.hai.model.UserTreeModel; import com.hai.service.BsOrganizationService; +import com.hai.service.CommonService; +import com.hai.service.SecUserLabelService; import com.hai.service.SecUserService; import org.apache.commons.lang3.StringUtils; import org.springframework.stereotype.Service; @@ -36,6 +38,11 @@ public class SecUserServiceImpl implements SecUserService { @Resource private BsOrganizationService bsOrganizationService; + @Resource + private SecUserLabelService userLabelService; + + @Resource + private CommonService commonService; @Override @Transactional @@ -64,6 +71,16 @@ public class SecUserServiceImpl implements SecUserService { organization.setManagerPhone(user.getTelephone()); bsOrganizationMapper.updateByPrimaryKey(organization); } + for (Long labelId : user.getLabelIdArray()) { + String labelName = commonService.getDictionaryCodeName("USER_LABEL", labelId.toString()); + if (labelName != null) { + SecUserLabel label = new SecUserLabel(); + label.setUserId(user.getId()); + label.setLabelId(labelId); + label.setLabelName(labelName); + userLabelService.edit(label); + } + } } @Override @@ -171,6 +188,25 @@ public class SecUserServiceImpl implements SecUserService { rel.setRoleId(user.getRoleId()); secUserRoleRelMapper.insert(rel); } + // 删除用户原来标签 + List labelList = userLabelService.getLabelByUser(secUser.getId()); + for (SecUserLabel label : labelList) { + label.setStatus(0); + userLabelService.edit(label); + } + + if (user.getLabelIdArray() != null) { + for (Long labelId : user.getLabelIdArray()) { + String labelName = commonService.getDictionaryCodeName("USER_LABEL", labelId.toString()); + if (labelName != null) { + SecUserLabel label = new SecUserLabel(); + label.setUserId(user.getId()); + label.setLabelId(labelId); + label.setLabelName(labelName); + userLabelService.edit(label); + } + } + } } @Override