記事の最後にあるソースコードを入手してください
開発言語:Java
開発ツール:IDEA / Eclipse
データベース:MYSQL5.7
アプリケーションサービス:Tomcat7 / Tomcat8
フレームワークを使用する:springboot + vue
JDKバージョン:jdk1.8
システム導入管理者:ホームページ、パーソナルセンター、会員管理、症例情報管理、歯科医療製品管理、レビューリマインダー管理、予約登録管理、薬剤情報管理、メッセージボード管理、システム管理、注文管理、会員;ホームページ、個人センター、症例治療情報管理、レビューリマインダー管理、予約登録管理、私のコレクション管理、注文管理、フロントページホームページ;ホームページ、歯科医療製品、歯科医療のヒント、メッセージフィードバック、パーソナルセンター、背景管理、ショッピングカート機能。口頭管理プラットフォーム情報の効率的な管理を実現するため。
データベース設計の原則
プログラミングを学ぶと、データベースの設計は設計が必要なシステム機能に基づいていることは誰もが知っています。データ情報を格納するためのデータベースリレーショナルモデルを確立する必要があるため、プログラムに参加しているときにデータを追加する必要はありません。プログラムページに移動し、システムの効率を向上させます。データベースには、情報管理システムの中核・基盤と言える多くの情報が格納されており、追加、削除、変更、検査も行っているため、システムは必要な情報をすばやく見つけることができます。プログラムコードでそれを見つけます。データベース内の情報テーブルの各部分は、特定の関係に従って正確に結合され、配置され、データテーブルに結合されます。
計画は、口頭管理プラットフォームの機能によっていくつかのエンティティ情報に分割されます。エンティティ情報は、ER図によって説明されます。このシステムの主要なエンティティ図は次のとおりです。
管理者情報属性図を図に示します。
メンバー管理エンティティの属性図を図に示します。
ケース訪問情報管理のエンティティ属性図を図に示します。
歯科医療製品管理エンティティの属性図を図に示します。
システム詳細設計
フロントページホーム汎用モジュール
口腔管理プラットフォームでは、図に示すように、口腔管理プラットフォームでホームページ、歯科医療製品、歯科医療のヒント、メッセージフィードバック、パーソナルセンター、背景管理、ショッピングカートなどを表示できます。
図に示すように、ログイン、会員登録、会員登録による会員番号、パスワード、氏名、年齢、携帯電話、メールアドレスなどの情報を取得して登録・ログインしてください。
デンタルケア製品の場合、図に示すように、製品名、価格、製品番号、製品タイプ、ポイント、該当するグループ、使用法、注意事項、およびその他の情報をデンタルケア製品ページに入力してすぐに購入できます。
注文を確認します。注文確認ページで、選択した配送先住所やリストリストなどを入力して、図のように支払うことができます。
配送先住所を追加します。配送先住所追加ページで、連絡先情報、携帯電話番号、デフォルトの住所、選択した住所、その他の追加情報を図のように入力できます。
管理者汎用モジュール
管理者は、図に示すように、登録時に入力したユーザー名、パスワード、および役割を入力してログインします。
管理者は、口腔管理プラットフォームにログインして、ホームページ、パーソナルセンター、メンバー管理、症例情報管理、歯科医療製品管理、レビューリマインダー管理、予約登録管理、薬剤情報管理を表示できます。
メッセージボード管理、システム管理、注文管理およびその他の情報。
パーソナルセンターのパーソナルセンターページでは、図1に示すように、元のパスワード、新しいパスワード、パスワードの確認、およびその他の情報を追加および変更できます。図2に示すように、必要に応じて個人情報を追加、変更、または削除することもできます。
会員管理では、会員管理ページで会員番号、氏名、性別、携帯電話、年齢、性別、携帯電話、メール、ポイントなどの情報を確認したり、詳細、変更、削除などの操作を行うことができます。図に示すように、必要に応じてメンバー管理
症例訪問情報管理、症例訪問情報管理ページでは、会員番号、氏名、性別、携帯電話、年齢、IDカード、薬剤投与量、訪問情報、訪問時間などの情報を表示し、症例を管理することができます。必要に応じて情報にアクセスし、図に示すように、変更または削除、およびその他の詳細な操作
デンタルケア製品管理、デンタルケア製品管理ページで製品番号、製品名、製品タイプ、写真、ポイント、該当するグループ、使用方法、注意事項などを表示し、必要に応じて詳細を表示し、デンタルケア製品管理を追加できます、変更または削除、およびその他の詳細な操作(図を参照)
カルーセル;このページはカルーセルの管理インターフェイスです。管理者は、このページでホームページカルーセルを管理し、新しい操作を作成してカルーセルに新しい画像を追加し、アップロードされた画像を変更し、図に示すように画像を削除できます。
アポイントメント登録管理は、アポイントメント登録管理ページで、会員番号、氏名、アポイントメント時間、備考、レビュー返信、レビューステータス、レビュー等の詳細を表示し、必要に応じてアポイントメント登録管理を追加、変更、削除することができます。 。図に示すように、操作
医薬品情報管理は、医薬品情報管理ページで、医薬品番号、医薬品名、写真、備考、機能と適応症、副作用、禁忌などを表示し、必要に応じて医薬品情報管理の詳細、追加、変更、削除を行うことができます。 。図に示すように、操作
掲示板管理では、掲示板管理ページでユーザー名、メッセージ内容、返信内容などを表示し、必要に応じて掲示板管理の追加、変更、削除などの詳細な操作を図のように行うことができます。
メンバー汎用モジュール
メンバーは、口頭管理プラットフォームにログインして、ホームページ、パーソナルセンター、ケース情報管理、レビューリマインダー管理、予約登録管理、私のコレクション管理、注文管理、およびその他のコンテンツを表示します。
個人情報、個人情報ページでは、会員番号、氏名、性別、携帯電話、年齢、性別、携帯電話、メール、ポイントなどの情報を入力することにより、必要に応じて個人情報を変更することもできます。形
私のコレクション管理では、私のコレクション管理ページで、図に示すように、コレクションID、テーブル名、コレクション名、コレクション画像、およびその他の情報コンテンツを表示し、必要に応じてコレクション管理のその他の詳細な操作を変更または削除できます。
図に示すように、予約登録管理ページで、会員番号、氏名、予約時間、備考、監査回答、監査状況、監査およびその他の詳細と削除の内容を入力することにより、予約登録管理を行います。
注文管理、注文管理ページで、注文番号、製品名、製品イメージ、購入数量、価格/ポイント、割引価格、合計価格/合計ポイント、合計割引価格、支払いタイプ、ステータス、住所などを入力します。詳細については、図のように削除してください
コードの一部:
package com.controller;
import java.text.SimpleDateFormat;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.Calendar;
import java.util.Map;
import java.util.HashMap;
import java.util.Iterator;
import java.util.Date;
import java.util.List;
import javax.servlet.http.HttpServletRequest;
import com.utils.ValidatorUtils;
import org.apache.commons.lang3.StringUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.PathVariable;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.bind.annotation.RestController;
import com.baomidou.mybatisplus.mapper.EntityWrapper;
import com.baomidou.mybatisplus.mapper.Wrapper;
import com.annotation.IgnoreAuth;
import com.entity.CartEntity;
import com.entity.view.CartView;
import com.service.CartService;
import com.service.TokenService;
import com.utils.PageUtils;
import com.utils.R;
import com.utils.MPUtil;
import com.utils.CommonUtil;
/**
* 购物车表
* 后端接口
* @author
* @email
* @date 2021-01-13 16:52:48
*/
@RestController
@RequestMapping("/cart")
public class CartController {
@Autowired
private CartService cartService;
/**
* 后端列表
*/
@RequestMapping("/page")
public R page(@RequestParam Map<String, Object> params,CartEntity cart, HttpServletRequest request){
if(!request.getSession().getAttribute("role").toString().equals("管理员")) {
cart.setUserid((Long)request.getSession().getAttribute("userId"));
}
EntityWrapper<CartEntity> ew = new EntityWrapper<CartEntity>();
PageUtils page = cartService.queryPage(params, MPUtil.sort(MPUtil.between(MPUtil.likeOrEq(ew, cart), params), params));
return R.ok().put("data", page);
}
/**
* 前端列表
*/
@RequestMapping("/list")
public R list(@RequestParam Map<String, Object> params,CartEntity cart, HttpServletRequest request){
EntityWrapper<CartEntity> ew = new EntityWrapper<CartEntity>();
PageUtils page = cartService.queryPage(params, MPUtil.sort(MPUtil.between(MPUtil.likeOrEq(ew, cart), params), params));
return R.ok().put("data", page);
}
/**
* 列表
*/
@RequestMapping("/lists")
public R list( CartEntity cart){
EntityWrapper<CartEntity> ew = new EntityWrapper<CartEntity>();
ew.allEq(MPUtil.allEQMapPre( cart, "cart"));
return R.ok().put("data", cartService.selectListView(ew));
}
/**
* 查询
*/
@RequestMapping("/query")
public R query(CartEntity cart){
EntityWrapper< CartEntity> ew = new EntityWrapper< CartEntity>();
ew.allEq(MPUtil.allEQMapPre( cart, "cart"));
CartView cartView = cartService.selectView(ew);
return R.ok("查询购物车表成功").put("data", cartView);
}
/**
* 后端详情
*/
@RequestMapping("/info/{id}")
public R info(@PathVariable("id") Long id){
CartEntity cart = cartService.selectById(id);
return R.ok().put("data", cart);
}
/**
* 前端详情
*/
@RequestMapping("/detail/{id}")
public R detail(@PathVariable("id") Long id){
CartEntity cart = cartService.selectById(id);
return R.ok().put("data", cart);
}
/**
* 后端保存
*/
@RequestMapping("/save")
public R save(@RequestBody CartEntity cart, HttpServletRequest request){
cart.setId(new Date().getTime()+new Double(Math.floor(Math.random()*1000)).longValue());
//ValidatorUtils.validateEntity(cart);
cart.setUserid((Long)request.getSession().getAttribute("userId"));
cartService.insert(cart);
return R.ok();
}
/**
* 前端保存
*/
@RequestMapping("/add")
public R add(@RequestBody CartEntity cart, HttpServletRequest request){
cart.setId(new Date().getTime()+new Double(Math.floor(Math.random()*1000)).longValue());
//ValidatorUtils.validateEntity(cart);
cartService.insert(cart);
return R.ok();
}
/**
* 修改
*/
@RequestMapping("/update")
public R update(@RequestBody CartEntity cart, HttpServletRequest request){
//ValidatorUtils.validateEntity(cart);
cartService.updateById(cart);//全部更新
return R.ok();
}
/**
* 删除
*/
@RequestMapping("/delete")
public R delete(@RequestBody Long[] ids){
cartService.deleteBatchIds(Arrays.asList(ids));
return R.ok();
}
/**
* 提醒接口
*/
@RequestMapping("/remind/{columnName}/{type}")
public R remindCount(@PathVariable("columnName") String columnName, HttpServletRequest request,
@PathVariable("type") String type,@RequestParam Map<String, Object> map) {
map.put("column", columnName);
map.put("type", type);
if(type.equals("2")) {
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
Calendar c = Calendar.getInstance();
Date remindStartDate = null;
Date remindEndDate = null;
if(map.get("remindstart")!=null) {
Integer remindStart = Integer.parseInt(map.get("remindstart").toString());
c.setTime(new Date());
c.add(Calendar.DAY_OF_MONTH,remindStart);
remindStartDate = c.getTime();
map.put("remindstart", sdf.format(remindStartDate));
}
if(map.get("remindend")!=null) {
Integer remindEnd = Integer.parseInt(map.get("remindend").toString());
c.setTime(new Date());
c.add(Calendar.DAY_OF_MONTH,remindEnd);
remindEndDate = c.getTime();
map.put("remindend", sdf.format(remindEndDate));
}
}
Wrapper<CartEntity> wrapper = new EntityWrapper<CartEntity>();
if(map.get("remindstart")!=null) {
wrapper.ge(columnName, map.get("remindstart"));
}
if(map.get("remindend")!=null) {
wrapper.le(columnName, map.get("remindend"));
}
if(!request.getSession().getAttribute("role").toString().equals("管理员")) {
wrapper.eq("userid", (Long)request.getSession().getAttribute("userId"));
}
int count = cartService.selectCount(wrapper);
return R.ok().put("count", count);
}
}