解析JSON字符串

JSONObject jsonResult=(JSONObject)result.getResult();
customer.setUniqueid(jsonResult.get("uniqueid").toString());


脱敏
JSONObject jsonObject = JSONObject.parseObject(DesensitizatUtils.jsonDesensitization(JsonUtils.toJson(result),"dataKey:MOBILE"));
result.setResult(jsonObject.get("result"));


JSONArray jsonArray =JSONArray.parseArray(JSON.toJSONString(jsonMobile.get("list"), SerializerFeature.WRITE_MAP_NULL_FEATURES));

 使用SerializerFeature.WRITE_MAP_NULL_FEATURES,当JSON.toJSONString时,内部为value为null的key可能会被清除掉.
需要使用序列化的代码来防止这种情况的发生.

使用Ctrl+R可以替换全局字符串

@NotBlank标签 需要在入参是搭配@Valid使用

/** 模板编码 */
@NotBlank(message = "模板编码不能为空")
private String templateCode;

public ApiResult send(@Valid @RequestBody SmsSendBO smsSendBO)才能生效


使用枚举值
String key = jsonObject.get("custLevelCode").toString();
/*通过枚举取custLevelCode对应的color值*/
jsonObject.put("color", ColorTagEnum.valueOf(key).getColor());

/**
* 客户价值标签颜色枚举
* @Author: renhao.chen
* @Date: 2019/11/21 17:33
*/
public enum ColorTagEnum {
/** KO 淘汰*/
KO("KO", "#c9c9c9","淘汰"),

/** V1 劣马 */
V1("V1", "#99cccc","劣马"),

/** V2 铁马*/
V2("V2", "#009dd9","淘汰"),

/** V3 铜马 */
V3("V3", "#33ccff","劣马"),

/** V4 银马*/
V4("V4", "#cc66ff","淘汰"),

/** V5 金马*/
V5("V5", "#ff9933","劣马");

private String key;
private String color;
private String name;

ColorTagEnum(String key, String color, String name){
this.key = key;
this.color =color;
this.name = name;
}

/**
* 颜色值
* @return
*/
public String getColor() {
return this.color;
}

/**
* 获取中文标签
* @return
*/
public String getName() {
return this.name;
}

/**
* 获取英文标签
* @return
*/
public String getKey() {
return this.key;
}
}

desc倒序

SQL
  <!--查询全部-->
<select id="findAll" resultType="com.msxf.crm.workbench.model.workbench.VerifyRuleAll" resultMap="All">
select r.id,r.rule_content,qm.m_q as must_question_content,qn.m_n as optional_question_content,
case r.is_self when 1 then '本人' when 2 then '非本人' end as is_self_cn,
case r.is_contract when 1 then '有签署合同' when 2 then '无签署合同' end as is_contract_cn,
case r.income_type when 1 then '注册号' when 2 then '非注册号' end as income_type_cn,
r.update_name,rh.hotline_value as hotline_value_cn
from mdm_workbench_verify_rule r
LEFT join (
select a.rule_id,GROUP_CONCAT(a.order_num,'、',a.question_content) as m_q
from mdm_workbench_verify_rule_question a
where a.is_must=1 and deleted = 0
group by a.rule_id
) qm
on r.id = qm.rule_id
left join (
select b.rule_id,GROUP_CONCAT(b.order_num,'、',b.question_content) as m_n
from mdm_workbench_verify_rule_question b
where b.is_must=2 and deleted = 0
group by b.rule_id
) qn
on r.id = qn.rule_id
left join (
select h.hotline_value,rule_id
from mdm_workbench_verify_rule_hotline h
where deleted = 0
)rh
on r.id = rh.rule_id
where r.deleted = 0
</select>

mybatis中判断条件,如果是非int类型的 等于0时,不添加or status ==0会自动过滤掉0的情况.将0视为空
<if test="status != null and status != ''or status ==0 ">
and status = #{status,jdbcType=TINYINT}
</if>
posted @ 2019-11-07 15:59  ricky0001  阅读(209)  评论(0编辑  收藏  举报