批量操作备注

master
382696293@qq.com 2 years ago
parent df720853c2
commit c5d7b88f5b

@ -0,0 +1,85 @@
package com.flossom.common.core.domain.entity;
import com.flossom.common.core.annotation.Excel;
import com.flossom.common.core.web.domain.BaseEntity;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;
/**
* wx_user_remark
*
* @author flossom
* @date 2023-12-21
*/
public class WxUserRemark extends BaseEntity {
private static final long serialVersionUID = 1L;
/**
* $column.columnComment
*/
private Long id;
/**
* id
*/
@Excel(name = "微信用户id")
private Long userId;
/**
*
*/
@Excel(name = "备注内容")
private String content;
/**
* 0 1
*/
@Excel(name = "状态", readConverterExp = "0=正常,1=停用")
private Integer status;
public void setId(Long id) {
this.id = id;
}
public Long getId() {
return id;
}
public void setUserId(Long userId) {
this.userId = userId;
}
public Long getUserId() {
return userId;
}
public void setContent(String content) {
this.content = content;
}
public String getContent() {
return content;
}
public void setStatus(Integer status) {
this.status = status;
}
public Integer getStatus() {
return status;
}
@Override
public String toString() {
return new ToStringBuilder(this, ToStringStyle.MULTI_LINE_STYLE)
.append("id", getId())
.append("userId", getUserId())
.append("content", getContent())
.append("status", getStatus())
.append("createBy", getCreateBy())
.append("createTime", getCreateTime())
.append("updateBy", getUpdateBy())
.append("updateTime", getUpdateTime())
.toString();
}
}

@ -0,0 +1,53 @@
package com.flossom.common.core.domain.req;
import com.flossom.common.core.web.domain.BaseEntity;
import org.hibernate.validator.constraints.Length;
import javax.validation.constraints.NotBlank;
import java.util.List;
/**
* wx_user_remark
*
* @author flossom
* @date 2023-12-21
*/
public class WxUserRemarkReq {
/**
* id
*/
private List<Long> userIdList;
/**
*
*/
@NotBlank(message = "请输入备注")
@Length(min = 0, max = 100, message = "备注内容不能为空")
private String content;
public WxUserRemarkReq() {
}
public WxUserRemarkReq(List<Long> userIdList, String content) {
this.userIdList = userIdList;
this.content = content;
}
public List<Long> getUserIdList() {
return userIdList;
}
public void setUserIdList(List<Long> userIdList) {
this.userIdList = userIdList;
}
public String getContent() {
return content;
}
public void setContent(String content) {
this.content = content;
}
}

@ -7,18 +7,18 @@ package com.flossom.common.core.enums;
*/
public enum Status
{
OK("0", "正常"), DISABLE("1", "停用"), DELETED("2", "删除");
OK(0, "正常"), DISABLE(1, "停用"), DELETED(2, "删除");
private final String code;
private final Integer code;
private final String info;
Status(String code, String info)
Status(Integer code, String info)
{
this.code = code;
this.info = info;
}
public String getCode()
public Integer getCode()
{
return code;
}

@ -0,0 +1,61 @@
package com.flossom.common.core.mapper;
import com.flossom.common.core.domain.entity.WxUserRemark;
import java.util.List;
/**
* Mapper
*
* @author flossom
* @date 2023-12-21
*/
public interface WxUserRemarkMapper {
/**
*
*
* @param id
* @return
*/
public WxUserRemark selectWxUserRemarkById(Long id);
/**
*
*
* @param wxUserRemark
* @return
*/
public List<WxUserRemark> selectWxUserRemarkList(WxUserRemark wxUserRemark);
/**
*
*
* @param wxUserRemark
* @return
*/
public int insertWxUserRemark(WxUserRemark wxUserRemark);
/**
*
*
* @param wxUserRemark
* @return
*/
public int updateWxUserRemark(WxUserRemark wxUserRemark);
/**
*
*
* @param id
* @return
*/
public int deleteWxUserRemarkById(Long id);
/**
*
*
* @param ids
* @return
*/
public int deleteWxUserRemarkByIds(Long[] ids);
}

@ -0,0 +1,82 @@
<?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.flossom.common.core.mapper.WxUserRemarkMapper">
<resultMap type="WxUserRemark" id="WxUserRemarkResult">
<result property="id" column="id" />
<result property="userId" column="user_id" />
<result property="content" column="content" />
<result property="status" column="status" />
<result property="createBy" column="create_by" />
<result property="createTime" column="create_time" />
<result property="updateBy" column="update_by" />
<result property="updateTime" column="update_time" />
</resultMap>
<sql id="selectWxUserRemarkVo">
select id, user_id, content, status, create_by, create_time, update_by, update_time from wx_user_remark
</sql>
<select id="selectWxUserRemarkList" parameterType="WxUserRemark" resultMap="WxUserRemarkResult">
<include refid="selectWxUserRemarkVo"/>
<where>
<if test="userId != null "> and user_id = #{userId}</if>
<if test="content != null and content != ''"> and content = #{content}</if>
<if test="status != null "> and status = #{status}</if>
</where>
</select>
<select id="selectWxUserRemarkById" parameterType="Long" resultMap="WxUserRemarkResult">
<include refid="selectWxUserRemarkVo"/>
where id = #{id}
</select>
<insert id="insertWxUserRemark" parameterType="WxUserRemark" useGeneratedKeys="true" keyProperty="id">
insert into wx_user_remark
<trim prefix="(" suffix=")" suffixOverrides=",">
<if test="userId != null">user_id,</if>
<if test="content != ''">content,</if>
<if test="status != null">status,</if>
<if test="createBy != null">create_by,</if>
<if test="createTime != null">create_time,</if>
<if test="updateBy != null">update_by,</if>
<if test="updateTime != null">update_time,</if>
</trim>
<trim prefix="values (" suffix=")" suffixOverrides=",">
<if test="userId != null">#{userId},</if>
<if test="content != ''">#{content},</if>
<if test="status != null">#{status},</if>
<if test="createBy != null">#{createBy},</if>
<if test="createTime != null">#{createTime},</if>
<if test="updateBy != null">#{updateBy},</if>
<if test="updateTime != null">#{updateTime},</if>
</trim>
</insert>
<update id="updateWxUserRemark" parameterType="WxUserRemark">
update wx_user_remark
<trim prefix="SET" suffixOverrides=",">
<if test="userId != null">user_id = #{userId},</if>
<if test="content != null">content = #{content},</if>
<if test="status != null">status = #{status},</if>
<if test="createBy != null">create_by = #{createBy},</if>
<if test="createTime != null">create_time = #{createTime},</if>
<if test="updateBy != null">update_by = #{updateBy},</if>
<if test="updateTime != null">update_time = #{updateTime},</if>
</trim>
where id = #{id}
</update>
<delete id="deleteWxUserRemarkById" parameterType="Long">
delete from wx_user_remark where id = #{id}
</delete>
<delete id="deleteWxUserRemarkByIds" parameterType="String">
delete from wx_user_remark where id in
<foreach item="id" collection="array" open="(" separator="," close=")">
#{id}
</foreach>
</delete>
</mapper>

@ -0,0 +1,107 @@
package com.flossom.system.controller;
import java.util.List;
import java.io.IOException;
import javax.servlet.http.HttpServletResponse;
import com.flossom.common.core.domain.R;
import com.flossom.common.core.domain.entity.WxUserRemark;
import com.flossom.common.core.domain.req.WxUserIntegralVm;
import com.flossom.common.core.domain.req.WxUserRemarkReq;
import com.flossom.common.core.enums.IntegralChangeTypeEnum;
import com.flossom.common.core.exception.ServiceException;
import com.flossom.common.core.utils.poi.ExcelUtil;
import com.flossom.common.core.web.controller.BaseController;
import com.flossom.common.core.web.domain.AjaxResult;
import com.flossom.common.core.web.page.TableDataInfo;
import com.flossom.common.log.annotation.Log;
import com.flossom.common.log.enums.BusinessType;
import com.flossom.common.security.annotation.RequiresPermissions;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.*;
import com.flossom.system.service.IWxUserRemarkService;
/**
* Controller
*
* @author flossom
* @date 2023-12-21
*/
@RestController
@RequestMapping("/wxUserRemark")
public class WxUserRemarkController extends BaseController {
@Autowired
private IWxUserRemarkService wxUserRemarkService;
/**
*
*/
@RequiresPermissions("system:wxUserRemark:list")
@GetMapping("/list")
public TableDataInfo list(WxUserRemark wxUserRemark) {
startPage();
List<WxUserRemark> list = wxUserRemarkService.selectWxUserRemarkList(wxUserRemark);
return getDataTable(list);
}
/**
*
*/
@RequiresPermissions("system:wxUserRemark:export")
@Log(title = "微信用户备注列", businessType = BusinessType.EXPORT)
@PostMapping("/export")
public void export(HttpServletResponse response, WxUserRemark wxUserRemark) {
List<WxUserRemark> list = wxUserRemarkService.selectWxUserRemarkList(wxUserRemark);
ExcelUtil<WxUserRemark> util = new ExcelUtil<WxUserRemark>(WxUserRemark.class);
util.exportExcel(response, list, "微信用户备注列数据");
}
/**
*
*/
@RequiresPermissions("system:wxUserRemark:query")
@GetMapping(value = "/{id}")
public AjaxResult getInfo(@PathVariable("id") Long id) {
return success(wxUserRemarkService.selectWxUserRemarkById(id));
}
/**
*
*/
@RequiresPermissions("system:wxUserRemark:add")
@Log(title = "微信用户备注列", businessType = BusinessType.INSERT)
@PostMapping
public AjaxResult add(@RequestBody WxUserRemark wxUserRemark) {
return toAjax(wxUserRemarkService.insertWxUserRemark(wxUserRemark));
}
/**
*
*/
@RequiresPermissions("system:wxUserRemark:edit")
@Log(title = "微信用户备注列", businessType = BusinessType.UPDATE)
@PutMapping
public AjaxResult edit(@RequestBody WxUserRemark wxUserRemark) {
return toAjax(wxUserRemarkService.updateWxUserRemark(wxUserRemark));
}
/**
*
*/
@RequiresPermissions("system:wxUserRemark:remove")
@Log(title = "微信用户备注列", businessType = BusinessType.DELETE)
@DeleteMapping("/{ids}")
public AjaxResult remove(@PathVariable Long[] ids) {
return toAjax(wxUserRemarkService.deleteWxUserRemarkByIds(ids));
}
/**
*
*/
@PostMapping("/batchAddRemark")
public R batchAddRemark(@RequestBody @Validated WxUserRemarkReq wxUserRemarkReq) {
wxUserRemarkService.batchAddRemark(wxUserRemarkReq);
return R.ok();
}
}

@ -0,0 +1,64 @@
package com.flossom.system.service;
import com.flossom.common.core.domain.entity.WxUserRemark;
import com.flossom.common.core.domain.req.WxUserRemarkReq;
import java.util.List;
/**
* Service
*
* @author flossom
* @date 2023-12-21
*/
public interface IWxUserRemarkService {
/**
*
*
* @param id
* @return
*/
public WxUserRemark selectWxUserRemarkById(Long id);
/**
*
*
* @param wxUserRemark
* @return
*/
public List<WxUserRemark> selectWxUserRemarkList(WxUserRemark wxUserRemark);
/**
*
*
* @param wxUserRemark
* @return
*/
public int insertWxUserRemark(WxUserRemark wxUserRemark);
/**
*
*
* @param wxUserRemark
* @return
*/
public int updateWxUserRemark(WxUserRemark wxUserRemark);
/**
*
*
* @param ids
* @return
*/
public int deleteWxUserRemarkByIds(Long[] ids);
/**
*
*
* @param id
* @return
*/
public int deleteWxUserRemarkById(Long id);
void batchAddRemark(WxUserRemarkReq wxUserRemarkReq);
}

@ -0,0 +1,122 @@
package com.flossom.system.service.impl;
import java.util.List;
import java.util.stream.Collectors;
import com.flossom.common.core.domain.entity.WxUserRemark;
import com.flossom.common.core.domain.req.WxUserRemarkReq;
import com.flossom.common.core.enums.Status;
import com.flossom.common.core.mapper.WxUserMemberMapper;
import com.flossom.common.core.mapper.WxUserRemarkMapper;
import com.flossom.common.core.utils.DateUtils;
import com.flossom.common.security.utils.SecurityUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import com.flossom.system.service.IWxUserRemarkService;
/**
* Service
*
* @author flossom
* @date 2023-12-21
*/
@Service
public class WxUserRemarkServiceImpl implements IWxUserRemarkService {
@Autowired
private WxUserRemarkMapper wxUserRemarkMapper;
@Autowired
private WxUserMemberMapper wxUserMemberMapper;
/**
*
*
* @param id
* @return
*/
@Override
public WxUserRemark selectWxUserRemarkById(Long id) {
return wxUserRemarkMapper.selectWxUserRemarkById(id);
}
/**
*
*
* @param wxUserRemark
* @return
*/
@Override
public List<WxUserRemark> selectWxUserRemarkList(WxUserRemark wxUserRemark) {
return wxUserRemarkMapper.selectWxUserRemarkList(wxUserRemark);
}
/**
*
*
* @param wxUserRemark
* @return
*/
@Override
public int insertWxUserRemark(WxUserRemark wxUserRemark) {
wxUserRemark.setCreateTime(DateUtils.getNowDate());
return wxUserRemarkMapper.insertWxUserRemark(wxUserRemark);
}
/**
*
*
* @param wxUserRemark
* @return
*/
@Override
public int updateWxUserRemark(WxUserRemark wxUserRemark) {
wxUserRemark.setUpdateTime(DateUtils.getNowDate());
return wxUserRemarkMapper.updateWxUserRemark(wxUserRemark);
}
/**
*
*
* @param ids
* @return
*/
@Override
public int deleteWxUserRemarkByIds(Long[] ids) {
return wxUserRemarkMapper.deleteWxUserRemarkByIds(ids);
}
/**
*
*
* @param id
* @return
*/
@Override
public int deleteWxUserRemarkById(Long id) {
return wxUserRemarkMapper.deleteWxUserRemarkById(id);
}
@Override
public void batchAddRemark(WxUserRemarkReq wxUserRemarkReq) {
if (wxUserRemarkReq.getUserIdList() == null || wxUserRemarkReq.getUserIdList().size() == 0) {
List<Integer> userIdList = wxUserMemberMapper.selectWxUserMemberIdList();
if (userIdList != null && userIdList.size() > 0) {
List<Long> collect = userIdList.stream().map(Integer::longValue).collect(Collectors.toList());
wxUserRemarkReq.setUserIdList(collect);
}
}
if (wxUserRemarkReq.getUserIdList() != null && wxUserRemarkReq.getUserIdList().size() > 0) {
WxUserRemark wxUserRemark = new WxUserRemark();
for (Long userId : wxUserRemarkReq.getUserIdList()) {
wxUserRemark.setUserId(userId);
wxUserRemark.setContent(wxUserRemarkReq.getContent());
wxUserRemark.setStatus(Status.OK.getCode());
wxUserRemark.setCreateTime(DateUtils.getNowDate());
// wxUserRemark.setCreateBy(SecurityUtils.getUsername());
wxUserRemarkMapper.insertWxUserRemark(wxUserRemark);
}
}
}
}
Loading…
Cancel
Save