Commit 5153954d authored by zuoyh's avatar zuoyh

Merge branch 'app-version-mark' into dev

parents 43a82fbe 94b7a356
package com.xxfc.platform.app.entity;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import javax.persistence.Column;
import javax.persistence.GeneratedValue;
import javax.persistence.Id;
import javax.persistence.Table;
import java.io.Serializable;
import java.util.Date;
/**
* Demo class
*
* @author zuoyh
* @date 2020/1/10
*/
@Data
@Table(name = "app_version_mark")
public class AppVersionMark implements Serializable {
private static final long serialVersionUID = 1L;
/**
* app版本标识信息表ID
*/
@Id
@GeneratedValue(generator = "JDBC")
@ApiModelProperty("app版本信息表")
private Integer id;
/**
* 标识
*/
@Column(name = "mark")
@ApiModelProperty(value = "标识")
private String mark;
/**
* 标识名称
*/
@Column(name = "mark_name")
@ApiModelProperty(value = "标识名称")
private String markName;
/**
* 标识描述
*/
@Column(name = "mark_remark")
@ApiModelProperty(value = "标识描述")
private String markRemark;
/**
* 是否删除;0-正常;1-删除
*/
@Column(name = "is_del")
@ApiModelProperty(value = "是否删除;0-正常;1-删除")
private Integer isDel;
/**
* 版本标识上传时间
*/
@Column(name = "crt_time")
@ApiModelProperty(value = "版本上传时间", hidden = true)
private Date crtTime;
/**
* 版本标识更新时间
*/
@Column(name = "upd_time")
@ApiModelProperty(value = "版本标识更新时间", hidden = true)
private Long updTime;
}
package com.xxfc.platform.app.entity.dto;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import java.util.Date;
import java.sql.Timestamp;
@Data
public class AppVersionMarkDTO {
@ApiModelProperty("app版本信息表")
private Integer id;
@ApiModelProperty(value = "标识")
private String mark;
@ApiModelProperty(value = "标识名称")
private String markName;
@ApiModelProperty(value = "标识描述")
private String markRemark;
@ApiModelProperty(value = "是否删除;0-正常;1-删除")
private Integer isDel;
@ApiModelProperty(value = "版本上传时间", hidden = true)
private Date crtTime;
@ApiModelProperty(value = "版本修改时间", hidden = true)
private Long updTime;
@ApiModelProperty(value = "操作标识 1:新增 2:修改 3:删除")
private int changeMark;
}
package com.xxfc.platform.app.vo;
import lombok.Data;
@Data
public class AppVersionMarkQuery {
private Integer page;
private Integer limit;
/**
* 标识名称
*/
private String markName;
/**
* 标识
*/
private String mark;
/**
* 标识内容
*/
private String markRemark;
}
package com.xxfc.platform.app.biz;
import com.github.wxiaoqi.security.common.biz.BaseBiz;
import com.github.wxiaoqi.security.common.msg.ObjectRestResponse;
import com.github.wxiaoqi.security.common.util.process.ResultCode;
import com.xxfc.platform.app.entity.AppVersionMark;
import com.xxfc.platform.app.entity.dto.AppVersionMarkDTO;
import com.xxfc.platform.app.mapper.AppVersionMarkMapper;
import lombok.extern.slf4j.Slf4j;
import org.apache.commons.lang3.StringUtils;
import org.springframework.beans.BeanUtils;
import org.springframework.stereotype.Service;
import java.sql.Date;
import java.text.DateFormat;
import java.text.ParsePosition;
import java.text.SimpleDateFormat;
import java.util.List;
@Service
@Slf4j
/**
* @Author: zyh
* @Date: 2020/1/10
*/
public class AppVersionMarkBiz extends BaseBiz<AppVersionMarkMapper, AppVersionMark> {
private static final int RANDOM_TWO_LENGTH = 2;
private static final int CHANGE_UPD_APP_MARK = 1;
private static final int APP_MARK_IS_DEL = 1;
private static final int CHANGE_DELETE_APP_MARK = 2;
private static final int NO_RANDOM_REAPPEAR = 50;
/**
* @Description: 新增APP版本标识
* @Param: AppVersionMarkDTO appVersionMarkDTO
* @return:
* @Author: zyh
* @Date: 2020/1/10
*/
public ObjectRestResponse addAppVersionMark(AppVersionMarkDTO appVersionMarkDTO) {
if (StringUtils.isBlank(appVersionMarkDTO.getMarkName()) || StringUtils.isBlank(appVersionMarkDTO.getMarkRemark())) {
return ObjectRestResponse.createFailedResult(ResultCode.NOTEXIST_CODE, "参数不能为空");
}
AppVersionMark appVersionMark = new AppVersionMark();
appVersionMark.setMark(getMark());
appVersionMark.setMarkName(appVersionMarkDTO.getMarkName());
appVersionMark.setMarkRemark(appVersionMarkDTO.getMarkRemark());
appVersionMark.setIsDel(0);
insertSelective(appVersionMark);
return ObjectRestResponse.succ();
}
/**
* @Description: 随机产生,判断数据库是否已经存在
* @return: 标识
* @Author: zyh
* @Date: 2020/1/10
*/
public String getMark() {
String mark = "";
for (int i = 0; i < NO_RANDOM_REAPPEAR; i++) {
mark = getCharAndNumr3(RANDOM_TWO_LENGTH);
int count = mapper.queryIsMark(mark);
if (count == 0) {
break;
}
}
return mark;
}
/**
* 生成随机数字和字母组合
*
* @param length
* @return
*/
public static String getCharAndNumr3(int length) {
StringBuffer valSb = new StringBuffer();
for (int i = 0; i < length; i++) {
// 输出字母还是数字
String charOrNum = Math.round(Math.random()) % 2 == 0 ? "char" : "num";
if ("char".equalsIgnoreCase(charOrNum)) {
// 字符串 取得大写字母还是小写字母
int choice = Math.round(Math.random()) % 2 == 0 ? 65 : 97;
valSb.append((char) (choice + Math.round(Math.random() * 25)));
} else if ("num".equalsIgnoreCase(charOrNum)) {
// 数字
valSb.append(String.valueOf(Math.round(Math.random() * 9)));
}
}
return valSb.toString();
}
/**
* @Description: app版本标识 更新以及删除
* @Param: No such property: code for class: Script1
* @return:
* @Author: zyh
* @Date: 2020/1/10
*/
public ObjectRestResponse updAppVersionMark(AppVersionMarkDTO appVersionMarkDTO) {
AppVersionMark appVersionMark = new AppVersionMark();
BeanUtils.copyProperties(appVersionMarkDTO, appVersionMark);
if (appVersionMarkDTO.getChangeMark() == CHANGE_UPD_APP_MARK) {
updateSelectiveById(appVersionMark);
} else if (appVersionMarkDTO.getChangeMark() == CHANGE_DELETE_APP_MARK) {
appVersionMark.setIsDel(APP_MARK_IS_DEL);
updateSelectiveById(appVersionMark);
}
return ObjectRestResponse.succ();
}
/**
* @Description: 查询页面展示
* @Param:
* @return: AppVersionMarkDTO appVersionMarkDTO
* @Author: zyh
* @Date: 2020/1/10
*/
public List<AppVersionMarkDTO> findVersionAppMark(String mark) {
List list = mapper.findVersionAppMark(mark);
return list;
}
}
package com.xxfc.platform.app.mapper;
import com.xxfc.platform.app.entity.AppVersionMark;
import org.apache.ibatis.annotations.Param;
import tk.mybatis.mapper.common.Mapper;
import java.sql.Timestamp;
import java.util.List;
/**
* AppVersionMark Mapper
*
* @author zyh
* @date 2020/1/10
*/
public interface AppVersionMarkMapper extends Mapper<AppVersionMark> {
int queryIsMark(@Param("mark") String mark);
void updAppVersionMark(@Param("markName") String markName,
@Param("markRemark") String markRemark,
@Param("isDel") Integer isDel,
@Param("id") Integer id,
@Param("updTime") Timestamp updTime);
List<AppVersionMark> findVersionAppMark(@Param("mark") String mark);
}
package com.xxfc.platform.app.rest;
import com.ace.cache.annotation.CacheClear;
import com.github.pagehelper.PageHelper;
import com.github.pagehelper.PageInfo;
import com.github.wxiaoqi.security.auth.client.annotation.IgnoreUserToken;
import com.github.wxiaoqi.security.common.exception.BaseException;
import com.github.wxiaoqi.security.common.msg.ObjectRestResponse;
import com.github.wxiaoqi.security.common.rest.BaseController;
import com.xxfc.platform.app.biz.AppVersionMarkBiz;
import com.xxfc.platform.app.entity.AppVersionMark;
import com.xxfc.platform.app.entity.dto.AppVersionMarkDTO;
import com.xxfc.platform.app.vo.AppVersionMarkQuery;
import lombok.extern.slf4j.Slf4j;
import org.apache.commons.lang3.StringUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;
import tk.mybatis.mapper.entity.Example;
import java.util.List;
/**
* @program: ace-security
* @author: zyh
* @create: 2020-01-10 11:24
**/
@IgnoreUserToken
@RestController
@Slf4j
@RequestMapping("version/mark")
public class AppVersionMarkController extends BaseController<AppVersionMarkBiz, AppVersionMark> {
@Autowired
private AppVersionMarkBiz appVersionMarkBiz;
/**
* @Description: 新增APP版本标识
* @Param: AppVersionMarkDTO appVersionMarkDTO
* @return:
* @Author: zyh
* @Date: 2020/1/10
*/
@PostMapping("/appMarkVersionAdd")
@CacheClear
public ObjectRestResponse addAppVersionMark(@RequestBody AppVersionMarkDTO appVersionMarkDTO) {
try {
appVersionMarkBiz.addAppVersionMark(appVersionMarkDTO);
return ObjectRestResponse.succ();
} catch (Exception e) {
log.error("新增失败[{}]", e);
throw new BaseException("新增失败");
}
}
/**
* @Description: app版本标识 更新以及删除
* @Author: zyh
* @Date: 2020/1/10
*/
@PostMapping("updAppMark")
@CacheClear
public ObjectRestResponse updAppVersionMark(@RequestBody AppVersionMarkDTO appVersionMarkDTO) {
try {
appVersionMarkBiz.updAppVersionMark(appVersionMarkDTO);
return ObjectRestResponse.succ();
} catch (Exception e) {
log.error("更新失败[{}]", e);
throw new BaseException("更新失败");
}
}
/**
* @Description: 页面展示
* @Param: AppVersionMarkQuery query 业务需求:暂时没有查询框
* @return: listJson
* @Author: zyh
* @Date: 2020/1/10
*/
@GetMapping("/findAllByQuery")
public ObjectRestResponse findAllByQuery(@RequestBody AppVersionMarkQuery query) {
Example example = new Example(AppVersionMark.class);
if (StringUtils.isNotBlank(query.getMarkName())) {
example.createCriteria().andLike("markName", "%" + query.getMarkName() + "%");
}
PageHelper.startPage(query.getPage(), query.getLimit());
List<AppVersionMark> listPage = appVersionMarkBiz.selectByExample(example);
return ObjectRestResponse.succ(PageInfo.of(listPage));
}
/**
* @Description: 單獨查詢,根据标识
* @Param: MARK標識
* @return: list
* @Author: zyh
* @Date: 2020/1/10
*/
@GetMapping("/findVersionAppMark")
public ObjectRestResponse findAllByQuery(@RequestParam("mark") String mark) {
return ObjectRestResponse.succ(appVersionMarkBiz.findVersionAppMark(mark));
}
}
<?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.xxfc.platform.app.mapper.AppVersionMarkMapper">
<select id="queryIsMark" parameterType="java.lang.String" resultType="java.lang.Integer">
SELECT
count(*)
FROM
`app_version_mark`
where
is_del=0
<if test="mark!=null and mark!=''">
and mark like concat('%',#{mark},'%')
</if>
</select>
<select id="findVersionAppMark" resultType="com.xxfc.platform.app.entity.AppVersionMark">
select * from
`app_version_mark` a
where
is_del = 0
<if test="mark!=null and mark!=''">
and mark like concat('%',#{mark},'%')
</if>
</select>
</mapper>
\ No newline at end of file
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment